前提・実現したいこと
複数の対向PCと個別に通信を行いたい
対向PC毎にプロセス(EXE)を立ち上げる
この時複数の対向PCとポート番号を別々に実行したい
UDP通信で行いたい
言語:C#
Windows10
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
C#
1namespace UDPtest 2{ 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 //バインドするローカルIPとポート番号 8// string localIpString = "127.0.0.1"; 9 string localIpString = "10.1.151.2"; 10 System.Net.IPAddress localAddress = 11 System.Net.IPAddress.Parse(localIpString); 12 int localPort = 2000; 13 14 //UdpClientを作成し、ローカルエンドポイントにバインドする 15 System.Net.IPEndPoint localEP = 16 new System.Net.IPEndPoint(localAddress, localPort); 17 System.Net.Sockets.UdpClient udp = 18 new System.Net.Sockets.UdpClient(localEP); 19 20 string TaiIpString = "10.1.150.201"; 21 System.Net.IPAddress TaiAddress = 22 System.Net.IPAddress.Parse(TaiIpString); 23 int TaiPort = 2000; 24 25 for (;;) 26 { 27 //データを受信する 28 // System.Net.IPEndPoint remoteEP = null; 29 System.Net.IPEndPoint remoteEP = new System.Net.IPEndPoint(TaiAddress, TaiPort); 30 byte[] rcvBytes = udp.Receive(ref remoteEP); 31 32 //データを文字列に変換する 33 string rcvMsg = System.Text.Encoding.UTF8.GetString(rcvBytes); 34 35 //受信したデータと送信者の情報を表示する 36 Console.WriteLine("受信したデータ:{0}", rcvMsg); 37 Console.WriteLine("送信元アドレス:{0}/ポート番号:{1}", 38 remoteEP.Address, remoteEP.Port); 39 40 //"exit"を受信したら終了 41 if (rcvMsg.Equals("exit")) 42 { 43 break; 44 } 45 } 46 47 //UdpClientを閉じる 48 udp.Close(); 49 50 Console.WriteLine("終了しました。"); 51 Console.ReadLine(); 52 } 53 } 54} 55 56
試したこと
byte[] rcvBytes = udp.Receive(ref remoteEP);
ここで指定したIPとポート番号のデータのみが取り込めると思ったが
関係なく取り込んでしまう。
補足情報(FW/ツールのバージョンなど)
Visual C# 2015 00322-20000-00000-AA845
Microsoft Visual C# 2015
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/26 11:15
2020/05/26 12:03
2020/05/27 01:41