2011-01-05 49 views
2

我想构建一个简单的桌面应用程序,用户在文本字段中输入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...... 

} 

请使用类的优秀插座选择家人帮我出.....

+0

你是什么意思?你是否ping过服务器并检查其响应? – rkg 2011-01-05 11:13:09

+0

耶确定其响应....和相同的代码工作,如果我不使用GUI ...但是当我做一个GUI,并把事件处理程序中的代码它不会让我创建新的 – Bilal 2011-01-05 11:25:41

+0

你是什么意思通过“卡住”?调用永不返回?抛出异常?还有别的吗? – 2011-01-05 13:58:26

回答

1

你几乎肯定要创建的套接字代码一个单独的线程,而最有可能的: Using a Selector to Manage Non-Blocking Sockets

+0

我会尝试。谢谢。 – Bilal 2011-01-05 11:16:32

+0

我不知道如何以及在哪里做一个线程。实际上我正在研究净豆。有三个文件,HTTP_Client(写入主函数的地方),HTTP_ClientView(我正在做一个事件处理程序中的上述东西),ans HTTP_AboutBox(我不知道这个文件的作用) – Bilal 2011-01-05 15:18:32

+0

感谢这个SocketChannel为我工作:) – Bilal 2011-01-07 09:09:32

相关问题