Java程序冻结,直到建立套接字连接

时间:2011-04-03 20:28:41

标签: java sockets telnet

我正在从头开始用Java实现一个简单的telnet实现。 我已经在客户端和服务器之间建立了一个简单的套接字连接。我的问题只是整个服务器应用程序在等待连接时冻结 - 即使我在一个单独的线程中运行它。有没有(最好)简单的方法来解决这个问题?

线程入门代码段:

    worker slave = new worker();
    Thread slaveThread = new Thread(slave);
    slaveThread.run();

帖子摘要:

公共类worker实现Runnable {

public void run()
{
    try
    {
        ServerSocket srv = new ServerSocket(1337);
        System.out.println("Thread is running!");

        Socket clientSocket = srv.accept();
        System.out.println("Connection made.");
    }catch (IOException e){
        System.out.println("Failed.");

    }

提前致谢!

Java新手

1 个答案:

答案 0 :(得分:2)

  

是的我通过调用run()

启动线程

虽然Thread实现了Runnable,但你不应该调用run()。您应该拨打Thread.start(),在新主题中调用run()。如果您直接致电run()当前主题是执行它的主题,而不是您创建的主题。