1、UDP
UDP是面向消息或面向数据报的协议。
UDP把应用程序一次性写入的数据打包成一个UDP数据报,然后就把该数据报通过IP发送出去,
接收方收到的也是同样的一个UDP数据报,即这个数据传输的过程是以数据报作为单位的。
UDP保持了每次应用程序所发送的消息的边界。
2、TCP
TCP数据传输的过程并不是以数据报或者消息作为单位,而是以字节流的方式进行的
TCP/UDP介绍
TCP(Transfer Control Protocol)传输控制协议是一种面向连接的协议, 当我们的网络程序使用这个协议的时候,
网络可以保证我们的客户端和服务端的连接是可靠的,安全的.
UDP(User Datagram Protocol)用户数据报协议是一种非面向连接的协议,
这种协议并不能保证我们的网络程序的连接是可靠的,所以我们现在编写的程序一般是采用TCP协议的.
(二)Linux网络编程–初等网络函数介绍(TCP)
Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用,
会返回一个 通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作,这就是linux的设备无关性的好处.
我们可以通过向描述符读写操作实现网络之间的数据交流.
(一)socket
int socket(int domain, int type,int protocol)
domain:说明我们网络程序所在的主机采用的通讯协族(AF_UNIX和AF_INET等).
AF_UNIX只能够用于单一的Unix 系统进程间通信,
而AF_INET是针对Internet的,因而可以允许在远程
主机之间通信(当我们 man socket时发现 domain可选项是 PF_*而