如何准确的定位网络上一台或多台主机 编程
找到主机后如何可靠高效的进行数据传输服务器
在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址能够惟一地肯定Internet上的一台主机。 网络
而TCP层则提供面向应用的可靠(TCP)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,通常不须要关心IP层是如何处理数据的。 socket
目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通讯双方一方做为服务器等待客户提出请求并予以响应。客户则在须要服务时向服务器提 出申请。服务器通常做为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时本身继续监听服务端口,使后来的客户也 能及时获得服务。 视频
TCP是Tranfer Control Protocol的简称,是一种面向链接的保证可靠传输的协议。经过TCP协议传输,获得的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须创建链接,以便在TCP协议的基础上进行通讯,当一个socket(一般都是server socket)等待创建链接时,另外一个socket能够要求进行链接,一旦这两个socket链接起来,它们就能够进行双向数据传输,双方均可以进行发送或接收操做。 server
UDP是User Datagram Protocol的简称,是一种无链接的协议,每一个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,所以可否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。 对象
比较: 进程
UDP: 路由
TCP: 网络编程
1,TCP在网络通讯上有极强的生命力,例如远程链接(Telnet)和文件传输(FTP)都须要不定长度的数据被可靠地传输。可是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,所以TCP传输的效率不如UDP高。
2,UDP操做简单,并且仅须要较少的监护,所以一般用于局域网高可靠性的分散系统中client/server应用程序。例如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就能够了,这种状况下显然使用UDP会更合理一些。