English 中文(简体)
将 socket send/ receive 超时设置在.NET 中小于 500米的套接字发送/接收超时
原标题:Setting socket send/receive timeout to less than 500ms in .NET
最佳回答

简单的答案是"你不知道"

Send () Receive () 调用程序流阻断,直到数据发送、收到或发生错误。

如果您想要对您的电话拥有更多控制权, 有很多可用的机制。 最简单的办法是使用 < code> Polll ()

Socket s;
// ...
// Poll the socket for reception with a 10 ms timeout.
if (s.Poll(10000, SelectMode.SelectRead))
{
    s.Receive(); // This call will not block
}
else
{
    // Timed out
}

您也可以使用 select () , beginReceive () receiveAsync () 来进行其他类型的行为。

我建议您阅读 Stevens UNIX 网络编程第 6 章和第 16章, 了解关于非阻塞套套接字使用情况的更深入信息。 尽管这本书以 UNIX 名称命名, 但整个套接字结构在 UNIX 和 Windows (和. net) 中基本相同 。

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签