我正在开发一个简单的Java服务器来接受端口号并显示文本,图像和目录等互联网数据,但我在使用某些代码时遇到了一些麻烦。这是我的班级:
public class HTTPServer {
public static void main(String[] args) {
ServerSocket socket = null;
try {
socket = new ServerSocket(5000);
}
catch (Exception ex0) {
System.out.println(ex0.getMessage());
System.exit(1); // exit with error.
}
这第一部分工作正常但是当我尝试接受连接时程序停止。 “等待客户端连接”行输出到屏幕,然后没有任何反应。
while(true) {
// the server waits (using an accept call) for a client to connect.
System.out.println("Waiting For Client Connection.");
Socket connection = null;
try {
connection = socket.accept();
}
catch (Exception ex1) {
System.out.println(ex1.getMessage());
System.exit(1); // exit with error.
}
System.out.println("Client Connected To Server");
}
下一行“客户端连接到服务器”永远不会输出到屏幕,并且永远不会触发异常ex1。我对此非常困惑。有没有人有什么建议?
答案 0 :(得分:0)
我怀疑问题是您在accept
上呼叫Socket
,而不是ServerSocket
,这就是没有任何反应的原因。有关最基本的服务器套接字应用程序,请参阅此简单example。