我们正在开发一个基于 C/S 的网络应用程序,在这个应用程序中,服务器需要向客户端传输文件,有时还需要从客户端接收文件。所以在服务器应用程序中,它需要为每个客户端创建一个控制套接字和许多传输套接字。
我的问题是我们如何创建和定义一个套接字作为控制套接字或传输套接字的角色?(以下已删除:服务器应用程序如何区分控制套接字和传输套接字?)。目前服务端使用监听套接字,对于所有通过accept(监听套接字)建立的新连接,它都将它们平等地存储在一个数组中,最后让客户端将它们注册到服务端作为控制套接字或传输套接字(即在传输文件之前) ,客户端需要告诉它想使用哪个套接字作为控制套接字,以及它想使用哪个套接字作为传输套接字)。
我认为这不是在服务器应用程序和客户端之间创建控制套接字和传输套接字的好模式。那么还有其他适合此类问题的模式吗?