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