我在让 sslstream 相互发送多条消息时遇到了一些麻烦。
我打电话给客户发送数据的方式
client.Send(objectOne);
client.Send(objectTwo);
我收到的错误消息是:
The BeginWrite method cannot be called when another write operation is pending
我已经尝试了不同的解决方案来让它工作,但没有一个能让它工作。
基函数使用 await,并且该函数被调用
// client send
public void Send(object data)
{
byte[] sendData = SerializationHelper.Serialize(data);
base.Send(sendData);
}
// base send
protected async void Send(byte[] data)
{
await stream.WriteAsync(data, 0, data.Length);
}
基函数返回一个任务,并在客户端方法中使用 await
// client send
public async void Send(object data)
{
byte[] sendData = SerializationHelper.Serialize(data);
await base.Send(sendData);
}
// base send
protected async Task Send(byte[] data)
{
await stream.WriteAsync(data, 0, data.Length);
}
我仍然收到同样的错误,有人知道让它工作吗?