java服务器与php客户端的SocketServer通信
我试图在Java中的SocketServer服务器和php中的Socket客户端之间建立通信。 客户端能够连接到主机,客户端能够发送消息,服务器能够成功读取消息。但是,当SocketServer向客户端写入时,客户端不会从服务器接收消息 我已经阅读了关于同一场景java php套接字通信的其他问题,但我似乎无法找到导致问题的原因 如果我使用Java套接字作为客户端,那么通信在两种方式下都能完美地工作 服务器: 客户:java服务器与php客户端的SocketServer通信,java,php,sockets,serversocket,Java,Php,Sockets,Serversocket,我试图在Java中的SocketServer服务器和php中的Socket客户端之间建立通信。 客户端能够连接到主机,客户端能够发送消息,服务器能够成功读取消息。但是,当SocketServer向客户端写入时,客户端不会从服务器接收消息 我已经阅读了关于同一场景java php套接字通信的其他问题,但我似乎无法找到导致问题的原因 如果我使用Java套接字作为客户端,那么通信在两种方式下都能完美地工作 服务器: 客户: 有人能告诉我这里有什么问题吗 在服务器端,代码需要一个以linefeed结尾的
有人能告诉我这里有什么问题吗 在服务器端,代码需要一个以linefeed结尾的行,使用您发送的php
socket_write($socket, $message, strlen($message));
请检查相应发送的数据,确保发送换行符。谢谢Ozgen,这就是问题所在!服务器正在寻找终点线!
class Client {
private $address;
private $port;
public function __construct($address, $port){
$this->address = $address;
$this->port = $port;
$this->init();
}
private function init(){
//create socket
if(! $socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'))){
$this->showError("socket create");
};
//establish connection
socket_connect($socket, $this->address, $this->port);
//write to server
$message = "I am a client";
socket_write($socket, $message, strlen($message)); //Send data
echo "Listening to Server\n";
//read from server
if(!$reponse = socket_read($socket, 2048, PHP_NORMAL_READ)){
$this->showError("socket read");
}
//print response
echo "Response from server------------------\n";
echo $reponse;
socket_close($socket);
}
private function showError($message){
echo ("Error: ".$message);
exit(666);
}
}
$address="localhost";$port=9005;
echo "Testing Client Server\n";
$client = new Client($address, $port);
socket_write($socket, $message, strlen($message));