愚蠢的问题。我从连接到服务器的客户端获取那些。可悲的是,设置很复杂,调试也很复杂——而且我们没有选择余地。
环境:*客户端/服务器系统,都在同一台机器上运行。客户端实际上是在特定时间进行一些数据库操作的服务。* 连接来自 C#,通过 OleDb 到 EasySoft JDBC 驱动程序,再到自定义编写的 JDBC 服务器,然后在 C++ 中托管逻辑。是的,compelx - 但是第三方供应商决定通过 JDBC 接口公开其服务器的扩展机制。这里不能做很多事情;)
症状:在(ir)常规时间间隔,我们从 JDBC 驱动程序中得到一个“地址已在使用中:连接”。它们似乎来自我们运行的一项特定服务。
现在,我确实阅读了有关端口耗尽的所有内容。这就是为什么我们现在运行一个小工具,它每分钟计算端口及其状态。上次发生这种情况时,我们使用了惊人的 370 个端口,错误发生后计数上升到大约 900 个。我们已经修补了注册表(它是一台 Windows 机器)以允许超过 5000 个客户端端口标准,但即便如此,我们离这个限制还很远。
这就是我在这里问的原因。Ayneone 知道 ELSE 会导致这种情况吗?
它是一台 Windows 2003 Server 机器,64 位。我能看到的唯一其他可能导致它的事情(但据说此功能已被禁用)是安装在服务器上的 Symantec Endpoint Protection - 并且能够充当防火墙,它可能会拦截网络流量。我不想通过过早地指向赛门铁克来打开一罐蠕虫(如果指向赛门铁克可以被视为这样的话)。那么,有人知道还有什么可能是原因吗?
谢谢
突出三点:
和
和
问题一:服务器如何选择端口?客户端和服务器(在同一台机器上)是否可以不定期同步并选择相同的端口?
问题 2:您是否尝试过关闭 SEP?如果不关闭它,看看会发生什么。您需要消除它干扰的可能性。
问题 3:
netstat
出现错误时说了什么?