我正在开发一个使用3个端口[TCP SOCKET .Net 4.0]的服务器客户端应用程序... 所以应用程序会让用户仅设置主套接字的端口。但是我想让服务器应用程序自动找到其他两个套接字的可用端口,以便通过主套接字连接将端口值发送给客户端,然后客户端使用接收到的端口值连接到其他套接字。
这里有一点解释:
主套接字侦听可配置端口。此套接字接受客户端开始发送/接收命令。(文件资源管理器/任务管理器/属性/关机/聊天)
第二个套接字仅用于文件传输,只在完成后关闭。
第三个套接字仅用于接收/发送屏幕截图。
[我知道你可能会说我应该为文件传输和屏幕截图使用同一个套接字,但这有点复杂。我只为它们中的每一个使用单独的套接字。] 那么,在绑定套接字与端点之前如何找到可用端口呢?类似于这样的东西:
这里有一点解释:
[我知道你可能会说我应该为文件传输和屏幕截图使用同一个套接字,但这有点复杂。我只为它们中的每一个使用单独的套接字。] 那么,在绑定套接字与端点之前如何找到可用端口呢?类似于这样的东西:
int port = 10000;
bool isAvailable = false;
while(!isAvailable)
{
try
{
// check if the port is available to use.
isAvailable = true;
}
catch
{
port++;
}
}