疑问:用INDY来说,TCP一个连接就是一个线程。UDP是无连接协议,既然是无连接,那为什么还分客户端与服务端?而且INDY的UDPClient没有自带接收事件,那么服务端与客户端都用UDPServer不是很好吗?一个IP,一个端口就可以发送和接收了,多方便?

解决方案 »

  1.   

    如果 不知道 IP 呢只知道端口 你怎么用UDPSERVER发数据呢 
      

  2.   

    客户端 服务端 是人为的划分 为了方便理解  
    并且 服务端的概念 一般来说是指要与N个客户端通信
    客户端 指的是与服务端通信或服务端指定的另一客户通信 
    既然大家要做的工作不同,当然分开来比较好理解同理 UDPClient 怀UDPServer 具体实现也有所不同,毕竟大家要干的活不同 
    一个是领导 一个是打工的 能相同吗 虽然法律上说是人人平等
      

  3.   

    c、s,被连的就是s,发起的就是c
    udp,其实可以cs同体的
      

  4.   

    所谓udp服务端,就是进程会打开udp端口(一般是固定的)进行监听,这个监听会一直持续。
    而udp客户,则是有需要时打开udp端口(一般是随OS分配)向远程udp端口发包,发完关闭。
    虽然udp在发包过程中也有可能收到别人发的包,但因为一来端口随机,二来很快关闭,所以也不能作为服务端来看待。