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 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
nodejs如何获取时间戳与时间差
Aug 03 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
nodejs读写json文件的简单方法(必看)
Mar 09 NodeJs
ajax +NodeJS 实现图片上传实例
Jun 06 NodeJs
详解Nodejs之npm&package.json
Jun 15 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
搭建一个nodejs脚手架的方法步骤
Jun 28 NodeJs
监控Nodejs的性能实例代码
Jul 02 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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
php简单获取目录列表的方法
2015/03/24 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
PHP类的特性实例分析
2016/09/28 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
weblogic面试题
2016/03/07 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
经理管理专业自荐信范文
2013/12/31 职场文书
鲜花方阵解说词
2014/02/13 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
护士长竞聘书
2014/03/31 职场文书
学习型班组申报材料
2014/05/31 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015暑假假期总结
2015/07/13 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript