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 npm package.json中文文档
Sep 04 NodeJs
nodejs中实现sleep功能实例
Mar 24 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
windows 下安装nodejs 环境变量设置
Feb 02 NodeJs
nodejs爬虫遇到的乱码问题汇总
Apr 07 NodeJs
Nodejs--post的公式详解
Apr 29 NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
yii添删改查实例
2015/11/16 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
JS完成画圆圈的小球
2017/03/07 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
进一步了解Python中的XML 工具
2015/04/13 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
Python连接字符串过程详解
2020/01/06 Python
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
新领导上任欢迎词
2014/01/13 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
升旗仪式主持词
2014/03/19 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP
Python 图片添加美颜效果
2022/04/28 Python