nodejs-底層網(wǎng)絡(luò)-v1.0.0

簡(jiǎn)單示例

//steps-01:建服務(wù)器
//tcp-server.js
var net = require('net');

var PORT = 3000;
var HOST = '127.0.0.1';

var server = net.createServer(function(socket){
    console.log('服務(wù)端:收到來(lái)自客戶端的請(qǐng)求');

    socket.on('data', function(data){
        console.log('服務(wù)端:收到客戶端數(shù)據(jù),內(nèi)容為{'+ data +'}');

        // 給客戶端返回?cái)?shù)據(jù)
        socket.write('你好,我是服務(wù)端');
    });

    socket.on('close', function(){
         console.log('服務(wù)端:客戶端連接斷開(kāi)');
    });
});
server.listen(PORT, HOST, function(){
    console.log('服務(wù)端:開(kāi)始監(jiān)聽(tīng)來(lái)自客戶端的請(qǐng)求');
});

//steps-02:啟服務(wù)器
node tcp-server.js

//steps-03:建客戶端
//tcp-client.js
var net = require('net');

var PORT = 3000;
var HOST = '127.0.0.1';

var client = net.createConnection(PORT, HOST);

client.on('connect', function(){
    console.log('客戶端:已經(jīng)與服務(wù)端建立連接');
});

client.on('data', function(data){
    console.log('客戶端:收到服務(wù)端數(shù)據(jù),內(nèi)容為{'+ data +'}');
});

client.on('close', function(data){
    console.log('客戶端:連接斷開(kāi)');
});

client.end('你好,我是客戶端');

//steps-04:啟客戶端
node tcp-client.js

屬性歸類(lèi)

連接相關(guān)
socket.connect():有3種不同的參數(shù),用于不同的場(chǎng)景;
socket.setTimeout():用來(lái)進(jìn)行連接超時(shí)設(shè)置。
socket.setKeepAlive():用來(lái)設(shè)置長(zhǎng)連接。
socket.destroy()
socket.destroyed

讀寫(xiě)相關(guān)
socket.write()
socket.end()
socket.pause()
socket.resume()
socket.setEncoding()
socket.setNoDelay()

屬性相關(guān)
socket.bufferSize
socket.bytesRead
socket.bytesWritten

事件循環(huán)
socket.ref()
socket.unref()

地址相關(guān)
socket.address()
socket.remoteAddress
socket.remoteFamily
socket.remotePort
socket.localAddress
socket.localPort

事件簡(jiǎn)介

data:收到數(shù)據(jù)。
connect:連接建立。
close:連接斷開(kāi)。
end:連接結(jié)束。
error:連接出錯(cuò)
timeout:連接超時(shí)。
drain:
lookup:域名解析。

相關(guān)文檔

https://nodejs.org/api/net.html#net_socket_destroy_exception

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,632評(píng)論 19 139
  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測(cè)試 ...
    KeKeMars閱讀 6,609評(píng)論 0 6
  • 人真是一個(gè)矛盾的結(jié)合體,一切的一切都是由自己所鋪墊的,但是確在承受著它所帶來(lái)的結(jié)果,當(dāng)你一個(gè)人的時(shí)候,你的人你的心...
    Paulinexhy閱讀 189評(píng)論 0 0

友情鏈接更多精彩內(nèi)容