TCP和SOCKET什么关系
ISO把网络分成7层。我平时说的网络,指的是以太网,至于什么是以太网,LZ可以问google,以太网把网络分成了4层,应用层,传输层,网络层,数据链路层。HTTP是应用层协议,TCP(传输控制协议)UDP(用户数据协议)他们是传输层协议,IP(网络协议),至于数据链路(就是我们说的以太网,FDDI,令牌环网等)socket是操作系统用来实现网络传输层以下协议的方式。我们通常说TCP和UPD其实说的是传输层的协议,因为这个是和应用层协议直接打交道的底层协议,是OS内核实现的。我们所以说TCP/IP协议,其实是对以太网一套协议的统称。至于你说TCP走TCP/IP协议时错误的,TCP和UDP底层都是IP协议,还有ICMP协议他是和IP评级的协议,他们可以泡在以太网,FDDI,令牌环网等网络上,至于物理层,那是实现这些网络的电气属性,我的理解是,比如说同样的以太网,你可以用同轴电缆,也可以双绞线,等等。你可以看看斯蒂文斯的TCP/IP三卷书,另外socket有一种叫原始套接字,大概是直接读取IP的数据包的,我也没有搞过,希望对你有帮助查看原帖>>

TCP 和 UDP 在socket编程中的区别
一、TCP与UDP的区别 基于连接与无连接对系统资源的要求(TCP较多,UDP少)UDP程序结构较简单流模式与数据报模式TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息拥有大量Client对数据安全性无特殊要求网络负担非常重,但对响应速度要求高具体编程时的区别 socket()的参数不同UDP Server不需要调用listen和acceptUDP收发数据用sendto/recvfrom函数TCP:地址信息在connect/accept时确定UDP:在sendto/recvfrom函数中每次均 需指定地址信息UDP:shutdown函数无效二、man----socket通过查看socket的man手册可以看到socket函数的第一个参数的值可以为下面这些值:Name PurposePF_UNIX, PF_LOCAL Local communicationPF_INET IPv4 Internet protocolsPF_INET6 IPv6 Internet protocolsPF_IPX IPX - Novell protocolsPF_NETLINK Kernel user interface devicePF_X25 ITU-T X.25 / ISO-8208 protocolPF_AX25 Amateur radio AX.25 protocolPF_ATMPVC Access to raw ATM PVCsPF_APPLETALK AppletalkPF_PACKET Low level packet interface三、编程区别通常我们在说到网络编程时默认是指TCP编程,即用前面提到的socket函数创建一个socket用于TCP通讯,函数参数我们通常填为SOCK_STREAM。即socket(PF_INET, SOCK_STREAM, 0),这表示建立一个socket用于流式网络通讯。SOCK_STREAM这种的特点是面向连接的,即每次收发数据之前必须通过connect建立连接,也是双向的,即任何一方都可以收发数据,协议本身提供了一些保障机制保证它是可靠的、有序的,即每个包按照发送的顺序到达接收方。而SOCK_DGRAM这种是User Datagram Protocol协议的网络通讯,它是无连接的,不可靠的,因为通讯双方发送数据后不知道对方是否已经收到数据,是否正常收到数据。任何一方建立一个socket以后就可以用sendto发送数据,也可以用recvfrom接收数据。根本不关心对方是否存在,是否发送了数据。它的特点是通讯速度比较快。大家都知道TCP是要经过三次握手的,而UDP没有。基于上述不同,UDP和TCP编程步骤也有些不同,如下:TCP编程的服务器端一般步骤是:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt(); * 可选3、绑定IP地址、端口等信息到socket上,用函数bind();4、开启监听,用函数listen();5、接收客户端上来的连接,用函数accept();6、收发数据,用函数send()和recv(),或者read()和write();7、关闭网络连接;8、关闭监听;TCP编程的客户端一般步骤是:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt();* 可选3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选4、设置要连接的对方的IP地址和端口等属性;5、连接服务器,用函数connect();6、收发数据,用函数send()和recv(),或者read()和write();7、关闭网络连接;与之对应的UDP编程步骤要简单许多,分别如下:UDP编程的服务器端一般步骤是:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt();* 可选3、绑定IP地址、端口等信息到socket上,用函数bind();4、循环接收数据,用函数recvfrom();5、关闭网络连接;UDP编程的客户端一般步骤是:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt();* 可选3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选4、设置对方的IP地址和端口等属性;5、发送数据,用函数sendto(); 6、关闭网络连接;

TCP 和 UDP 在socket编程中的区别
一、TCP与UDP的区别 基于连接与无连接对系统资源的要求(TCP较多,UDP少)UDP程序结构较简单流模式与数据报模式TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息拥有大量Client对数据安全性无特殊要求网络负担非常重,但对响应速度要求高具体编程时的区别 socket()的参数不同UDP Server不需要调用listen和acceptUDP收发数据用sendto/recvfrom函数TCP:地址信息在connect/accept时确定UDP:在sendto/recvfrom函数中每次均 需指定地址信息 UDP:shutdown函数无效
实现方法 以及API 不同。运用的地方不同。当然主要取决去二者的各自特点。1)TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务; (2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数...
TCP 和 UDP 在socket编程中的区别。 基于连接与无连接对系统资源的要求(TCP较多,UDP少)UDP程序结构较简单流模式与数据报模式TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息拥有大量Client对数据安全性无特殊要求网络负担非常重,但对响应速度要求高具体编程时的区别 socket()的参数不同UDP Server不需要调用listen和acceptUDP收发数据用sendto/recvfrom函数TCP:地址信息在connect/accept时确定UDP:在sendto/recvfrom函数中每次均 需指定地址信息 UDP:shutdown函数无效
实现方法 以及API 不同。运用的地方不同。当然主要取决去二者的各自特点。1)TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务; (2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;(3)也正因为以上特征,UDP具有较好的实时性,工作效率较TCP协议高;(4)UDP段结构比TCP的段结构简单,因此网络开销也小。 具体二种协议没有好坏,只有适合,有时候二者结合,比如QQ就是两种协议都有,比如组播通信的时候只能用udp

tcp与socket有什么区别
tcp/ip是通讯协议,三次握手, socket就是套接字,你可以理解为socket可以使用TCP、IP协议来进行传输数据。

简述基于TCP和UDP的Socket编程的异同
Socket有两种主要的操作方式:面向连接的和无连接的。无连接的操作使用UDP数据报协议,这个操作不需要连接一个目的的socket,它只是简单地投出数据报,快速高效,但缺少数据安全性。面向连接的操作使用TCP协议,一个这个模式的socket必须在发送数据之前与目的地的socket取得一个连接,一旦连接建立了,socket就可以使用一个流接口:打开-读-写-关闭,所有的发送的信息都会在另一端以同样的顺序被接收,面向连接的操作比无连接的操作效率要低,但数据的安全性更高。基于TCP的socket编程是采用的流式套接字(SOCK_STREAM)。基于UDP采用的数据报套接字(SOCK_DGRAM). 流式套接字的设计是针对面向连接的网络应用,在数据传输之前需要预先建立连接,在数据传输过程中需要维持连接,在数据传输结束后需要释放连接。由于采用校验和、确认与超时等差错控制手段,因此流式套接字可以保证数据传输的正确性。 数据报套接字(SOCK_DGRAM)提供无连接的、不可靠的数据传输服务,实际上它是基于TCP/IP协议族中的UDP协议实现的。数据报套接字提供无序、有差错与有重复的数据流服务。数据报套接字的设计是针对无连接的网络应用,在数据传输之前不需要预先建立连接。由于只采用很有限的差错控制手段,因此数据报套接字无法保证数据传输的正确性。
tcp是面向连接的,网络上的任意计算机,都要连接到服务器才能和其他的计算机交互。 udp是面向无连接的,不需要服务器也可以交互,只要知道对方的ip和监听端口就行。。
tcp是面向连接的,网络上的任意计算机,都要连接到服务器才能和其他的计算机交互。 udp是面向无连接的,不需要服务器也可以交互,只要知道对方的ip和监听端口就行。。 TCP是一种很保险的链接,需要三次握手,所以数据的发送不会丢失,能根据网络的拥塞自动调整发送的时延,,,而UDP是一种不保险的链接,数据发出去后不管对面会不会收到,多用于语音视频通话中。
实现方法 以及API 不同。运用的地方不同。当然主要取决去二者的各自特点。1)TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务; (2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;(3)也正因为以上特征,UDP具有较好的实时性,工作效率较TCP协议高;(4)UDP段结构比TCP的段结构简单,因此网络开销也小。 具体二种协议没有好坏,只有适合,有时候二者结合,比如QQ就是两种协议都有,比如组播通信的时候只能用udp

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/82001.html。