Кто-нибудь знает, что делает Socket.UseOnlyOverlappedIO, и если да, то это влияет на производительность? По-видимому, в MSDN нет реального объяснения.
Спасибо заранее.
Извините за старый пост, но это вызвало у меня некоторые проблемы!
Ответ неправильный: UseOnlyOverlappedIO (по крайней мере, в .net 4) означает, что асинхронные вызовы (другие, которые XXAsync) в сокете не привязаны к порту завершения ввода-вывода.
Значение игнорируется для вызовов XXAsync, что означает, что порты ввода IO всегда используются, поэтому вы не можете делать такие вещи, как дублирование сокета для другого процесса.
Независимо от того, повлияет ли это на производительность, зависит от вашего приложения, проверьте его с помощью обоих!
Это приводит к тому, что сокет использует Overlapped I/O вместо блокировки. В однопроцессорных/одноядерных системах это может привести к некоторым преимуществам производительности, но оно, как правило, менее полезно для многопроцессорных систем.