nodejs socket实现的服务端和客户端功能示例


Posted in NodeJs onJune 02, 2017

本文实例讲述了nodejs socket实现的服务端和客户端功能。分享给大家供大家参考,具体如下:

使用node.js的net模块能很快的开发出基于TCP的服务端和客户端。直接贴代码。

server.js

/**
 * Created with JetBrains WebStorm.
 * User: Administrator
 * Date: 12-10-26
 * Time: 下午3:44
 * To change this template use File | Settings | File Templates.
 */
var net = require('net');
var timeout = 20000;//超时
var listenPort = 7003;//监听端口
var server = net.createServer(function(socket){
  // 我们获得一个连接 - 该连接自动关联一个socket对象
  console.log('connect: ' +
    socket.remoteAddress + ':' + socket.remotePort);
  socket.setEncoding('binary');
  //超时事件
//  socket.setTimeout(timeout,function(){
//    console.log('连接超时');
//    socket.end();
//  });
  //接收到数据
  socket.on('data',function(data){
    console.log('recv:' + data);
  });
  //数据错误事件
  socket.on('error',function(exception){
    console.log('socket error:' + exception);
    socket.end();
  });
  //客户端关闭事件
  socket.on('close',function(data){
    console.log('close: ' +
      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.js

/**
 * Created with JetBrains WebStorm.
 * User: Administrator
 * Date: 12-10-26
 * Time: 下午3:56
 * To change this template use File | Settings | File Templates.
 */
var net = require('net');
var port = 7003;
var host = '127.0.0.1';
var client= new net.Socket();
client.setEncoding('binary');
//连接到服务端
client.connect(port,host,function(){
  client.write('hello my client');
});
client.on('data',function(data){
  console.log('recv data:'+ data);
});
client.on('error',function(error){
  console.log('error:'+error);
  client.destory();
});
client.on('close',function(){
  console.log('Connection closed');
});

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
初始Nodejs
Nov 08 NodeJs
NodeJS Web应用监听sock文件实例
Feb 18 NodeJs
async/await与promise(nodejs中的异步操作问题)
Mar 03 NodeJs
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
May 13 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 NodeJs
nodejs简单抓包工具使用详解
Aug 23 NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
Oct 25 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
NodeJs使用Mysql模块实现事务处理实例
May 31 #NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 #NodeJs
详解nodeJS之路径PATH模块
May 31 #NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 #NodeJs
nodejs操作mysql实现增删改查的实例
May 28 #NodeJs
详解nodejs微信jssdk后端接口
May 25 #NodeJs
mac下的nodejs环境安装的步骤
May 24 #NodeJs
You might like
php 文件上传类代码
2011/08/06 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
python入门教程之识别验证码
2017/03/04 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
Python切片操作深入详解
2018/07/27 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
django页面跳转问题及注意事项
2019/07/18 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
Python json读写方式和字典相互转化
2020/04/18 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
后备干部考察材料
2014/02/12 职场文书
三八节主持词
2014/03/17 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
2016关于学习党章的心得体会
2016/01/15 职场文书