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选项=关
我用不上为php.ini,但我可以运行'phpinfo(4)'查看所有选项。 allow_url_fopen是“On”,disable_functions没有任何值。 –