1. UDP和TCP最大的区别:
1) TCP最大的特点就是面向连接、安全可靠,也就是说TCP通信必须要先建立连接,并且通信过程需要时时校验,如果数据有误需要重发;
2) UDP最大的特点就是面向无连接,不可靠,也就是说不用建立连接就直接向目标发送信息,并且通信过程中不做任何校验,如果数据丢失或者有误也不管;
3) 听上去UDP非常的无用,但其实不然,UDP最大的优势就是速度快,而TCP在连接和校验的过程中会消耗非常多的时间,因此TCP一般用于对数据要求精确无误的场合下,比如下载程序(迅雷等),可想而知,若你下载一个软件,中间传输的数据有误那软件岂不是用不了了吗?
4) UDP的应用场合通常是即时通讯等要求速度高于质量的场合,比如视频对话、网络对话等,在这种场合下,特别是在视频聊天时,视频质量可以不那么清晰(UDP不对数据校验),但是画面必须是时时的,如果用TCP的话可能视频声音是当前的声音,但是画面可能还是是几秒前的画面,这就不符合即时的要求了!!因此UDP的应用场合还是非常多的!
2. UDP的Sockets编程:
1) 首先最大的特点就是客户端不需要使用connect连接,服务器端也不需要listen来监听请求,但不过建立套接字的过程还是和TCP一样的;
2) 服务器端不需要accept了,因为不需要监听,而是直接可以用recvfrom函数接受客户端发送的数据!
3) 而