0
我想通过套接字从php到java的通信。我有以下的Java代码:PHP到Java - 套接字
private static ServerSocket socket;
private static Socket connection;
private static String command = new String();
private static String responseStr = new String();
private static int port = 2500;
public static void main(String args[]) {
System.out.println("Server is running.");
try {
socket = new ServerSocket(port);
while (true) {
connection = socket.accept();
InputStreamReader inputStream = new InputStreamReader(connection.getInputStream());
DataOutputStream response = new DataOutputStream(connection.getOutputStream());
BufferedReader input = new BufferedReader(inputStream);
command = input.readLine();
response.writeBytes(responseStr);
response.flush();
}
} catch (IOException e) {
System.out.println("Fail!: " + e.toString());
}
}
我有下面的PHP代码:
<?php
$socket = stream_socket_server("tcp://192.168.0.10:2500", $errno, $errstr);
if (!$socket) {
echo "$errstr ($errno)<br />\n";
} else {
while ($conn = stream_socket_accept($socket)) {
fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
fclose($conn);
}
fclose($socket);
}
我启动Java应用程序,它启动正常,当我运行PHP的,我得到以下错误:
An attempt was made to access a socket in a way forbidden by its access permissions. (0)
我已经搜索谷歌,并尝试了所有我能找到的解决方案,虽然没有任何工作。我重新启动了这两台计算机并禁用了防火墙,但都没有工作。
我不确定该从哪里出发。
[更新自评:]
192.168.0.10与Java应用程序和Web服务器上的机器。我正在从另一台机器连接192.168.0.7
192.168.0.10是机器的IP地址? – alk 2014-09-21 17:26:03
192.168.0.10是带有java应用程序和Web服务器的机器。我从另一台机器连接192.168.0.7 – 2014-09-21 17:42:36
这不会解决您当前的问题,但是您是否考虑过使用AMQP消息传递协议来完成此任务? – SpencerD 2014-09-21 19:15:11