gpt4 book ai didi

c# - 我应该在套接字接收和另一个之间使用 Thread.Sleep 吗?

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

我有一个循环,其中我必须使用套接字接收 N 字节的数据

int bytesRead = 0;
int offset = 0;

do
{
var buffer = new byte[N - offset];
bytesRead = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
Buffer.BlockCopy(buffer, 0, packet.Buffer, offset, bytesRead);
offset += bytesRead;

// Thread.Sleep(How much have I to sleep?);
}
while (offset < N);

packet.Buffer 是我存储所有数据的地方。

我是否应该在套接字接收和另一个之间使用 Thread.Sleep 来等待足够的数据到达?如果是,多少毫秒?

最佳答案

无需休眠 - socket.Receive 调用将阻塞,直到数据可用。

来自relevant MSDN page

...If no data is available for reading, the Receive method will block until data is available...

关于c# - 我应该在套接字接收和另一个之间使用 Thread.Sleep 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13766095/

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