C 基于UDP实现一个简易的聊天室
【今日推荐】:为什么一到面试就懵逼!>>> 引言 本文是围绕Linux udp api 构建一个简易的多人聊天室.重点看思路,帮助我们加深 对udp开发中一些api了解.相对而言udp socket开发相比tcp socket开发注意的细节要少很多. 但是水也很深. 本文就当是一个demo整合帮助开发者回顾和继续了解 linux udp开发的基本流程. 首先我们来看看 linux udp 和 tcp的异同. /* 这里简单比较一下TCP和UDP在编程实现上的一些区别: TCP流程 建立一个TCP连接需要三次握手,而断开一个TCP则需要四个分节。当某个应用进程调用close(主动端)后 (可以是服务器端,也可以是客户 端),这一端的TCP发送一个FIN,表示数据发送完毕;另一端(被动端)发送一 个确认,当被动端待处理的应用进程都处理完毕后,发送一个FIN到主动端,并关闭套接口,主动端接收到这个 FIN后再发送一个确认,到此为止这个TCP连接被断开。 UDP套接口 UDP套接口是无连接的、不可靠的数据报协议;既然他不可靠为什么还要用呢? 其一:当应用程序使用广播或多播是只能使用UDP协议; 其二:由于它是无连接的,所以速度快。因为UDP套接口是无连接的,如果一方的数据报丢失,那另一方将无 限等待,解决办法是设置一个超时。在编写UDP套接口程序时,有几点要注意