掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
[VB.NET]VistaでSetSocketOptionを使用するとInvalid argumentが発生します (ID:100779)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
並行して質問です。 上記のコードは、『他アプリケーションにBindされているLocal Endpointから、UDPパケットを飛ばす』ことを目的にかかれたものです。 同様の効果を得る命令として、以下がより効果的であることに気づきました。 Dim u As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.udp) Dim localIPEndPoint = New IPEndPoint(IPAddress.Any, 6112) u.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1) u.Bind(localIPEndPoint) u.SendTo(data, 0, data.Length, SocketFlags.None, RemoteEP) SocketOptionName.ReuseAddressを使って、既にBindされているポートからパケットを飛ばそうという考えです。 しかし同上、Windows XPでは機能するものの、Windows Vistaでは機能しません。[ アクセス許可で禁じられた方法でソケットにアクセスしようとしました。 ]と表示されます。 どうにかしてこれらを回避し、他Socketに既にBindされているポートをLocal Endpointに持つUDPパケットを作る方法はないのでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.