NodeJS简单的TCP服务实现

Nodejs cyanprobe 8年前 (2015-12-26) 4335次浏览 已收录 0个评论

前言:

因为看了极客学院和书上的TCP那一块,顺便写个笔记。TCP服务是三次握手协定,也就是:客户端-发送请求,服务器-收到请求,客户端-我知道服务器收到了请求。PS:问的柴犬君。 这貌似是很精简的理解方式。在nodejs中,我们需要简单了解一些层:

 (1),TCP/IP——TPC/IP协议是传输层协议,主要解决数据如何在网络中传输。
(2),Socket——socket则是对TCP/IP协议的封装和应用(程序层面)。
(3),Http——HTTP是应用层协议,主要解决如何包装数据。
(4),网络七层模型——物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
总结一下:Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。
从而形成了我们知道的一些最基本的函数接口,比如Create、Listen、Connect、Accept、Send、Read和Write等等。

简单TCP服务代码

服务器端代码:

 var net= require('net');
 var server=net.createServer(function(socket){
 console.log('client connected this time ');
//此时监听客户端数据
 socket.on('data',function(data){
 console.log('server got date form client is ',data.toString());
});
//监听客户端断开时间
 socket.on('end',function(){
 console.log('connection closed');
 });
 socket.write('your require was come into face\n');
 });
//启动服务
 server.listen(8080,function(){
console.log('server bound')
 });

客户端代码:

var net =require('net');
var client=net.connect({port:8080},function(){
console.log('connected to server');
client.write('this is a message\n');
});
// 接收服务端的数据
client.on('data', function(data) {
 console.log('client got data from server: ', data.toString());
 // 断开连接
 client.end();
});
// 断开连接
client.on('end', function() {
 console.log('disconnected from server');
});

 


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:NodeJS简单的TCP服务实现
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址