本帖最后由 VisualEleven 于 2012-01-30 11:05:37 编辑

解决方案 »

  1.   

    1、对传输层以上的应用来说,报头是透明的
    连接的时候,能知道对方的ip和端口2、udp不保证数据的完整性和次序3、socket和线程是没什么联系的吧,当然,各个socket都是独立的
      

  2.   

    恩,谢谢,第二个,我的意思是:比如UDP发送 char buf[100]长度是100, UDP接收的时候也需要100. TCP就不一样可以先接收50,再接收50.
      

  3.   

    1.TCP UDP报头对于我们来说是透明的!
    2.tcp可以保证数据的完整性,而udp不能保证。次序与网络有关!socket是否是异步!
      

  4.   

    1. RAW socket可能需要了解
    2. UDP接收提供的buf能容纳所需接收的数据的前提下,UDP接收端要么接收完整的数据包,要么接收不到,不会出现只接收一部分的情况。比如你发送端发送10K
    的UPD数据包,接收端要么接收10K的数据,要么接收不到,不会出现只接收5K的情况。
    3. socket和线程不是同一个概念
      

  5.   

    第3个问题意思:比如TCP:建立了多个socket连接,每个socket连接上进行数据处理是不是并发的进行的?socket1处理数据的同时,并不阻塞 主进程 或者 socket2处理数据(跟线程的运行方式那样)