TCP与UDP的数据通信

在Node.js中,提供了一个net模块与一个dgram模块,分别用于实现TCP与UDP的数据通信。

TCP是一种基于链接的协议,再进行通信前,首先要求客户端与服务器建立一条通信的链接。二UDP是一种面向非链接的协议,再进行通信前,不要求首先建立客户端与服务器端的链接,可以直接把数据包发送给对方。基于这个原因,UDP也是一种不可靠的协议,但其传输速率更快,因此更适合实时通信的场合。

使用net模块实现基于TCP的数据通信

var net = require(‘net‘);

var server = net.createServer(function(socket){

console.log(socket.address());

});

server.listen(2000,‘localhost‘, function(){

console.log(‘开始监听‘);

});

使用dgram模块实现基于UDP的数据通信

客户端:

var dgram = require(‘dgram‘);

var message = new Buffer(‘你好。‘);

var client = dgram.createSocket(‘udp4‘);

client.send(message, 0, message.length,2000, ‘localhost‘, function(err, bytes){

if(err) console.log(‘发送数据失败‘);

elseconsole.log(‘已发送 %d 字节数据‘, bytes);

});

client.on(‘message‘, function(msg, rinfo){

console.log(‘%s‘,msg);

console.log(‘%s‘,rinfo.address);

console.log(‘%s‘,rinfo.port);

});

服务器端:

var dgram = require(‘dgram‘);

var server = dgram.createSocket(‘udp4‘);

server.on(‘message‘, function(msg, rinfo){

console.log(‘已接收客户端发送的数据:‘ + msg);

console.log(‘客户端地址信息为:%j‘, rinfo);

varbuf = new Buffer(‘确认信息:‘ + msg);

server.send(buf,0, buf.length, rinfo.port, rinfo.address);

});

server.on(‘listening‘, function(){

varaddress = server.address();

console.log(‘服务器开始监听,地址信息为%j‘, address);

});

server.bind(2000, ‘localhost‘);

时间: 2024-10-16 15:26:48

TCP与UDP的数据通信的相关文章

Node.js权威指南 (7) - 实现基于TCP与UDP的数据通信

7.1 使用net模块实现基于TCP的数据通信 / 136 7.1.1 创建TCP服务器 / 136 7.1.2 socket端口对象 / 142 7.1.3 创建TCP客户端 / 151 7.1.4 net模块中的类方法 / 1647.2 使用dgram模块实现基于UDP的数据通信 / 165 7.2.1 创建UDP服务器与客户端 / 165 7.2.2 实现广播与组播 / 1727.3 小结 / 175

TCP和UDP的区别

TCP和UDP的区别 TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了. TCP/IP协议集包括应用层,传输层,网络层,网络访问层. 其中应用层包括: 超文本传输协议(HTTP):万维网的基本协议

[转]TCP、UDP区别

转自:http://zhangjiangxing-gmail-com.iteye.com/blog/646880 TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP/IP协议集包括应用层

TCP和UDP的传输过程以及二者之间的区别

TCP和UDP的区别 TCP TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP和UDP协议属于传输层协议,而IP协议属于网络层协议. TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次"对话"才能建立起来,其中的过程非常复杂,只简单的描述下这三次

TCP、UDP协议间的区别(转)

一.TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了. TCP/IP协议集包括应用层,传输层,网络层,数据链路层. 应用层包括: 超文本传输协议(HTTP):万维网的基本协议. 文件传输(TFTP简单文件传输协议): 远程登录(Telnet):提供远程访问其它主机功能,它允许用户登录internet主机,并在这台主机上执行命令. 网络管理(SNMP简单网络管理协议):该协议提供了监控网络设

TCP和UDP的区别(转)

TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP/IP协议集包括应用层,传输层,网络层,网络访问层.其中应用层包括:超文本传输协议(HTTP):万维网的基本协议.   文件传输(TFT

2015百度android开发岗位的一道简答题:TCP、UDP、HTTP之间的关系

题目:TCP.UDP之间的关系,TCP与HTTP之间的关系. 运输层主要为两台主机上的应用程序提供端到端的通信.在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议). TCP为两台主机提供高可靠的数据通信.它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等.由于运输层提供了高可靠的端到端的通信,因此应用层可以忽略所有这些细节.而另一方面,UDP则为应用层提供一种非常简单的服务.它只

UNIX网络编程:socket套接字(TCP与UDP)

套接字简介: 套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程.应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题.凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行,Linux所提供的功能(如打印服务,ftp等)通常都是通过套接字来进行通信的,套接字的创建和使用与管道是有区别的,

android 网络编程--socket tcp/ip udp http之间的关系

网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层,一般编程人员接触最多的就是应用层和运输层,再往下的就是所谓的媒体层了,不是我们研究的对象. 下面是应用层.运输层,网络层.链路层通信协议概图.我们经常接触到的一般是: http协议:应用层协议,并且http协议是基于tcp连接的,主要解决的是如何包装协议的 tcp协议:运输层协议,通常也叫做tcp/ip协议,主要解决数据如何在网络中传输 udp协议:运输层协议,用户数据报协议,不可靠的协议,只负责把应用层的协议的数