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开发环境配置与使用
Nov 17 NodeJs
nodejs 中模拟实现 emmiter 自定义事件
Feb 22 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
详解使用nodeJs安装Vue-cli
May 17 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
详解Nodejs之npm&package.json
Jun 15 NodeJs
nodejs实现的简单web服务器功能示例
Mar 15 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
Feb 02 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
Nodejs libuv运行原理详解
Aug 21 NodeJs
nodejs对mongodb数据库的增加修删该查实例代码
Jan 05 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+MYSQL的文章管理系统(二)
2006/10/09 PHP
php注销代码(session注销)
2012/05/31 PHP
php数组使用规则分析
2015/02/27 PHP
WordPress网站性能优化指南
2015/11/18 PHP
php session_decode函数用法讲解
2019/05/26 PHP
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
对pandas处理json数据的方法详解
2019/02/08 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
基于python3实现倒叙字符串
2020/02/18 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
会计出纳员的自我评价
2014/01/15 职场文书
旅游市场营销方案
2014/03/09 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
小学开学标语
2014/07/01 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
redis内存空间效率问题的深入探究
2021/05/17 Redis
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL