溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nodejs中socket怎么實現(xiàn)服務(wù)端和客戶端功能

發(fā)布時間:2021-07-07 14:37:59 來源:億速云 閱讀:175 作者:小新 欄目:web開發(fā)

小編給大家分享一下nodejs中socket怎么實現(xiàn)服務(wù)端和客戶端功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

具體如下:

使用node.js的net模塊能很快的開發(fā)出基于TCP的服務(wù)端和客戶端。直接貼代碼。

server.js

/**
 * Created with JetBrains WebStorm.
 * Date: 12-10-26
 * Time: 下午3:44
 * To change this template use File | Settings | File Templates.
 */
var net = require('net');
var timeout = 20000;//超時
var listenPort = 7003;//監(jiān)聽端口
var server = net.createServer(function(socket){
  // 我們獲得一個連接 - 該連接自動關(guān)聯(lián)一個socket對象
  console.log('connect: ' +
    socket.remoteAddress + ':' + socket.remotePort);
  socket.setEncoding('binary');
  //超時事件
//  socket.setTimeout(timeout,function(){
//    console.log('連接超時');
//    socket.end();
//  });
  //接收到數(shù)據(jù)
  socket.on('data',function(data){
    console.log('recv:' + data);
  });
  //數(shù)據(jù)錯誤事件
  socket.on('error',function(exception){
    console.log('socket error:' + exception);
    socket.end();
  });
  //客戶端關(guān)閉事件
  socket.on('close',function(data){
    console.log('close: ' +
      socket.remoteAddress + ' ' + socket.remotePort);
  });
}).listen(listenPort);
//服務(wù)器監(jiān)聽事件
server.on('listening',function(){
  console.log("server listening:" + server.address().port);
});
//服務(wù)器錯誤事件
server.on("error",function(exception){
  console.log("server error:" + exception);
});

client.js

/**
 * Created with JetBrains WebStorm.
 * User: Administrator
 * Date: 12-10-26
 * Time: 下午3:56
 * To change this template use File | Settings | File Templates.
 */
var net = require('net');
var port = 7003;
var host = '127.0.0.1';
var client= new net.Socket();
client.setEncoding('binary');
//連接到服務(wù)端
client.connect(port,host,function(){
  client.write('hello my client');
});
client.on('data',function(data){
  console.log('recv data:'+ data);
});
client.on('error',function(error){
  console.log('error:'+error);
  client.destory();
});
client.on('close',function(){
  console.log('Connection closed');
});

看完了這篇文章,相信你對“nodejs中socket怎么實現(xiàn)服務(wù)端和客戶端功能”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI