在同一端口上连续运行程序

| 我在CentOS 5上运行一些Java代码
java Something.java &
会在某个端口上创建一个套接字。...说“ѭ”,但是代码无法完全运行,因此我从中
Ctrl-C
。 当我再次尝试运行该程序时,它错误地指出无法连接到端口“ 1”。 当我将端口号更改为诸如
9010
之类的任意东西时...一切再次起作用(除了
Something.java
被卡住的事实)....搅动并重复 这是怎么回事?我希望能够使用一个一致的端口来处理这些东西...是否有一些我不会每次都摆脱的后台进程? 谢谢!     
已邀请:
发生这种情况的原因是,操作系统有一定的隔离延迟,直到另一个进程可以重用该地址为止。 C库提供了套接字选项“ 6”,可以将其设置为避免这种情况。快速网络搜索表明,可以使用
java.net.ServerSocket
中的
setReuseAddress(boolean)
设置此选项。     
JVM可能需要一些时间才能真正完成程序并释放套接字。 当软件由ctrl-c用ѭ9终止时,您可以手动关闭套接字,我强烈建议在后台运行并使用套接字的所有软件。应该有帮助。     

要回复问题请先登录注册