我创建了一个简单的服务器套接字代码,以通过Google协议缓冲区将数据发送到AWS dynamoDB
当我使用eclipse tomcat部署上述代码时,我能够使用服务器套接字成功将数据发送到AWS。
但是在将war文件手动部署到Tomcat [webapps文件夹]中时,代码卡在socket = serverSocket.accept();
上
[见下文]
try {
serverSocket = new ServerSocket(portno);
} catch (IOException e1) {
// TODO Auto-generated catch block
logger.error("Error while creating socket connection on port no" +
portno, e1);
}
th = new Thread() {
public void run() {
while (true) {
try {
logger.info("Waiting for the System to recieve data.");
socket = serverSocket.accept();
System.out.println("accepted");
ServerThread st = new ServerThread(socket, context);
Thread th = new Thread(st);
th.start();
此外,此问题仅在Windows中。在Ubuntu中可以正常工作。
我不确定为什么相同的代码在Ubuntu Tomcat中可以运行而在Windows Tomcat中不能运行