PHP 서버에서 노드 서버로 일부 데이터를 보내야합니다. 성공적으로 내 노드 서버 및 출력이 메시지를 전송다시 쓰기 전에 socket_write가 완료 될 때까지 기다리십시오.
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, '127.0.0.1', '3000');
socket_write($socket, "Hello World", 11);
socket_close($socket);
이 코드를 실행 :
는 여기에 지금까지 PHP 측에서 무슨의 단순화 된 버전입니다.
그러나 소켓으로 둘 이상의 메시지를 다시 보내야합니다. 실제로 수천 건의 응답을 보내야합니다. 내가 였다면과 같이 루프 내에서 socket_write()
함수를 호출합니다 : 함께 모든 데이터를 추가하고 스크립트의 끝에서 한 번에 보낼 것으로 보인다
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, '127.0.0.1', '3000');
for($i=0;$i<1000;$i++){
socket_write($socket, "Hello World", 11);
}
socket_close($socket);
. 실시간으로 데이터를 다시 보내야합니다. PHP에서이 작업을 수행 할 수있는 방법이 있습니까?
소켓이 성공한 답을 보내는 곳은 어디입니까? 리소스를 사용할 수 있는지 확인하는 방법은 무엇입니까? 보내기, 성공한 메시지 받기, 다시 보내기. 왜 소켓을 사용하여 대답 할 필요가 없다면? 정적 파일로 제공. – dsgdfg
@dsgdfg 노드 서버가 데이터를 수신했다는 확인을받을 필요가 없습니다. 소켓에 대한 연결이 실패하면 예외가 발생합니다. –
@dsgdfg 노드 서버가 성공 응답을 반환하도록해야합니까? 어쩌면 그게 PHP의 루프의 다음 반복에 가서 멋지다 내 유일한 방법이 될 것입니다 –