我有一个用 PHP 创建的套接字,我在 flash/as3 中连接到该套接字。它的工作效率为 99%,但是...
$bytes = socket_recv($socket, $buffer, 2048, 0);
if ($bytes == 0) {
//User disconnects
$index = array_search($socket, $read_sockets);
$tehEC = socket_last_error();
$CID = $read_sockets[$index];
$DNAME = $DB->db->query("SELECT * FROM chat_online WHERE connectid='$CID'");
$BROW = $DB->db->fetch_array($DNAME);
$BNAME = $BROW['user_name'];
$DB->db->query("DELETE FROM chat_online WHERE connectid='$CID'");
echo "dc " . $tehEC . "\n";
send_Message($allclients, $socket, $BNAME . ": /disconnected " . $BNAME); <-- WILL NOT SEND
unset($read_sockets[$index]);
send_Message($allclients, $socket, $BNAME . ": /disconnected " . $BNAME); <-- WILL NOT SEND
socket_close($socket);
}
因此,当用户断开连接时,我已经能够触发一个事件,但是那条不发送的线路让我的生活真的很艰难:(有什么帮助吗?我需要它把它发送给其他客户,这样我就可以删除用户. 再说一次,我怎样才能让套接字服务器向所有仍然在线的客户端发送消息,以便他们知道从列表中删除断开连接的用户。