以下顺序是否合法?或者只有在EndAccept返回后才会调用下一个BeginAccept()?.NET:BeginAccept()可以在前一个EndAccept()完成之前调用吗?
listener.BeginAccept(AcceptCallback, null);
private void AcceptCallback(IAsyncResult ar)
{
listener.BeginAccept(AcceptCallback, null); //Is this ok ? Or should happen only after next line?
socket = listener.EndAccept(ar);
}
拥有多个未完成的接受是基础Windows API的常见使用模式 - 如果不支持这种情况,我会非常惊讶。 –