C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ネットワークが複数存在する場合のソケット接続(TCP)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■93007 / inTopicNo.1)  ネットワークが複数存在する場合のソケット接続(TCP)
  
□投稿者/ のりっち (1回)-(2019/11/13(Wed) 17:26:41)

分類:[.NET 全般] 

お世話になっています。

C#でStreamSocketを使ってソケット接続(tcp)をしています。
ローカルネットワークが一つの場合は問題なく接続できるのですが、
wifi等を接続し、ネットワークが複数存在する場合、StreamSocketの
ConnectAsyncでサーバに接続にいくとtimeoutしてしまい接続できませんでした。

ローカルネットワークへつなぎに行くのを想定しているのが、wifi側のネットワークへ
つなぎに行ってしまい、timeoutを起こしていると想定しているのですが、
ローカルネットワークへつなぎにいくことを明示的に宣言し、複数ネットワークが存在する場合でも、
ローカルネットワークへ接続することは可能でしょうか。

var socket = new StreamSocket();
await socket.ConnectAsync(new HostName(host), port.ToString()); ここでtimeout発生

よろしくお願いいたします。




引用返信 編集キー/
■93009 / inTopicNo.2)  Re[1]: ネットワークが複数存在する場合のソケット接続(TCP)
□投稿者/ Hongliang (916回)-(2019/11/13(Wed) 19:01:52)
docsをざっと見ただけですが。
NetworkInformation.GetConnectionProfilesで返されるConnectionProfileの中から、
いい感じのプロパティを持っているプロファイルを選んで、
そのConnectionProfile::NetworkAdapterプロパティを、
StreamSocket::ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)
の第4引数に渡すというのはどうでしょうか。
引用返信 編集キー/
■93018 / inTopicNo.3)  Re[1]: ネットワークが複数存在する場合のソケット接続(TCP)
□投稿者/ shu (1207回)-(2019/11/14(Thu) 15:23:28)
No93007 (のりっち さん) に返信

接続先のホストは別のネットワークアドレスのネットワークになっていたりしますか?
だとすると経路情報が不足しているのでrouteコマンドで経路を定義して下さい。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ