node.js使用net模块创建服务器和客户端示例【基于TCP协议】
本文实例讲述了node.js使用net模块创建服务器和客户端。分享给大家供大家参考,具体如下:
node.js中net模块创建服务器和客户端
1.node.js中net模块创建服务器(net.createServer)
//将net模块引入进来 varnet=require("net"); //创建一个net.Server用来监听,当连接进来的时候,就会调用我们的函数 //client_sock,就是我们的与客户端通讯建立连接配对的socket //client_sock就是与客户端通讯的net.Socket varserver=net.createServer(function(client_sock){ console.log("clientcomming",client_sock.remoteAddress,client_sock.remotePort); //设置你接受的格式, //client_sock.setEncoding("utf8"); //client_sock.setEncoding("hex");//转成二进制的文本编码 // //客户端断开连接的时候处理,用户断线离开了 client_sock.on("close",function(){ console.log("closesocket"); }); //接收到客户端的数据,调用这个函数 //data默认是Buffer对象,如果你强制设置为utf8,那么底层会先转换成utf8的字符串,传给你 //hex底层会把这个Buffer对象转成二进制字符串传给你 //如果你没有设置任何编码//utf8-->HelloWorld!!!hex-->"48656c6c6f576f726c6421" client_sock.on("data",function(data){ console.log(data); client_sock.write("goodbye!!!"); client_sock.end();//正常关闭 }); client_sock.on("error",function(err){ console.log("error",err); }); }); //当我开始监听的时候就会调用这个回掉函数 server.on("listening",function(){ console.log("startlistening..."); }); //监听发生错误的时候调用 server.on("error",function(){ console.log("listenerror"); }); server.on("close",function(){ console.log("serverstoplistener"); }); /* server.on("connection",function(client_sock){ console.log("clientcomming22222"); }); */ //编写代码,指示这个server监听到哪个端口上面。 //127.0.0.1:6080 //node就会来监听我们的server,等待连接接入 server.listen({ port:6080, host:"127.0.0.1", exclusive:true, }); //停止node对server的监听事件处理,那么node就没有其他的事件要处理,所以就退出了。 //server.unref();//取消node,对server的事件的监听; //server.close();//主动的掉这个server.close才会触发这个net.Server的close事件
2.node.js中net模块创建客户端(net.connect())
varnet=require("net"); //net.Socket, varsock=net.connect({ port:6080, host:"127.0.0.1", },function(){ console.log('connectedtoserver!'); }); //连接成功调用的事件 sock.on("connect",function(){ console.log("connectsuccess"); //在这里我们就可以发送数据了 sock.write("HelloWorld!","utf8"); //end }); //end //有错误发生调用的事件 sock.on("error",function(e){ console.log("error",e); }); //socket关闭的事件 sock.on("close",function(){ console.log("close"); }); //对方发送了关闭数据包过来的事件 sock.on("end",function(){ console.log("endevent"); }); //当有数据发生的时候,调用; sock.on("data",function(data){ console.log(data); });
希望本文所述对大家node.js程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。