gpt4 book ai didi

java - 在另一个网络上运行套接字客户端时连接超时

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:11 25 4
gpt4 key购买 nike

我的问题是,当我在另一个网络(我的手机热点)上运行客户端时,出现“java.net.ConnectException:连接被拒绝:连接”异常。它在同一网络上工作正常,我认为这是防火墙的问题,但即使在启用 Eclipse 并为每种类型的网络禁用防火墙后,它仍然无法工作。

客户:

import java.io.*; 
import java.net.*;
public class MyClient {
public static void main(String[] args) {
try{
Socket s=new Socket("192.168.0.36",6666);
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
dout.writeUTF("Hello Server");
dout.flush();
dout.close();
s.close();
}catch(Exception e){System.out.println(e);}
}
}

服务器:

import java.io.*;  
import java.net.*;
public class MyServer {
public static void main(String[] args){
try{
System.out.println("Server Running");
ServerSocket ss=new ServerSocket(6666);
Socket s=ss.accept();
DataInputStream dis=new DataInputStream(s.getInputStream());
String str=(String)dis.readUTF();
System.out.println("message= "+str);
ss.close();
}catch(Exception e){System.out.println(e);}
}
}

最佳答案

您需要使用全局 IP 地址而不是本地 IP 地址。目前,“192.168.0.36”位于您的本地网络上。如果您希望从其他网络访问它,则需要使用您的全局 IP 地址。有一些工具意味着您不需要记住您的全局 IP 地址(或给出它),例如 NO-IPMY-IP还会告诉您您的全局 IP 地址。

顺便说一句,您可能还需要在路由器上转发端口 6666。仅查看这一点,上面的内容本身不起作用。您可能需要两者都做。根据路由器的制造商,您可以在 Google 上轻松获取有关端口转发的信息。

希望这有帮助!

关于java - 在另一个网络上运行套接字客户端时连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52301595/

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