2012-12-27 31 views
0

我试图用SocketServer的设置服务器使用套接字连接到仿真器

int i =1, PORT = 6666; 
ServerSocket server; 
Socket client; 
try { 
    server = new ServerSocket(6666); 
    for(;;){ 
     client = server.accept();//fail in here 
     textView.setText("server accept..." + i); 
     //new MyHttpServer(client, i, PORT).start(); 
     i++; 
    } 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    //e.printStackTrace(); 
    textView.setText("Fail..."); 
} 

然而,应用程序总是server.accept()停止。我已经为此应用添加了互联网权限。我不知道为什么?

更新: 我找到了原因。这是因为线程无法从Active实例启动。我在没有线程的情况下将server.accept()放在onStart中。现在我为它打开一个新的Runnable,然后修复

+0

你接受这个代码做什么呢? –

+0

只是试图打开一个服务器来接受来自客户端的连接。 – panda

回答

1

可能有多种原因导致您的应用程序无法启动服务器。我最初的猜测是你试图在模拟器或设备上运行代码,并且你已经有一些其他应用程序在该端口上侦听。

您必须检查/提供logcat跟踪以便找出错误的原因。

相关问题