0

これを引き起こす原因は何ですか?

このプロジェクトに取り組むために、ラップトップを友達の家に移動しました。私は彼のxfinityルーターで同じポートを開き、コードのすべての領域を彼のIPに変更しました。ただし、クライアントはメッセージを送信しており、サーバーはコードのこの部分を通過したことがないようです。

System.out.println("running server!");
        int nreq = 1;
        try{
            //SET ME PORT
            ServerSocket sock = new ServerSocket(7332);
        for(;;){
            Socket newsock = sock.accept();
            System.out.println("Creating thread...");
            //Broken Old Login crap, needs reworked for map n stuff anyhow now
        //  Thread t = new ThreadHandler(newsock, nreq);
            Thread t = new RequestInterpreter(newsock, nreq);
            //t.run();
            t.start();
            nreq++;
        }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }    

「スレッドの作成」を印刷することはありません。ここで何がうまくいかないのか、どこから始めればよいのかわかりません。

変更されたのは、家、IP、ルーター、インターネットだけです。他のどこでも動作します。それらの変更については、クライアントが送信するのをブロックする可能性があります

これも私が書いたテストクライアントです。

import java.io.DataInputStream;
import java.io.PrintWriter;
import java.net.Socket;




public class testClientConnection {

    public static void main(String[] args) {

        System.out.println("Starting testConnection");
        try{            

        Socket s = new Socket("xx.xx.xx.xxx", 7332);        

        DataInputStream fromServer = new DataInputStream(s.getInputStream());  
        PrintWriter toServer = new PrintWriter(s.getOutputStream(), true);    
        toServer.println("account name");
        toServer.println("password");
        toServer.println("Login");

        System.out.println("Sent message...");

        String response = fromServer.readLine().toString();
        //Toast the result here?  //testing

        System.out.println("response: " + response);
        if (response.equals("Login Success")) {

System.out.println("Login Success!!!");
        }
        }
        catch(Exception e){   /         
        }       
    }
}

巨大なアップデート!

さて、私のクライアントはAndroidスマートフォンで、Wi-Fiをオフにしたので、4g-LTEになりました。それからそれは働いた。だから...何かがクライアント側のコードをブロックしています。それは何でしょうか?

4

2 に答える 2

0

問題はルーターの NAT です。

ルーターが外部からの着信要求の送信先を認識できるようにポート転送を設定しない限り、サーバーは NAT デバイスの背後では機能しません。

于 2012-12-23T01:07:51.650 に答える
0

友人のルーターのファイアウォールは、通常の容疑者です。2 番目に疑われるのは、ターゲット マシンのファイアウォールです。

それらを無効にしてみてください。

于 2012-12-22T01:52:57.327 に答える