LINUX网络编程
#概述
进程间通信,无法实现多机通信
所以使用网络编程
PS:TCP/UDP对比:
-
TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
-
TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
-
TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的 UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
-
每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
-
TCP首部开销20字节;UDP的首部开销小,只有8个字节
-
TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

#字节序
小端字节序:

#套接字编程步骤:

#服务端代码实现
如何寻找头文件:::

sockaddr_in 结构体

#服务端代码

#客户端代码

#实现双方聊天:
#服务端:


#客户端代码实现

如果有两个或多个客户端聊天时,会出现竞争,因为gets阻塞在那里。
本文探讨了Linux网络编程中的进程间通信局限,着重比较了TCP和UDP协议,并介绍了套接字编程的基础。涵盖了从服务端到客户端的代码实现,包括`sockaddr_in`结构,以及多客户端聊天的并发挑战。
627

被折叠的 条评论
为什么被折叠?



