我是使用java socket的新手。我有一个问题,我无法解决。 我有一个带有公共IP的服务器,java服务器执行,然后我有一个Android应用程序客户端。 随着套接字我从客户端到服务器进行通信,当我尝试以相反的方式执行时问题就出现了。 我尝试从服务器向客户端发送确认消息。 我尝试了多少次并不重要,因为我总是遇到这个错误:
java.net.ConnectException:连接被拒绝:连接
my_graph = {}
with open("myfile.csv") as f:
for l in f:
split_lines = l.split(",")
my_graph[int(split_lines[1])] = int(split_lines[2])
HYBAS_ID = 2120523430
current_hybas = my_graph[HYBAS_ID]
return_value = [HYBAS_ID]
while current_hybas != 0:
return_value.append(current_hybas)
current_hybas = my_graph[current_hybas]
print return_value
我有路由器端口9000和9001打开。
客户端通过端口9000发送数据,服务器将其重新发送。 然后,当应用程序等待
时,服务器通过端口9001发送它们答案 0 :(得分:0)
if(password.equals("asd")){
System.out.println("Abriendo socket");
socketSalida = new Socket(socketEntrada.getInetAddress().getHostAddress(),puertoSalida);
DataOutputStream datosSalida = new DataOutputStream(socketSalida.getOutputStream());
datosSalida.writeUTF("OK");
}
问题出在这里。您的服务器正在尝试连接到您的客户端,但它不能,因为您的客户端是客户端,而不是服务器。
它并不需要。它已经与客户端建立了连接,即从中读取密码的客户端。将其更改为:
if(password.equals("asd")){
System.out.println("Abriendo socket");
DataOutputStream datosSalida = new DataOutputStream(socketEntrada.getOutputStream());
datosSalida.writeUTF("OK");
}