关于asynchronious sockets
,我想知道在发送所有数据之前是否可以保留线程?
随着使用Socket.BeginSend
public IAsyncResult BeginSend(
byte[] buffer,
int offset,
int size,
SocketFlags socketFlags,
AsyncCallback callback,
Object state
我在缓冲区参数内发送数据。我想知道是否有可能在所有数据真正从这里发送之前以某种方式阻塞线程(不考虑另一端是否收到数据)?所以我可以调用一个Socket.BeginReceive
方法?
--
使用委托是否足够好ManualResetEvent
(我称之为“sendDone”)?
例子:
private static ManualResetEvent sendDone = new ManualResetEvent(false);
//inisde a method call WaitOne() method:
sendDone.WaitOne();
这够好吗?或者有没有更好的替代方案?
谢谢ans