Socket.UseOnlyOverlappedIO?

2

Кто-нибудь знает, что делает Socket.UseOnlyOverlappedIO, и если да, то это влияет на производительность? По-видимому, в MSDN нет реального объяснения.

Спасибо заранее.

Теги:
sockets

2 ответа

4
Лучший ответ

Извините за старый пост, но это вызвало у меня некоторые проблемы!

Ответ неправильный: UseOnlyOverlappedIO (по крайней мере, в .net 4) означает, что асинхронные вызовы (другие, которые XXAsync) в сокете не привязаны к порту завершения ввода-вывода.

Значение игнорируется для вызовов XXAsync, что означает, что порты ввода IO всегда используются, поэтому вы не можете делать такие вещи, как дублирование сокета для другого процесса.

Независимо от того, повлияет ли это на производительность, зависит от вашего приложения, проверьте его с помощью обоих!

0

Это приводит к тому, что сокет использует Overlapped I/O вместо блокировки. В однопроцессорных/одноядерных системах это может привести к некоторым преимуществам производительности, но оно, как правило, менее полезно для многопроцессорных систем.

  • 0
    Я думаю, это бесполезно, если я уже использую асинхронные сокеты ...
  • 0
    Что ж, если вы развертываете на двухъядерном компьютере и используете асинхронные сокеты, это бесполезно. На одноядерном однопроцессорном компьютере (теоретически) он немного быстрее для асинхронных операций.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню