1. 程式人生 > >【指令碼語言】【RINGO JS】模組 net

【指令碼語言】【RINGO JS】模組 net

模組 net

該模組為使用 TCP 和 UDP socket的網路提供支援。 socket表示客戶端和伺服器程式之間通過網路的連線。 底層的本地繫結是由 java.net 包提供的。

Example

// A simple TCP server
var io = require('io');
var net = require('net');

var server = new net.ServerSocket();
server.bind('127.0.0.1', 6789);

var socket = server.accept();
var stream = new io.TextStream(socket.getStream(), {
  'charset': 'US-ASCII'
});

var line;
do {
  // Read one line from the client
  line = stream.readLine();
  console.log(line);

  // Write back to the client
  stream.writeLine("Received: " + line);
} while (line.indexOf("END") < 0);

stream.close();
socket.close();
server.close();

Class DatagramSocket

Instance Methods

Class ServerSocket

Instance Methods

Class Socket

Instance Methods


DatagramSocket ()

DatagramSocket類用於建立一個UDP socket。


DatagramSocket.prototype. bind (host, port)

將socket繫結到本地地址和埠。 如果地址或埠被省略,系統將選擇本地地址和埠來繫結socket.

Parameters

String host

address (interface) to which the socket will be bound.

Number port

port number to bind the socket to.


DatagramSocket.prototype. close ()

立即關閉socket


DatagramSocket.prototype. connect (host, port)

將socket連線到遠端地址。 如果DatagramSocket已連線,則它只能將資料傳送到指定地址並從指定地址接收資料。 預設情況下DatagramSockets沒有連線。

Parameters

String host

IP address or hostname

Number port

port number or service name


DatagramSocket.prototype. disconnect ()

斷開socket。


DatagramSocket.prototype. getTimeout ()

返回此 DatagramSocket 的當前超時。值為零意味著禁用了超時,即 receive() 永遠不會超時。

Returns

Number

the current timeout


DatagramSocket.prototype. isBound ()

返回這個socket是否繫結到一個地址。

Returns

Boolean

true if the socket has been bound to an address


DatagramSocket.prototype. isClosed ()

返回socket是否關閉。

Returns

Boolean

true if the socket has been closed


DatagramSocket.prototype. isConnected ()

返回socket是否連線。

Returns

Boolean

true if the socket has been connected to a remote address


DatagramSocket.prototype. localAddress ()

獲取此socket繫結的本地地址。這返回具有包含作為字串的 IP 地址的屬性地址的物件以及包含埠號的屬性埠,例如 {address: '127.0.0.1', port: 8080}

Returns

Object

an address descriptor


DatagramSocket.prototype. receive (length, buffer)

從此socket接收資料報資料包。此方法不會返回發件人的 IP 地址,所以它應該與 connect()一起使用。

Parameters

Number length

the maximum number of bytes to receive

ByteArray buffer

optional buffer to store bytes in

Returns

ByteArray

the received data


DatagramSocket.prototype. receiveFrom (length, buffer)

從此socket接收資料報資料包。此方法返回具有以下屬性的物件:

  • address: 發件人的IP地址作為字串
  • port: 發件人的埠號
  • data: 收到的資料

Parameters

Number length

the maximum number of bytes to receive

ByteArray buffer

optional buffer to store bytes in

Returns

Object

the received packet


DatagramSocket.prototype. remoteAddress ()

獲取此socket連線的遠端地址。這返回具有包含作為字串的 IP 地址的屬性地址的物件以及包含埠號的屬性埠,例如 {address: '127.0.0.1', port: 8080}.

Returns

Object

an address descriptor


DatagramSocket.prototype. send (data)

從這個socket傳送一個數據報包。此方法不允許指定收件人的IP地址,所以它應該與 connect() 一起使用。

Parameters

Binary data

the data to send


DatagramSocket.prototype. sendTo (host, port, data)

從這個socket傳送一個數據報包到指定的地址。

Parameters

String host

the IP address of the recipient

Number port

the port number

Binary data

the data to send


DatagramSocket.prototype. setTimeout (timeout)

使用指定的超時啟用/禁用超時,以毫秒為單位。通過將此選項設定為非零超時,對此 DatagramSocket 的 receive() 呼叫將僅阻塞這段時間。

Parameters

Number timeout

timeout in milliseconds


ServerSocket ()

這個類實現一個伺服器socket。伺服器socket等待通過網路進入的請求。


ServerSocket.prototype. accept ()

偵聽對此socket的連線並返回一個新的 socket物件。該方法會阻塞,直到建立連線。

Returns

Socket

a newly connected socket object


ServerSocket.prototype. bind (host, port)

將socket繫結到本地地址和埠。如果地址或埠被省略,系統將選擇本地地址和埠來繫結socket。

Parameters

String host

address (interface) to which the socket will be bound.

Number port

port number to bind the socket to.


ServerSocket.prototype. close ()

立即關閉socket


ServerSocket.prototype. getTimeout ()

返回此 ServerSocket 的當前超時。值為零意味著超時被禁用,即 accept() 永遠不會超時

Returns

Number

the current timeout


ServerSocket.prototype. isBound ()

返回這個socket是否繫結到一個地址。

Returns

Boolean

true if the socket has been bound to an address


ServerSocket.prototype. isClosed ()

返回socket是否關閉。

Returns

Boolean

true if the socket has been closed


ServerSocket.prototype. localAddress ()

獲取該socket繫結的本地地址。這返回一個具有包含作為字串的 IP 地址的屬性地址的物件和包含埠號的屬性埠,例如 {address: '127.0.0.1', port: 8080}

Returns

Object

an address descriptor


ServerSocket.prototype. setTimeout (timeout)

使用指定的超時啟用/禁用超時,以毫秒為單位。如果將此選項設定為非零超時,則對此 ServerSocket 的 accept() 呼叫將僅阻塞這段時間。

Parameters

Number timeout

timeout in milliseconds


Socket ()

Socket 類用於建立一個 TCP socket。在能夠傳送和接收資料之前,新建立的socket必須連線到遠端地址。


Socket.prototype. bind (host, port)

將socket繫結到本地地址和埠。如果地址或埠被省略,系統將選擇本地地址和埠來繫結socket。

Parameters

String host

address (interface) to which the socket will be bound.

Number port

port number to bind the socket to.


Socket.prototype. close ()

立即關閉socket


Socket.prototype. connect (host, port, [timeout])

在socket上啟動連線。連線超時連線到指定主機上的遠端埠。發生故障時引發異常。

Parameters

String host

IP address or hostname

Number port

port number or service name

Number [timeout]

optional timeout value in milliseconds


Socket.prototype. getStream ()

獲取此socket的I/O 流。

Returns

Stream

a binary stream

See

io.Stream


Socket.prototype. getTimeout ()

返回此 Socket 的當前超時值。值為零意味著禁用超時,即 read() 永遠不會超時。

Returns

Number

the current timeout


Socket.prototype. isBound ()

返回此socket是否繫結到地址。

Returns

 

true if the socket has been bound to an address


Socket.prototype. isClosed ()

返回socket是否關閉。

Returns

 

true if the socket has been closed


Socket.prototype. isConnected ()

返回socket是否連線。

Returns

 

true if the socket has been connected to a remote address


Socket.prototype. localAddress ()

獲取此socket繫結的本地地址。這返回一個具有包含作為字串的 IP 地址的屬性地址的物件和包含埠號的屬性埠,例如 {address: '127.0.0.1', port: 8080}

Returns

Object

an address descriptor


Socket.prototype. remoteAddress ()

獲取此socket連線的遠端地址。這將返回一個包含 IP 地址屬性地址作為字串的屬性物件和一個包含埠號的屬性埠,例如 {address: '127.0.0.1', port: 8080}

Returns

Object

an address descriptor


Socket.prototype. setTimeout (timeout)

使用指定的超時啟用/禁用超時,以毫秒為單位。如果將此選項設定為非零超時,則此socket流上的 read() 將僅阻塞此時間量。

Parameters

Number timeout

timeout in milliseconds