SocketAsycnEventArgs は Windows XP 以上でしかサポートされていないらしい

SocketAyncEventArgs を使った通信は WindowsXP 以上でしかサポートされていないみたい。まぁこだわらなくて良いので Begin/End パターンを使えばいいか。操作ごとに SocketError がとれて便利だったけど。
.NET のヘルプで Socket.Poll を調べてみると、Socket.Poll(0, SelectRead) で true が返ってきたら切断と判断できるっぽい。早速プロキシサーバーに導入してみたけど以前よりうまく切断を判断できるようになった。ほかにも読み取れる場合 true が返ってくるみたいだけど、矛盾してない?とりあえずこれでいってみる。