net.Server TCP服務(wù)器模塊

2018-07-11 09:49 更新

這個類(net.Server)是用來建立TCP 或者UNIX 服務(wù)器的。 下面有一個在8124端口等待連結(jié)的echo server 的例子:

var net = require('net');
var server = net.createServer(function (stream) {
stream.setEncoding('utf8');
stream.on('connect', function () {
stream.write('hello\r\n');
});
stream.on('data', function (data) {
stream.write(data);
});
stream.on('end', function () {
stream.write('goodbye\r\n');
stream.end();
});
});
server.listen(8124, 'localhost');

如果要使用UNIX SOCKET '/tmp/echo.sock',最后一行需要改成。

server.listen('/tmp/echo.sock');

如下是該對象可以觸發(fā)的事件:

Event: 'connection'

function (stream) {}

當(dāng)一個新連接建立后觸發(fā)(發(fā)出)這個事件,stream 是net.Stream 類的一個實(shí)例。

Event: 'close'

function () {}

當(dāng)一個SERVER 關(guān)閉的時候觸發(fā)(發(fā)出)這個事件。

net.createServer(connectionListener)

建立一個新的TCP SERVER。connectionListener 參數(shù)會自動設(shè)置為'connection'事件的監(jiān)聽函數(shù)。

server.listen(port, [host], [callback])

在指定端口和主機(jī)上接受一個連接請求。如果HOST 這個參數(shù)忘記寫了,該SERVER 將在機(jī)器的所有IPV4地 址(INADDR_ANY)上接受連接請求。

這是一個異步函數(shù),最后一個參數(shù)‘callback’將在服務(wù)器被綁定(應(yīng)當(dāng)是指當(dāng)listen 正常執(zhí)行完并且進(jìn)入正常監(jiān)聽 流程后)后被調(diào)用。

server.listen(path, [callback])

建立一個UNIX SOCKET SERVER 并監(jiān)聽在指定路徑上的連接。 這個函數(shù)是一個異步方法,最后一個參數(shù)‘callback’將在服務(wù)器被綁定(應(yīng)當(dāng)是指當(dāng)listen 正常執(zhí)行完并且進(jìn)入正 常監(jiān)聽流程后)后被調(diào)用。

server.listenFD(fd)

建立一個SERVER 并監(jiān)聽在給定的文件描述符上。 這個文件描述符必須是已經(jīng)在其上調(diào)用過bind(2)、listen(2)系統(tǒng)調(diào)用的。

server.close()

停止服務(wù)器,此函數(shù)是異步的。服務(wù)器在觸發(fā)'close'事件后才會最終關(guān)閉。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號