Java 套接字 : how to prevent java.net.BindException

标签 java sockets serversocket

我在同一台计算机上实现了一个 LAN 游戏和测试:创建一个类,在这个类的不同线程中创建一个服务器和一个客户端,然后连接在一起。

关闭两个窗口(客户端和服务器)后,我再次执行上述步骤:运行 java 类,创建服务器和客户端。我总是遇到这个错误:java.net.BindException(因为这个端口之前已经创建并且还没有关闭)。

每次我创建服务器套接字时,在 catch 中,我总是放置 serverSocket.close()。但我仍然遇到了那个错误。请给我一些想法来防止这种情况。

@:如果我们知道已经创建了一个端口,我们可以关闭它并创建新端口吗?

谢谢:)

最佳答案

除非捕获异常,否则放入 catch block 的任何内容都不会运行。相反,将 close() 调用放在 finally block 中以确保它始终运行。

关于Java 套接字 : how to prevent java.net.BindException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12787826/

相关文章:

java - 从另一个类调用对象数组列表并迭代它

python - 从服务器 python 向客户端发送连续数据

java - ServerSocket是如何接收HTTP请求的?

java - 从客户端发送多个服务器对象到服务器

当导出某个对象时,JavaRMI 创建单个 ServerSocket?

java - 从字符串中提取数字 - StringUtils Java

java - jscrollpane 不适用于 swing 应用程序中的 jtable

c++ - 发送的字节数多于我应该通过套接字接收的字节数

java - 使用可选对象字段返回空对象或新对象

linux - 函数指针指向 struct "proto_ops"的哪里?