服务端在某一个端口上侦听,它可不可能同时收到两条或以上的相同源地址,源端口的连接呢?

解决方案 »

  1.   

    不管是来自哪儿的都没有绝对的同时,在你的代码中至少连接语句的两次执行有顺序吧,如果是对线程,cpu也应该有个执行先后把,所以一般不太可能。
      

  2.   

    这里说的"同时"不是指狭义上的“同时",这样说吧,如果accept一个TCP之后,再次accept,同时,前一个TCP没有断开,可不可能得到相同源地址,源端口的TCP?
      

  3.   

    不可能! TCP会丢弃后来的数据包,
    因为第一个发送syn之后,TCP会生成一个绘话系列号,并且在内核中为这个新来的分配socket标识,
    如果接下来还有同源的tcp包到来都会交给当前的socket处理,这个时候一般会拒绝,因为系列号对不上.
      

  4.   

    当然不可能Server:在A端口监听
    Client:连接(操作系统分配的端口)
    Server:以新的套接字接受连接,新的套接字的端口是操作系统分配的以后Server和Client就用 这个连接通信,和A端口不再有关系
      

  5.   


    我以前做的小程序,里面关键字使用的是 IP+PORT 字符串作为唯一标示符,现在突然想到对于服务端来说,每一个TCP的IP+PORT字符串是不是唯一的?
      

  6.   

    如果我没记错的话,不管多少个连接,服务端的ip port 是一样的