kay's word:
对于我等笨人,书非抄不能读也。。。
纯粹的CopyPaste已经不能满足我学习的渴望了。。。哎呀,脸皮真厚~~~
大拿's word:
http://www.cnblogs.com/chenxizhang/archive/2009/04/14/1435777.html
TCP vs. UDP
1、基于连接与无连接
2、对系统资源的要求(TCP较多,UDP较少)
3、UDP程序结构较简单
4、流模式与数据报模式
TCP保证数据正确性,UDP可能丢包
TCP保证数据顺序,UDP不保证
具体编程时的区别
1、socket()的参数不同
2、UDP Server不需要调用listen和accept
3、UDP收发数据用sendto/recvfrom函数
4、TCP:地址信息在connect/accept时确定
UDP:在sendto/recvfrom函数中每次均需指定地址信息
5、UDP:shutdown函数无效
部分满足一下几点时,应该采用UDP面向数据报方式
1、网络数据大多为短消息
2、拥有大量Client
3、对数据安全性无特殊要求
4、网络负担非常重,但对响应速度要求高
TCP:
服务器程序流程(多进程):
1、程序初始化
2、填写本机地址信息
3、绑定并监听一个固定的端口
4、收到Client的链接后建立一个socket链接
5、产生一个新的进程与Client进行通信和信息处理
6、子通信结束后终端与Client的链接
客户端程序流程:
1、程序初始化
2、填写服务器地址信息
3、连接服务器
4、与服务器通信和信息处理
5、通信结束后断开连接
服务器代码
客户端代码