2010-07-08 59 views
0

我写了一个非常简单的服务器,它接受特定端口上的套接字连接,并通过该套接字与客户端进行通信。 现在我有一个客户端库,它在J2SE应用程序中工作得很好。在servlet容器上打开套接字连接

但是,如果我尝试在Servlet(Servlet是客户端)中使用该库来与服务器进行通信,则它不起作用。 不幸的是,没有例外或者可以帮助我的东西。 相反,当使用lib时根本没有任何反应。 这是对打开套接字的方法的调用,只是无限制地阻止 ,而没有连接到服务器。

我认为这可能是一个普遍的问题。 也许这样的事情是不允许从一个Servlet内? 但即使不是,我会至少期望抛出一些异常。

顺便说一句,Servlet Container是Tomcat。

有没有人有一个想法,为什么这不起作用?

+0

你可以发布你的代码 – 2010-07-08 18:00:22

+0

我需要有点耐心,然后才能无限期地使用这个词。我刚刚得到一个IOException:连接重置。 不知道,如果这有帮助。 是的,我可以发布代码。 我会尽快这样做(必须首先“掌握它”)。 – Machisuji 2010-07-08 18:04:33

回答

0

确定这里是否有实际的问题:

这似乎是在Windows和Linux之间的行为差​​异。 我在Linux下开发了服务器+ lib,而Tomcat在Windows机器上运行。

其中,我告诉你的服务器通过ProcessBuilder执行命令 。 实际上无限期阻止的是Process#waitFor。

这是在Windows下。在Linux下它工作得很好,只要过程结束就会返回。 在Windows下,Process#waitFor仅在我读取进程的InputStream时出于某种原因返回。

对不起!

相关问题