Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java服务器套接字-仅在本地工作(TCP)_Java_Sockets_Tcp_Client - Fatal编程技术网

Java服务器套接字-仅在本地工作(TCP)

Java服务器套接字-仅在本地工作(TCP),java,sockets,tcp,client,Java,Sockets,Tcp,Client,我有一个用java编写的服务器/客户机应用程序。基本上,当客户端尝试本地连接到服务器(127.0.0.1作为IP)时,一切正常。但是,当我使用我的个人IP地址(家庭地址)时,我会收到一个连接超时错误 *我已正确转发端口,使用 *我还在命令提示符中使用netstat-a进行了检查 *我在9005端口托管 以下是我的一些客户端代码,我假设我做错了什么: public void run() throws UnknownHostException, IOException{ String ser

我有一个用java编写的服务器/客户机应用程序。基本上,当客户端尝试本地连接到服务器(127.0.0.1作为IP)时,一切正常。但是,当我使用我的个人IP地址(家庭地址)时,我会收到一个连接超时错误

*我已正确转发端口,使用

*我还在命令提示符中使用netstat-a进行了检查

*我在9005端口托管

以下是我的一些客户端代码,我假设我做错了什么:

    public void run() throws UnknownHostException, IOException{
String serverAddress = "xx.xx.xx.xxx"; //My actual IP is here in the program

Socket socket = new Socket(serverAddress, 9005);

in = new BufferedReader(new InputStreamReader(
    socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String playerName = JOptionPane.showInputDialog(
        this,
        "Choose Username:",
        "Name Selection",
        JOptionPane.PLAIN_MESSAGE);
out.println("NEW "+playerName);
我对Java服务器编程相当陌生,如有任何建议,将不胜感激。 如果需要,我可以发布更多的代码,只是不想发布太多。 谢谢

编辑:以下是一些服务器代码:

    private final static int PORT = 9005;
    public static void main(String[] args) throws Exception {
Server s = new Server();
s.setSize(50,100);
s.setDefaultCloseOperation(s.EXIT_ON_CLOSE);
s.setVisible(true);
System.out.println("Server running");
ServerSocket listener = new ServerSocket(PORT);

try {
    while (true) {
        new Handler(listener.accept()).start();
    }

你也可以发布你的服务器绑定代码吗?你是在局域网上还是在互联网上这样做的?这将是在互联网上进行的,在本地它工作得很好。昨天有一个非常类似的问题。并不是说你在这么做,但他们的IP地址是192.168.1.2,却没有意识到这不是一个“真正的”IP地址。等等,我看看能不能找到问题。哈,不,不是我的192.168,是实际的IP