博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js的net模块实现socket通信
阅读量:6836 次
发布时间:2019-06-26

本文共 1496 字,大约阅读时间需要 4 分钟。

本文实例讲述了通过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');});

  

转载于:https://www.cnblogs.com/BlingSun/p/9181463.html

你可能感兴趣的文章
Eclipse 导入 Android studio Exception Ljava/lang/UnsatisfiedLinkEror
查看>>
Android Studio 打包签名发布New Key Store
查看>>
01-查看系统整体性能情况:sar
查看>>
privot函数使用
查看>>
Beginning Silverlight 4 in C#-Silverlight控件
查看>>
用户及场景分析
查看>>
Tool.js
查看>>
Java线程池 ExecutorService
查看>>
Windows Phone 8: Evolution of the Runtime and Application Compatibility
查看>>
NOIP 跳石头
查看>>
那些有趣的博客
查看>>
类和对象的定义
查看>>
Java-GC-标记清除算法
查看>>
(转载)Java多线程入门(一)
查看>>
[C#]中获取当前程序运行路径的方法
查看>>
我的第一天
查看>>
SGU 164.Airline(结论题)
查看>>
findlibrary returned null
查看>>
scala学习手记28 - Execute Around模式
查看>>
Filebeat的工作原理
查看>>