none
udp实时接收数据 RRS feed

  • 问题

  • 问题:PC需要同两块板子通信,实时接收两块板子发来的数据并显示,我是用同步呢还是异步呢?数据量不大,每隔3-5秒发一个包,每个包的大小不超过100个字节,不考虑丢包的问题,包不完整就丢弃,我的问题徘徊在不知道如何选择同步还是异步,对性能稍有要求,另外,如果判断超时,问题的重点在于我这样的项目环境,是采用同步还是异步,请高手赐教,请高手讲解采用同步或者异步的原因,并给出同步socket和异步socket的适用场景,尽量结合实际经验回答!谢谢!
    2011年4月29日 8:28

答案

  • 你好

    同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 
    异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

    假如用户的SOCKET连接数据比较短暂的。一次连接直接发送数据的或客户端比较少的就使用同步;假如用户的SOCKET属于长时间连接的就使用异步方式。


    Cookie Luo[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 CodeMing 2011年7月29日 6:42
    2011年5月2日 6:30
  • 采取同步还是异步通信方式的问题其实不属于编程语言的范畴,这个应该属于通信范畴的问题,以及和你的项目的背景需求相关。简单的说,如果你的PC能够及时处理接收到的数据,或者你的项目需要及时处理收到的数据,则应该采用同步方式;否则应该采用异步方式。总的来说,实现同步通信较为复杂,但是能获得比异步更好的性能。

    由于不清楚你项目的详细情况,不能做出恰当的判断。这里泛泛地说了一下,希望对你有用。

    • 已标记为答案 CodeMing 2011年7月29日 6:42
    2011年5月2日 8:59

全部回复

  • 你好

    同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 
    异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

    假如用户的SOCKET连接数据比较短暂的。一次连接直接发送数据的或客户端比较少的就使用同步;假如用户的SOCKET属于长时间连接的就使用异步方式。


    Cookie Luo[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 CodeMing 2011年7月29日 6:42
    2011年5月2日 6:30
  • 采取同步还是异步通信方式的问题其实不属于编程语言的范畴,这个应该属于通信范畴的问题,以及和你的项目的背景需求相关。简单的说,如果你的PC能够及时处理接收到的数据,或者你的项目需要及时处理收到的数据,则应该采用同步方式;否则应该采用异步方式。总的来说,实现同步通信较为复杂,但是能获得比异步更好的性能。

    由于不清楚你项目的详细情况,不能做出恰当的判断。这里泛泛地说了一下,希望对你有用。

    • 已标记为答案 CodeMing 2011年7月29日 6:42
    2011年5月2日 8:59
  • 采取同步还是异步通信方式的问题其实不属于编程语言的范畴,这个应该属于通信范畴的问题,以及和你的项目的背景需求相关。简单的说,如果你的PC能够及时处理接收到的数据,或者你的项目需要及时处理收到的数据,则应该采用同步方式;否则应该采用异步方式。总的来说,实现同步通信较为复杂,但是能获得比异步更好的性能。

    由于不清楚你项目的详细情况,不能做出恰当的判断。这里泛泛地说了一下,希望对你有用。


    您好,PC需要长时间跟板子连接,数据处理很及时,局域网通信,是同步还是异步呢?
    2011年5月3日 1:11