套接字是否过期?
问题描述:
我在创建一个$套接字然后做一个socket_sendto
之后会做很长时间的睡眠。 它会工作吗? 或者我应该每次做socket_create
和socket_sendto
?套接字是否过期?
<?php
$server_ip = '127.0.0.1';
$server_port = 12345;
$message = "test";
if ($socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) {
while(true) {
sleep(get_sleep_time()); // get_sleep_time return random time > 100000 seconds
socket_sendto($socket, $message, strlen($message), 0, $server_ip, $server_port);
}
} else {
print("can't create socket\n");
}
?>
答
套接字在客户端关闭之前不会过期,换句话说就是socket_close()。这应该很好。
只有一种方法可以真正知道,它是通过尝试它!因此说,套接字不会过期。这就是为什么当你完成后你应该“关闭”连接。 – Leron 2014-10-29 04:04:49