nodejs socket实现的服务端和客户端简单通信

                       

本文实例讲述了通过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);});
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

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');});
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

运行结果如下
这里写图片描述

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

这里写图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值