Java套接字服务器使Windows Server 2003的网络死机

标签 java sockets

我正在开发一个套接字服务器/客户端应用程序,使用JAVA作为服务器,使用J2ME作为客户端。当我在 Windows XP 中测试服务器时一切正常。然而,当我将套接字服务器部署到运行 Windows Server 2003 的服务器时,出现了一个严重的问题。当我的客户端尝试请求需要服务器发送大数据的任务时,我的 Windows 服务器丢失了网络连接。仅当我拔掉网线并再次插入时,服务器上的网络连接才会保存。

我在网上搜索了解决方案并尝试了很多想法: - 精炼代码:在“finally” block 中小心地打开和关闭连接;指定打开和关闭 In-OutStream 的顺序;增加缓冲区大小;增加 Java 堆大小; - 重置并修复服务器的 Winsock。 - 声明服务器的监听 IP(嗯,我的 Windows Server 有 2 个 IP:一个用于本地,另一个用于 Internet)

但是,不幸的是,一切都没有改变。如果我的服务器必须发送大量数据,它仍然会死掉。 有人跟我一样遇到这个问题吗?或者有人对我有什么想法吗?

感谢任何帮助。

最佳答案

我建议问题可能不在您的 Java 程序中。但是,为了进一步排除故障,我建议您创建一个二叉搜索 TreeMap 。确定可以将问题区域减半的测试,然后重复。

我很久以前就见过一个问题,由于从 10-Base2 网络中删除了终结器,因此无法传输大文件。您可以尝试使用其他软件(例如 FTP)传输大文件,检查以确保传输速率合理等。

您可以使用 ping 向 Windows 2003 主机发送不同大小的数据包。您可以在服务器本地运行一个客户端,看看是否有同样的问题。

您的 NIC、路由器或以太网电缆可能出现部分故障。这就是case at LAX几年前。

关于Java套接字服务器使Windows Server 2003的网络死机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1647985/

相关文章:

java - 根据 SOLID 的冗余

java - 如何编写服务器/客户端视频和音频流应用程序的代码?

sockets - 在 net.Conn 上读写

java - 服务器-客户端JAVA套接字编程错误

c - UDP 套接字设置超时

java - 如何使用 System.set 在类级别初始化 chrome 驱动程序...?

java - Base64 修剪我的缩略图

java - 一个明确的字符出现在两个字符串的相同位置

java - 按条件拆分和配对子字符串

sockets - UDP套接字,选择多个客户端之一