gpt4 book ai didi

C# 套接字发送与 BeginSend 性能

转载 作者:太空宇宙 更新时间:2023-11-03 22:12:48 25 4
gpt4 key购买 nike


所以我明白 Send 是同步的,而 BeginSend 是异步的。我听说套接字发送方法的数据传输速度比 BeginSend 快(注意:我不是在谈论 CPU 性能,而只是发送和接收数据包延迟)。谁能告诉我这是真的还是假的?我指的是我听说同步数据传输的文章如下所示……如果是真的,有办法解决吗?或者这就是使用异步数据传输时的情况?

非常感谢您的帮助。

文章正文:

这两种通信形式都是一种传输数据的方式。区别在于数据传输的格式。异步通信是最广泛用于 PC 通信的通信方法,通常用于电子邮件应用程序、Internet 访问和异步 PC 到 PC 通信。通过异步通信,数据一次传输一个字节,每个字节包含一个起始位、八个数据位和一个停止位,因此总共产生十位。对于异步通信,会产生大量开销,因为发送的每个字节都包含两个额外的位(起始位和停止位),因此性能会大幅下降。

同步通信是更有效的通信方法。 CQ 的连接解决方​​案通过同步通信方法进行通信。通过同步通信,数据以大数据 block 的帧形式传输,而不是庞大的单个字节。同步的一个优点是控制信息很容易插入每个 block 的开头和结尾,以确保恒定的定时或同步。同步的另一个优点是它比异步更高效。例如,56 Kbps 的拨号同步线路每秒可以传输 7000 字节 (56000/8),而 56 Kbps 的拨号异步线路每秒只能传输 5600 字节 (56000/10)。在传输大量信息时,这会转化为速度和性能的显着提高。

最佳答案

I've heard that the Sockets Send Method is faster for data transfer then BeginSend

不正确。

至于文章正文。你在谈论两件截然不同的事情。计算机程序中的异步网络连接和异步方法。

关于C# 套接字发送与 BeginSend 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6060030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com