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 Express框架中处理404页面一个方式
May 28 NodeJs
nodejs中使用monk访问mongodb
Jul 06 NodeJs
轻松创建nodejs服务器(2):nodejs服务器的构成分析
Dec 18 NodeJs
NodeJS中Buffer模块详解
Jan 07 NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 NodeJs
NodeJS遍历文件生产文件列表功能示例
Jan 22 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
nodejs个人博客开发第七步 后台登陆
Apr 12 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
深入理解NodeJS 多进程和集群
Oct 17 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
Nodejs实现WebSocket代码实例
May 19 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数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
PHP 简易输出CSV表格文件的方法详解
2013/06/20 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
python正则表达式re模块详解
2014/06/25 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
python有几个版本
2020/06/17 Python
进程的查看和调度分别使用什么命令
2015/03/25 面试题
校领导推荐信
2013/11/01 职场文书
创业计划书六个要素
2013/12/26 职场文书
管道维修工岗位职责
2013/12/27 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
银行内勤岗位职责
2014/04/09 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
2015年人事科工作总结
2015/04/28 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
7个关于Python的经典基础案例
2021/11/07 Python
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers