如果我在调用时不提供重叠结构或完成例程,我可以在阻塞模式下使用WSASend()
。但我的问题是:阻塞WSASend()
调用会导致通知数据包被置于完成端口吗?
答案 0 :(得分:3)
问题是形象不对称。在您之前的问题中,我们已经多次这样做了,例如here。要么没有完成例程也没有重叠结构,在这种情况下也没有完成数据包,或者在这种情况下你根本没有处于阻塞模式,你处于异步模式。
答案 1 :(得分:2)
如果您的套接字 已注册完成端口,您可以仍然通过将NULL
传递给完成例程和{{1}来进行阻止呼叫结构参数。并且您将不会收到通知(即使您的套接字已在完成端口注册)。但是,我不知道是否建议在阻止模式下使用OVERLAPPED
,同时在重叠模式下使用WSASend()
。