我有一个客户端 - 服务器应用程序,客户端在Windows Mobile 6设备上,用C++编写,服务器在完整的Windows上,用C#编写.
最初,我只需要它从客户端向服务器发送消息,服务器只发回一个确认收到消息.现在,我想更新它,以便服务器实际上可以向客户端发送消息以请求数据.正如我目前设置的那样,客户端在向服务器发送数据后才处于接收模式,这不允许服务器随时发送请求.我将不得不等待客户数据.我的第一个想法是在客户端上创建另一个线程,使用一个单独的开放套接字,监听服务器请求......就像服务器已经拥有的客户端一样.是否有一种方法,在同一个线程内并使用相同的套接字,可以随时向所有服务器发送请求?
你可以使用一些东西,WaitForMultipleObjects()并传递一个接收缓冲区和一个事件,告诉它有数据要发送?
当我需要编写一个客户端 - 服务器模型的应用程序时,客户端可以随时离开并进入,(我假设你的应用程序也是如此,当你使用移动设备时)我确保客户端发送在线消息到服务器,表明他们已经连接并准备好做他们需要做的事情.
那时服务器可以通过相同的开放连接将消息发送回客户端.
此外,但我不知道这是否适用于你,我有一些心跳客户端发送到服务器,让它知道它仍然在线.这样,服务器就知道客户端何时被强行断开网络,并且可以将该客户端标记为脱机.
| 归档时间: |
|
| 查看次数: |
2338 次 |
| 最近记录: |