C#でUDPを用いてデータの送受信を行おうとしているのですが、片方が受信状態でもう片方から送信を行っているのにもかかわらず受信状態から動かない
発生している問題・エラーメッセージ
2台のパソコンA、Bを使っていて、AからBの送信は上手くいくのですが、BからAの送信が上手くできない状態です。
エラーメッセージなどは見れなく、コードの途中で止まっています。
該当のソースコード
remoteHost //送信先(相手)のIPアドレス
myHost //受信先(自分)のIPアドレス
myPort = 2002; 受信先のポート番号
yourPort = 2003; 送信先のポート番号
port_snd = 2001; 送信用のポート番号
public bool init(int port_snd, int port_to, int port_rcv) {
try{
System.Net.IPAddress localAddress = System.Net.IPAddress.Parse(myHost);
System.Net.IPEndPoint localEP = new System.Net.IPEndPoint(localAddress, myPort);
udpForReceive = new System.Net.Sockets.UdpClient(localEP);
udpForSend = new UdpClient(port_snd);
}
catch{ return false;
}}
public void send(string sendMsg) {
try
{
byte[] sendBytes = Encoding.ASCII.GetBytes(sendMsg);
udpForSend.Send(sendBytes, sendBytes.Length, remoteHost, yourPort);
}
catch { }}
public void receive()
{
//IPEndPoint remoteEP = null;
while (true){
try{
System.Net.IPEndPoint remoteEP = null;
byte[] rcvBytes = udpForReceive.Receive(ref remoteEP);
rcvMsg = System.Text.Encoding.UTF8.GetString(rcvBytes);
上の一文を通過すると動かなくなります。
}
catch { }}
}
試したこと
Aのfirewallの確認を行いました。
また別のパソコンCを使って同一のプログラムでBC間の通信は可能でした。
Aのパソコンでしか利用できないハードがあり、どうしても通信を行いたいのですが、プログラム内でのエラー、または考えられる設定の不足などがあれば教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
visual studio 2019 で動かしています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。