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开发cli项目实例
Jun 03 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
详解nodejs模板引擎制作
Jun 14 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
nodejs更新package.json中的dependencies依赖到最新版本的方法
Oct 10 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 NodeJs
基于nodejs的微信JS-SDK简单应用实现
May 21 NodeJs
nodejs log4js 使用详解
May 31 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 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实现水仙花数示例分享
2014/04/03 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
python获取代理IP的实例分享
2018/05/07 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
python实现简单图片物体标注工具
2019/03/18 Python
浅谈python中get pass用法
2019/03/19 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
财务会计毕业生个人求职信
2014/02/03 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
家长会主持词
2014/03/26 职场文书
授权委托书怎么写
2014/04/03 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书