我使用通过发送大量的缓冲区有一个插座,即时通讯,如果生病做类似净异步的Socket多线程发送
// may be accsed form a a lot of threads
void Send(byte[] buffer)
{
m_socket.BeginSend(buffer ... , SendCallback);
}
void SendCallback()
{
m_socket.EndSend()
// if not done sending- send the reset
m_socket.BeginSend()
}
我的问题是:从一个多线程的立场来看这个工作,或者缓冲区会交错吗?
你能对你正在使用的API更清晰?我没有看到与您的调用相匹配的Socket.Send()重载。 – 2010-07-04 09:47:31
对不起,函数名称错误,编辑过。 im使用: \t \t public IAsyncResult BeginSend(byte [] buffer,int offset,int size,SocketFlags socketFlags,AsyncCallback callback,object state); – 2010-07-04 09:59:52