我需要能够随时从服务器异步接收消息。但是,我也想使用同步套接字;当我发送消息时,我想阻止直到收到回复。同步和异步能很好地相互配合,还是会产生问题?
换句话说,我使用BeginReceive()
来异步监听。如果我调用 Receive()
(据我所知是同步版本),Receive 回调、BeginReceive
回调是否会拾取下一条传入消息,两者都不是,或者更糟?
这将发生在客户端,服务器可以保持 100% 异步。
最佳答案
Do synchronous and asynchronous play well with each other?
没有。一般来说,他们在一起玩得不好。
这并不是说它永远无法完成,但它有时是不可能的,而且通常令人困惑且难以处理。除非您有令人信服的理由不这样做,否则我建议您坚持只使用其中之一。
关于c# - 我可以在一个项目中使用异步和同步套接字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16090825/