node.js的net模塊實現socket通信


本文實例講述了通過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');
});

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM