如果端口未打开,应用程序如何处理端口?

How do applications handle ports if they are not open?

我正在尝试使用 winsock 在 C++ 中编写应用程序。 我需要处理应用程序使用的默认端口未开放使用的情况,那么回退机制是什么?

服务器还是客户端?

在服务器中,如果请求的端口已被占用,您将记录错误并停止。这就是端口通常存储在配置中的原因。

对于客户端,如果无法连接到指定端口,也会记录错误。它与无法连接到任何其他网络资源没有太大区别,例如浏览器中的 URL。

这完全取决于你。

有一种称为端口碰撞的机制:应用程序只是尝试一系列端口,直到找到可以绑定的端口。显然,如果默认端口不可用,服务器和客户端必须这样做才能找到对方。

您也可以只显示一条错误消息,让用户决定如何处理。

或者您在配置文件中指定后备端口... 只是给你一个想法。