无法在事件处理程序中打开Socket

时间:2011-01-05 11:10:28

标签: java sockets user-interface netbeans

我正在尝试构建一个简单的桌面应用程序,用户在文本字段中输入url并单击提交按钮以发送该页面的GET请求。我正在尝试打开套接字以连接到主机提交按钮鼠标clicek事件handeler但GUI卡住了。我必须从任务管理器关闭它。

private void SubmitButtonMouseClicked(java.awt.event.MouseEvent evt)  
{

  Socket s = null;  
  String website = URLTextBox.getText();  
  String host = "111.65.23.56";    //this could be any host  
  int port = 80;  

  try  
  {  
   System.out.println("I am opening socket");  
   s = new Socket(host,port);   **// the code stuck here :(**   
   System.out.println("socket opened");  
  }  
  catch(IOException e){ }  

  // and the code follows......  

}

请帮帮我.....

1 个答案:

答案 0 :(得分:1)

您几乎肯定想为Socket代码创建一个单独的线程,并且最有可能使用优秀的Socket Selector系列类: Using a Selector to Manage Non-Blocking Sockets