2016-07-08 32 views
1

私は動作中のJavaソケットを持っていますが、PHPで接続するためのヘルプが必要です。PHPソケット接続が拒否されました(Javaサーバー)

私の問題:JavaクライアントからJavaソケットに接続してメッセージを送受信できますが、PHPで同じソケットに接続しようとすると接続されません。

これは、私は、whileループでソケットを持っているものです。

Socket socket = serverSocket.accept(); 
System.out.println("Got connection"); 
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
PrintWriter out = new PrintWriter(socket.getOutputStream(), true); 
String cmd = in.readLine(); 
System.out.println("Received: " + cmd); 
String response = "It worked. Received: " + cmd; 
out.println(response); 
... 

(心の中でこの部分の作品を保つ)そして、ちょうどこれはクライアントである、働く残りの半分を表示する:

Socket socket = new Socket("<ip>", port); 
PrintWriter out = new PrintWriter(socket.getOutputStream(), true); 
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
out.println("test msg"); 
out.flush(); 
System.out.println("Sent message"); 
String r = in.readLine(); 
System.out.println("Response: " + r); 

今は動作しない部分です。
これは私が試してみて、PHPと接続するためにやっているものです:

出力があること実行
$s = fsockopen('<ip>', $port, $errno, $errstr, 25); 
if (!$s) { 
    echo 'Error: '.$errstr; 
    die; 
} 

:「エラー:接続が拒否されました」

は、PHPは接続できない理由を私は診断することができますどのように誰もが知っていますJavaクライアントはできますか?彼らは両方ともソケットに外部からアクセスしています。そして、Javaクライアントは接続することができるので、ブロックされません。私が設定するのを忘れたプロトコルがありますか?

私は同じ質問をしている何十人もの人を見てきましたが、誰も答えを提供していませんでした。

答えて

0

fsockopenが許可されているかどうかphp.iniを見ましたか?

1、php.iniの、行を探します。disable_functions = fsockopenの 2、php.iniの、allow_url_fopenを=オンまたはallow_url_fopenを=

+0

オフ私はphp.iniのへのアクセスを持っていないが、私はできた参照すべてのオプションを見るには 'phpinfo(4)'を実行してください。 allow_url_fopenは "On"で、disable_functionsは値を持たない。 –

関連する問題