c# - 使用异步套接字的回调

标签 c# sockets .net-3.5 asynchronous

我的问题非常简单,是关于异步套接字,使用 TCP 协议(protocol)。

当我使用“BeginSend”方法发送一些数据时,什么时候会调用回调?

当数据刚刚发送到网络时,或者当我们确保数据到达目的地时(就像它应该与 TCP 规范有关),它会被调用吗?

感谢您的回答。

风筝。

ps:如果我的英语有点不好,我很抱歉^^。

最佳答案

来自 MSDN:

“当您的应用程序调用 BeginSend 时,系统将使用单独的线程来执行指定的回调方法,并会在 EndSend 上阻塞,直到 Socket 发送了请求的字节数或引发异常。”

“发送的成功完成并不表明数据已成功传递。如果传输系统内没有可用的缓冲区空间来保存要传输的数据,则发送将阻塞,除非套接字已置于非阻塞模式”

http://msdn.microsoft.com/en-us/library/38dxf7kt.aspx

关于c# - 使用异步套接字的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1594705/

相关文章:

ios - iOS 上的 VoIP 套接字 - 未收到通知

java - 如何通过 Java 中的 Socket 编程将 post 数据(包含 2 个参数)发送到 https 服务器

c# - 子集和问题

c# - 如何修复错误 : Cannot call the requested method (GetBasicPropertiesAsync). 之前对此方法的调用正在挂起

c# - WriteableBitmap 内存泄漏?

java - 无法在基于PC的Java服务器上运行我的android客户端

.net-3.5 - 进程突然崩溃,没有错误

c# - 使用 C#,如何在 Windows Vista,7,2008 中复制符号链接(symbolic link)

c# - 如何将 app.config 添加到 Visual Studio 2012 Web Express lib 项目?

c# - 标签数组