首页 > 开发 > JS > 正文

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

2024-05-06 16:37:38
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表