PHP套接字客户端在循环中的itertion
我想在PHP中实现一个客户端套接字 套接字类型为TCP/IP,运行全双工通道。 客户端必须每秒向服务器发送一次请求,因此必须在循环中运行 我是否必须为每个请求重新创建并连接到套接字? 还是通过循环创建并连接到外部的套接字,然后管理通信更好PHP套接字客户端在循环中的itertion,php,sockets,loops,Php,Sockets,Loops,我想在PHP中实现一个客户端套接字 套接字类型为TCP/IP,运行全双工通道。 客户端必须每秒向服务器发送一次请求,因此必须在循环中运行 我是否必须为每个请求重新创建并连接到套接字? 还是通过循环创建并连接到外部的套接字,然后管理通信更好 <?php while (true) { //management of the pid here //create the socket $socket = socket_create (AF_INET, SO
<?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
谢谢。您应该在循环外部连接一次套接字,然后在整个应用程序会话中使用它。循环完成后断开套接字。创建套接字会消耗大量资源,由于您没有连接到多个点,因此应在循环外部创建套接字。问题是循环必须始终保持活动状态。在端点返回一个while错误后,我必须为持久连接使用特定的选项。处理重新连接的最佳方法是什么?谢谢如果您遇到错误,请退出循环,重新连接,然后返回到循环中?非常感谢Socket_bind通常只用于服务器。客户端使用套接字连接。