`

socket端口冲突问题

 
阅读更多

在服务器上重新部署工程的时候报socket端口冲突。

java.net.BindException: Address already in use 
         at java.net.PlainSocketImpl.socketBind(Native Method) 
         at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365) 
         at java.net.ServerSocket.bind(ServerSocket.java:319) 
         at java.net.ServerSocket.<init>(ServerSocket.java:185) 
         at java.net.ServerSocket.<init>(ServerSocket.java:97) 
         at com.hundsun.epserver.monitor.Server.<init>(Server.java:76) 
         at com.hundsun.epserver.monitor.Server.<clinit>(Server.java:50) 
         at com.hundsun.epserver.servlet.InitServlet$1.run(InitServlet.java:65) 

 

服务器程序都使用固定的端口. 当服务器程序关闭后, 有可能它的端口还会被占用一段时间, 如果此时立刻在同一个主机上重启服务器程序, 由于端口已经被占用, 使得服务器程序无法绑定到该端口, 服务器启动失败。
为了确保一个进程关闭了 ServerSocket 后, 即使操作系统还没释放端口, 同一个主机上的其他进程还可以立即重用该端口, 可以调用 ServerSocket 的 setResuseAddress(true) 方法。
添加 serverSocket.setReuseAddress(true);

修改socket后一直在报:

 

java.net.SocketException: Socket is not bound yet
        at java.net.ServerSocket.accept(ServerSocket.java:419)

 

异常。。。我真是摸不着头脑了。。。。。。。。。。。

分享到:
评论

相关推荐

    socket端口定义

    这主要是为了避免端口冲突和保证网络服务的稳定运行。 - **知名端口注册流程**: - 提交注册申请至IANA。 - IANA审核申请,并分配相应的端口号。 - 更新相关标准文档以反映新的端口分配。 - **注册端口注册流程...

    scoket端口检测

    这对于评估服务器性能、调整系统参数,以及防止因端口冲突或连接过多导致的服务中断至关重要。 在Linux环境中,`ulimit`命令是用于控制进程资源限制的工具,其中的`-n`选项可以查看或设置单个进程的最大打开文件数...

    web监听端口(Socket服务随web启动而启动)

    无论采用哪种方法,都要确保Socket服务的端口不会与Tomcat的HTTP监听端口冲突,否则可能导致端口占用问题。可以通过配置Socket服务监听不同的端口,例如8090,以避免这种冲突。 在实际开发中,可能还需要考虑异常...

    Android端口号被占用解决方案

    在Android开发过程中,由于应用程序需要通过特定的端口号与设备或模拟器进行通信,因此端口号的使用变得至关重要。...在日常开发中,保持良好的设备管理习惯,及时清理不再使用的进程,可以大大降低端口冲突的可能性。

    端口占用问题的解决方法汇总

    对于日常运维工作来说,熟练掌握这些技巧不仅可以提高工作效率,还能减少因端口冲突而导致的服务中断情况。当然,除了上述提到的技术手段外,良好的编程习惯和系统配置也是预防端口占用问题的关键因素之一。

    检测tcp端口是否被占用

    在进行网络编程时,经常需要检查特定的TCP端口是否被占用,以确保服务的正常运行或者避免冲突。本篇文章将详细解释如何检测TCP端口是否被占用,并结合VS2010环境下的C++代码实践进行阐述。 首先,了解TCP端口的基本...

    Socket编程例子

    在实际编程中,可能会遇到如连接超时、数据丢失、端口冲突等问题。解决这些问题通常需要设置合适的超时时间、检查网络状况、避免使用已被占用的端口,以及正确处理异常情况。 总结,Socket编程是构建网络应用的基础...

    Debian NTP对时socket占用的问题

    然而,有时用户可能会遇到"Debian NTP对时socket占用的问题",这通常是由于系统配置不当或者多个时间同步程序同时运行导致的。 问题的起因在于,当你安装了`ntpdate`之后,系统会自动创建一个启动脚本,使得`...

    c# socket监听UDP数据

    7. **异常处理**: 在处理网络通信时,要确保捕获并处理可能出现的异常,如SocketException,这可能是由于网络问题或资源冲突导致的。 8. **套接字选项**: Socket对象有多种选项,如ReceiveBufferSize和...

    MyQQ 例子 Socket 编程

    在实现过程中,还需要考虑异常处理,例如网络中断、端口冲突等问题,以确保程序的健壮性。同时,为了提升用户体验,可以设计多线程或者异步I/O模式,让聊天过程不因数据传输而阻塞。 总的来说,"MyQQ"示例通过...

    实验一_SOCKET编程实验

    检查网络连接、端口号是否冲突、Socket操作顺序是否正确等,是解决这些问题的关键。 **10. 实验总结** 通过这个实验,你将了解Socket编程的基本流程,并能独立编写简单的TCP通信程序。同时,这也将为你进一步学习...

    MFC实现Socket连接

    使用多线程时,需要注意线程同步问题,如互斥量(CMutex)、事件对象(CEvent)等同步机制,防止数据冲突和资源争用。 压缩包中的"MyServer"很可能是一个示例服务器程序,它展示了如何在MFC环境中创建Socket服务器...

    Android学习之Socket通信

    通常,大于 1023 的端口号用于自定义服务,以避免冲突。 创建服务器端的步骤如下: 1. 实例化 ServerSocket,指定监听的端口号。 2. 调用 `accept()` 方法,等待客户端连接。`accept()` 是阻塞方法,直到有客户端...

    java多线程实现-tcp端口扫描

    Socket类的connect方法尝试建立到指定主机和端口的连接,如果端口开放,连接会成功;否则,会抛出异常。我们通常会设置一个超时值,以限制单个连接尝试的时间,避免线程被长时间阻塞。 项目中可能包含以下关键代码...

    Can't create TCP/IP socket(24).原因及解决办法

    4. "Can't create TCP-IP socket (10106)_端口绑定失败=端口冲突.url":虽然10106不是我们讨论的24,但这个错误码表明端口绑定失败,可能是由于端口已经被其他进程占用,也可能是另一个相关的问题。 5. "Linux errno...

    C语言编程-socket基础.pdf

    这个端口可以自由选择,但推荐使用大于1024的端口以避免与系统保留端口冲突。一旦有客户端连接,就会建立一个会话,会话结束后,服务器关闭连接。客户端则通过`Socket`对象尝试连接到服务器的指定端口,客户端的端口...

    Socket服务器与客户端编程(链表)

    例如,如果默认端口已被占用,或者为了在不同的网络环境中避免冲突,可以动态地设定端口号。在Java中,可以通过ServerSocket类的构造函数传入端口号来实现这一点: ```java ServerSocket serverSocket = new ...

    socket 编程原理

    TCP和UDP协议各自拥有独立的端口号空间,这意味着TCP有一个端口255,UDP也可以有一个端口255,两者不会发生冲突。 2. **端口号分配**:端口号的分配有全局分配和本地分配两种方式。全局分配由中央机构统一管理,...

    delphi midas 修改scktsrvr端口

    在某些情况下,可能需要修改 `scktsrvr`(Socket Server)的默认端口号,以适应特定的应用需求或解决端口冲突问题。 #### 知识点一:TSocketDispatcher 类及其 ReadSettings 方法 `TSocketDispatcher` 是一个用于...

    c# Socket 多线程 分包 发送/接受数据

    服务端创建监听Socket并绑定到特定的IP和端口,等待客户端连接。当连接建立后,服务端接收客户端发送的数据。由于数据可能是分包发送的,所以服务端需要接收所有的小包,并根据协议重新组合成原始数据。这个过程...

Global site tag (gtag.js) - Google Analytics