【指令碼語言】【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
- bind(host, port)
- close()
- connect(host, port)
- disconnect()
- getTimeout()
- isBound()
- isClosed()
- isConnected()
- localAddress()
- receive(length, buffer)
- receiveFrom(length, buffer)
- remoteAddress()
- send(data)
- sendTo(host, port, data)
- setTimeout(timeout)
Class ServerSocket
Instance Methods
- accept()
- bind(host, port)
- close()
- getTimeout()
- isBound()
- isClosed()
- localAddress()
- setTimeout(timeout)
Class Socket
Instance Methods
- bind(host, port)
- close()
- connect(host, port, [timeout])
- getStream()
- getTimeout()
- isBound()
- isClosed()
- isConnected()
- localAddress()
- remoteAddress()
- setTimeout(timeout)
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
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 |