网络结构: 
N个终端 <----->1服务器(运行在PC机,通信端口1500) <----->N个客户端(运行在PC机) 1、终端,客户端发送目标是服务器1500端口,那终端,客户端通过什么端口发送的?大家知道客户端只需要设置下发送的服务器IP和服务器端口号就行,不需要设置客户端通过哪个端口发送。
 
2、服务器只开放1500端口用于通信,这样架构行不行

解决方案 »

  1.   

    一般客户端使用哪个端口分配,不需要代码来指定,但是可以得到你的客户端socket所占用的端口。对于server来说,1500监听端口,用来数据传输,几百个客户端也够用了。对吞吐如果没有极限要求的话。如果要求高,建议多开几个监听端口,多路接收。
      

  2.   


    但是可以得到你的客户端socket所占用的端口。这个如何取得呢?服务器发数据给客户端,那服务器发送的客户端目标端口是多少?
      

  3.   

    “服务器发送的客户端目标端口是多少”
    如果是TCP的话,那客户端与服务器端建立连接之后,服务器端可以获得客户端的ip信息(有个存储这些信息的结构体);
    如果是UDP的话,双向传输就无所谓客户端或服务器端了吧?