我想在PHP中實現客戶端套接字。循環迭代中的PHP套接字客戶端
套接字類型是TCP/IP並運行一個全雙工通道。 客戶端必須每秒向服務器發送請求,因此它必須循環運行。
我是否必須重新創建並連接到每個請求的套接字? 或者是更好地創建並連接到外部的套接字然後管理通信?
<?php
while (true) {
//management of the pid here
//create the socket
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
//send the request
$sent = socket_write ($socket, <query>, <length>);
//get the answer
$response = socket_read ($socket, 1024);
//close the socket
socket_shutdown ($socket, 2);
usleep (500);//wait remote host
socket_close ($socket);
sleep (1);
}
?>
我已經在循環之外實現了套接字連接和內部的請求管理。
但連接保持活動狀態幾分鐘,然後在端點連接上返回錯誤。
在這種情況下是否需要使用socket_bind?
謝謝。
問題是循環必須始終保持活動狀態。我必須爲持久連接使用特定的選項(在端點返回錯誤後)。什麼是處理重新連接的最佳方式? 謝謝 – user2731902
如果出現錯誤,請退出循環,重新連接並返回循環。 – Barmar
我正在實現一個客戶端: 套接字必須使用選項socket_bind創建? 非常感謝你 – user2731902