1
我试图使一个简单的Java TCP客户机和主机聊天程序。他们都在简单的GUI中运行。在我启动服务器之后,它会等待来自客户端的连接,然后在其JtextArea中输出一条消息。服务器执行此操作成功地,一切都运行的罚款,直到这里,现在我发送一些数据,它应该打印在其JTextArea中的客户端,但客户端已连接发生的时间卡,连接按钮保持按下它只是冻结。java的插座问题
这里是客户端连接按钮的代码,我想我在这里做得不对
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
serverName = t3.getText();
serverPort = Integer.parseInt(t4.getText());
try {
tb.append("\nconnecting...>\n"+temp);
connect2Server();
temp = in.readLine();
tb.append(temp);
} catch (IOException ex) {
tb.append(ex.toString());
Logger.getLogger(DesktopApplication1View.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void connect2Server() throws IOException{
try{
skt = new Socket(serverName,serverPort);
in = new BufferedReader(new
InputStreamReader(skt.getInputStream()));
}
catch(UnknownHostException uh){
tb.append(uh.toString());
}
catch(IOException io){
tb.append(io.toString());
}
}
//vars
BufferedReader in;
Socket skt;