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

发布时间 - 2026-01-11 01:38:51    点击率:

本文实例讲述了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  # socket  # 服务端  # 客户端  # 获取本机IP地址的实例(JavaScript / Node.js)  # nodejs获取本机内网和外网ip地址的实现代码  # 详解node HTTP请求客户端 - Request  # nodejs socket服务端和客户端简单通信功能  # Node.js中的http请求客户端示例(request client)  # 使用node.js 获取客户端信息代码分享  # NodeJS实现客户端js加密  # nodejs(officegen)+vue(axios)在客户端导出word文档的方法  # nodejs简单实现TCP服务器端和客户端的聊天功能示例  # node.js中express模块创建服务器和http模块客户端发请求  # 解决Node.js mysql客户端不支持认证协议引发的问题  # node获取客户端ip功能简单示例  # 下午  # 给大家  # 所述  # 连接到  # 程序设计  # 讲述了  # WebStorm  # JetBrains  # Administrator  # User  # class  # pre  # Created  # brush  # write  # Time  # change  # Date 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: lovemo网页版地址 lovemo官网手机登录  如何在阿里云通过域名搭建网站?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  网站制作软件有哪些,制图软件有哪些?  网站建设要注意的标准 促进网站用户好感度!  新三国志曹操传主线渭水交兵攻略  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何快速搭建高效服务器建站系统?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  制作企业网站建设方案,怎样建设一个公司网站?  如何在景安服务器上快速搭建个人网站?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Linux后台任务运行方法_nohup与&使用技巧【技巧】  魔毅自助建站系统:模板定制与SEO优化一键生成指南  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何快速搭建高效香港服务器网站?  Laravel storage目录权限问题_Laravel文件写入权限设置  如何批量查询域名的建站时间记录?  香港服务器如何优化才能显著提升网站加载速度?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何有效防御Web建站篡改攻击?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何在自有机房高效搭建专业网站?  Laravel观察者模式如何使用_Laravel Model Observer配置  Angular 表单中正确绑定输入值以确保提交与验证正常工作  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何在宝塔面板中创建新站点?  如何在阿里云部署织梦网站?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  如何在万网开始建站?分步指南解析  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  高防服务器租用如何选择配置与防御等级?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何在云主机上快速搭建网站?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  实例解析Array和String方法  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  javascript中闭包概念与用法深入理解  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?