nodejs socket服务端和客户端简单通信功能


Posted in NodeJs onSeptember 14, 2017

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

运行结果如下

nodejs socket服务端和客户端简单通信功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
NodeJS远程代码执行
Aug 28 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
nodejs使用express获取get和post传值及session验证的方法
Nov 09 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs爬虫初试superagent和cheerio
Mar 05 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
Nodejs模块的调用操作实例分析
Dec 25 NodeJs
详解NodeJS Https HSM双向认证实现
Mar 12 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 NodeJs
详解nodejs内置模块
May 06 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 #NodeJs
nodejs对express中next函数的一些理解
Sep 08 #NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
Sep 08 #NodeJs
nodejs创建简易web服务器与文件读写的实例
Sep 07 #NodeJs
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
Sep 06 #NodeJs
Nodejs进阶之服务端字符编解码和乱码处理
Sep 04 #NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 #NodeJs
You might like
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Django中的forms组件实例详解
2018/11/08 Python
django 单表操作实例详解
2019/07/30 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
医科大学毕业生自荐信
2014/02/03 职场文书
集体生日活动方案
2014/08/18 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
死亡证明书样本说明
2014/10/18 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
php双向队列实例讲解
2021/11/17 PHP