Java程序阻塞端口?

时间:2012-04-06 18:02:31

标签: java sockets port

有一个名为PC^2的程序(编程竞赛评判系统)。你可以向它提交java文件,它将编译/运行它。

我有一个创建套接字的程序,当我将它提交给PC ^ 2时它运行得很好,但是我无法在我的网络浏览器上访问url(http:// ip:port /)。但是当我退出PC ^ 2(我的程序仍在运行)时,它在我的网络浏览器上点击刷新时有效。这意味着PC ^ 2以某种方式阻塞端口,但不占用它(即使它自己的ServerSocket占用端口),因为如果占用它,那么我的程序会抛出异常并退出。

Java程序可以通过哪些方式实现此目的?由于PC ^ 2是封闭源,我看不到它。

2 个答案:

答案 0 :(得分:3)

一次只能听一个程序。

如果使用某个端口

启动tomcat两次,也会发生相同的情况

这与java无关。这就是套接字的工作原理

答案 1 :(得分:1)

如果PS ^ 2在本地运行,您可以在运行程序之前检查它是否正在侦听。我看到了PS2 Version 9 uses sockets for communication,所以也许这就是发生了什么?在Windows中,these instructions will help confirm which process is listening on the ports。在linux中,this page will help