我有一台服务器和多个客户端。服务器将字节数组(其中包含某种消息)发送到客户端,客户端将这些数组解析为可理解的形式。
另一点是,服务器发送一种特殊的消息,哪个客户端必须响应它。
我希望服务器连续发送常规消息而不期待响应,以及需要响应的特殊消息,如果它没有得到响应,它将终止连接。
我怎么能这样做?我一直在检查网但找不到任何东西。
Server--->Client(Door Opened)
Server--->Client(Door Closed)
Server--->Client(Are You There?)
Client--->Server(Yeap)
Server--->Client(Plane Has Landed.)
Server--->Client(Are you There?)
.
.
.
答案 0 :(得分:0)
你的问题非常广泛,所以答案也很广泛。
分别记住关注点隔离 单一责任原则。来自那里:你实际上在这里看到两个不同的功能:
当您考虑到这一点时,很明显您可能希望在客户端和服务器中使用完全不同的“组件”来提供这两种不同的功能。喜欢:甚至在客户端/服务器中有两个不同的端口(甚至是不同的线程)。
因此服务器会保留已知客户端的列表。一个线程正在向客户端发送数据;另一个线程定期迭代该列表并要求心跳答案。如果没有及时回答,该客户端将从列表中删除。