当前位置: 代码迷 >> WinCE >> C# WinCE下使用Socket异步测试1000条讯息快速发送,发现大量丢失,客户端怎么判断发送成功
  详细解决方案

C# WinCE下使用Socket异步测试1000条讯息快速发送,发现大量丢失,客户端怎么判断发送成功

热度:73   发布时间:2016-04-28 13:08:36.0
C# WinCE下使用Socket异步测试1000条讯息快速发送,发现大量丢失,客户端如何判断发送成功?
C# WinCE作为客户端,服务端在Win7上,用BeginSend方式循环发送1000条数据,会有大量丢失,如果延迟500毫秒则能成功。

1、而我这边的应用需求将投入大量的客户端,进行与服务端的通讯,那么是不是意味将来客户端很多的情况下异步收发将会有很多丢失情况呢?

2、无法在客户端判断发送成功的状态,必须根据服务器端回复消息来判断结果吗?

3、如果服务器一段时间无回复,客户端则重复发送吗?

------解决方案--------------------
无法在发送端判的,因为网络的原因。
------解决方案--------------------
探讨
引用:
UDP 不能用于大量数据的传输的,而且要保证数据的可靠性必须采用握手机制。


谢谢4楼的回答!
不过我用的TCP方式,由于经验不足,所以不知道如何来实现这样一个完善的机制应对大量的并发
最终是不是应根据客户端响应时间情况,来重复发送?

------解决方案--------------------
1、高频次并发容易造成异步接收无响应

2、发送方是无法判断成功状态的,必须接收方回复确认

3、发送无回复时,则认为发送失败,重复发送是必然的