2
這個問題是一個跟進這一個: BufferedReader readLine method hangs and block program插槽工作在命令行,但未能上搖擺
我現在有一臺服務器,並運行平穩客戶端,但後來我試圖執行一個GUI界面使用鞦韆。使用相同的代碼,套接字構造函數失敗。
我的班級是這樣的:從主函數調用時
public class TCPClient {
public BufferedWriter ostream = null;
public BufferedReader istream = null;
public TCPClient(String host, String port) throws UnknownHostException {
InetAddress ip = InetAddress.getByName(host);
try {
Socket socket = new Socket(host, Integer.parseInt(port));
ostream = new BufferedWriter(socket.getOutputStream());
istream = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException ex) {
Logger.getLogger(TCPClient.class.getName()).log(Level.SEVERE, null, ex);
}
}
此代碼的工作非常完美。在揮杆,我有一個按鈕,調用以下方法:
private void enviarMsgTCP() throws IOException {
screenOutput.append("Sent:\n" + mensagem.getText() + "\n");
if (client == null){
try {
client = new TCPClient(destIp.getText(), port.getText());
} catch (UnknownHostException ex) {
Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
saidaTexto.append("Não foi possível se conectar ao host.\n");
}
}
使用這種代碼,下面的線(在的TcpClient)拋出異常:
Socket socket = new Socket(host, Integer.parseInt(port));
異常堆棧跟蹤:
21/10/2011 21:44:42 cliente.ClienteTCP <init>
GRAVE: null
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:218)
它可能是什麼? thx再次
噢,我粘貼了其他線程的代碼以節省一些時間。那是一個錯誤。關於這個問題,我讓服務器在監聽。我改變了我的主類,並嘗試,而不重新啓動服務器使用我的文本界面,它的工作原理。 –
複製和粘貼是邪惡的。 –