PHP套接字编程:客户端的唯一资源ID并在线检查客户端

时间:2016-08-01 05:01:26

标签: php android sockets socket.io tcp-ip

我是套接字编程的新手。我被指派开发PHP套接字服务器与多个客户端(android应用程序)进行通信。

我正在使用Ratchet- http://socketo.me/docs/hello-world来开发套接字。

1)当我连接客户端时,服务器为连接分配资源ID。我可以使用该资源ID向客户端发送数据。但在我断开连接并再次连接后,它会为该连接分配不同的资源ID。每次相同的客户端重新连接时是否可以使用相同的资源ID?

2)如果客户端断开连接,我可以从onClose函数方法

获取它
public function onClose(ConnectionInterface $conn) {
    // The connection is closed, remove it, as we can no longer send it messages
    $this->clients->detach($conn);
    echo "Connection {$conn->resourceId} has disconnected\n";
}

public function onError(ConnectionInterface $conn, \Exception $e) { 
    echo "An error has occurred: {$e->getMessage()}\n"; 
    $conn->close();
}

何时调用onError方法?

3)如果由于互联网问题导致客户端连接丢失,服务器如何知道呢?我的想法是每30秒从服务器向每个客户端发送一些回声数据。如果客户端没有回复数据,则表示连接丢失。还有其他办法吗?

请帮我解决问题

由于

0 个答案:

没有答案