Web服务器接受端口号

时间:2012-04-27 07:19:46

标签: java sockets browser

我正在开发一个简单的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。我对此非常困惑。有没有人有什么建议?

1 个答案:

答案 0 :(得分:0)

我怀疑问题是您在accept上呼叫Socket,而不是ServerSocket,这就是没有任何反应的原因。有关最基本的服务器套接字应用程序,请参阅此简单example