Netduino Plus 2 を Web サービスに接続して、プロジェクトで使用したい値を検索します。私が Netduino でチェックした値の 1 つは、優先 IP アドレスです。Netduino の IP アドレスが優先とは異なる場合は、変更したいと思います。
私のプロジェクトには、文字列を取る BindIPAddress (以下) というメソッドがあります。
無効な引数のコード 10022 で SocketException を取得しています。これは、this.Socket.Bind を呼び出すと発生します。私のクラスには、Socket 値を保持するための Socket というプロパティがあります。私のソケットにはすでにエンドポイントがあるためですか? this.Socket = null を追加してから、 this.Socket = new (....... 操作するには新しいソケットが必要だと考えましたが、これは同じエラーを返しました。
IP アドレスをある静的 IP アドレスから別の静的 IP アドレスに変更する方法を教えてください。
public void BindIPAddress(string strIPAddress)
{
try
{
Microsoft.SPOT.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()[0].EnableStaticIP(strIPAddress, "255.255.240.0", "10.0.0.1");
Microsoft.SPOT.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()[0].EnableStaticDns(new string[] { "10.0.0.2", "10.0.0.3" });
IPEndPoint ep = new IPEndPoint(IPAddress.Parse(strIPAddress), 80);
this.Socket.Bind(ep);
this.IpAddress = strIPAddress;
}
catch(SocketException exc)
{
Debug.Print(exc.Message);
Debug.Print(exc.ErrorCode.ToString());
}
catch(Exception ex)
{
Debug.Print(ex.Message);
}
//Debug.Print(ep.Address.ToString());
}