【发布时间】:2017-09-07 08:23:53
【问题描述】:
我使用下面的代码连接到一个 php websocket。
serverAddr = InetAddress.getByName(ip_str);
socket = new Socket(serverAddr, port_str);
mBufferIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
试图打开一个套接字并想监听来自服务器的数据。
ip_str 是这样的:wss://xyz.com:8181/game 其中 xyz 是实际主机名,8181 是虚拟端口号(已给出虚拟值,因为我无法在此处给出实际值 -但它在网络上工作正常,因为我们试图通过网络连接相同的套接字)。
在这一行:
socket = new Socket(serverAddr, port_str);
我收到以下错误消息:
java.net.ConnectException: failed to connect to ip6-localhost/::1 (port 8181): connect failed: ECONNREFUSED (Connection refused)
有人知道我为什么会遇到这个问题吗?
【问题讨论】:
-
在您尝试连接的 IP:port 上没有任何东西在监听。
-
不明白,因为我是套接字新手。它在网络上运行良好。
-
看起来
port为零。这不可能是正确的。 -
但是错误信息中明确写着
(port 0)。 -
除了错误地称为
port_str的变量的名称 之外,您没有显示任何内容。它不是一个字符串,您还没有显示它的值是 8181,或者实际上是任何非零值。错误消息与您不符。