本文實例講述了通過node.js的net模塊實現nodejs socket服務端和客戶端簡單通信功能,可以用作客戶端對服務端的端口監聽以及事件回執。
server端代碼
var net = require('net');//模塊引入var listenPort = 8080;//監聽端口var server = net.createServer(function(socket){ // 創建socket服務端 console.log('connect: ' + socket.remoteAddress + ':' + socket.remotePort); socket.setEncoding('binary'); //接收到數據 socket.on('data',function(data){ console.log('client send:' + data); });socket.write('Hello client!/r/n'); // socket.pipe(socket); //數據錯誤事件 socket.on('error',function(exception){ console.log('socket error:' + exception); socket.end(); }); //客戶端關閉事件 socket.on('close',function(data){ console.log('client closed!'); // socket.remoteAddress + ' ' + socket.remotePort); });}).listen(listenPort);//服務器監聽事件server.on('listening',function(){ console.log("server listening:" + server.address().port);});//服務器錯誤事件server.on("error",function(exception){ console.log("server error:" + exception);});
client端代碼
var net = require('net');var port = 8080;var host = '127.0.0.1';var client= new net.Socket();//創建socket客戶端client.setEncoding('binary');//連接到服務端client.connect(port,host,function(){ client.write('hello server'); //向端口寫入數據到達服務端});client.on('data',function(data){ console.log('from server:'+ data); //得到服務端返回來的數據});client.on('error',function(error){//錯誤出現之后關閉連接 console.log('error:'+error); client.destory();});client.on('close',function(){//正常關閉連接 console.log('Connection closed');});
運行結果如下
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答