gpt4 book ai didi

java - 套接字在命令行上工作但在 Swing 上失败

转载 作者:行者123 更新时间:2023-11-30 09:44:33 25 4
gpt4 key购买 nike

这个问题是这个问题的后续问题: BufferedReader readLine method hangs and block program

我现在有一个服务器和一个可以流畅运行的客户端,但后来我尝试使用swing实现一个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);
}

}

当从主函数调用时,这段代码工作得很好。在 swing 中,我有一个调用以下方法的按钮:

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)

它可以是什么?再次感谢

最佳答案

连接被拒绝意味着您在连接时指定的 IP:端口没有任何监听。

你怎么还有DataOutputStream?

关于java - 套接字在命令行上工作但在 Swing 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com