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中exports与module.exports的区别详细介绍
Jan 14 NodeJs
nodeJS代码实现计算交社保是否合适
Mar 09 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
nodejs 的 session 简单使用
Jun 06 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
Nodejs基于LRU算法实现的缓存处理操作示例
Mar 17 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
Apr 14 NodeJs
nodejs集成sqlite使用示例
Jun 05 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 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
关于页面优化和伪静态
2009/10/11 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
php中Snoopy类用法实例
2015/06/19 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
PHP反射实际应用示例
2019/04/03 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
Javascript 布尔型分析
2008/12/22 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
python实现给数组按片赋值的方法
2015/07/28 Python
Python编写Windows Service服务程序
2018/01/04 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
深入解析Python小白学习【操作列表】
2019/03/23 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
Python os模块常用方法和属性总结
2020/02/20 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
社区志愿者活动方案
2014/08/18 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
初中体育教学随笔
2015/08/15 职场文书
话题作文之财富(600字)
2019/12/03 职场文书