PHP套接字拒绝连接(Java服务器)

PHP套接字拒绝连接(Java服务器)

问题描述:

我有一个可用的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客户端可以连接它并不被阻塞。有没有我忘了设置的协议?

我看了几十个同样的问题的其他人,但没有人提供了答案。

如果允许fsockopen,你看看php.ini吗?

1,php.ini中,寻找行:disable_functions选项=的fsockopen 2,php.ini中,看到了allow_url_fopen = On或allow_url_fopen选项=关

+0

我用不上为php.ini,但我可以运行'phpinfo(4)'查看所有选项。 allow_url_fopen是“On”,disable_functions没有任何值。 –