是这样的,我有个C#写的客户端程序需要控制一个充当服务器端的设备。此设备是个单片机控制的电子设备,处理能力很小,所以我的客户端程序需要发送完一个命令,等他返回后在发送下一个命令,并且同一时间只能有一个客户端连接它。但是我需要发送数据的情况却比较多,比如用户点击控制按钮,并且,有一个轮训的程序,一旦发现异常,也要发命令。这些用户操作和轮询可能在同一时间。那么这个程序应该怎么处理这些异步操作呢?
首先,我想用一个长连接,不想发送完一次就断开,因为设备用的gprs,总是连接效率太低。
那么所有异步情况的发送就都需要这个socket链接,我不太会处理,想单写个发送池,所有需要发送的命令都放入池中,等待发送,并且在接受返回值时对他们的结果进行相应处理。 请问大家有没有更好的方法?
如果我使用这个方法的话,我用什么来存储这些命令比较好?放在堆栈里?
请大家不吝赐教,谢谢!
首先,我想用一个长连接,不想发送完一次就断开,因为设备用的gprs,总是连接效率太低。
那么所有异步情况的发送就都需要这个socket链接,我不太会处理,想单写个发送池,所有需要发送的命令都放入池中,等待发送,并且在接受返回值时对他们的结果进行相应处理。 请问大家有没有更好的方法?
如果我使用这个方法的话,我用什么来存储这些命令比较好?放在堆栈里?
请大家不吝赐教,谢谢!
还有一点就是判断它是否处于活动状态,你还要关闭Socket,如果没有关闭,Socket会提示有一个连接。