ソケット通信でデータを受信できなかった場合もエラーを出さないようにする方法
Unity上のC#でソケット通信の受信をしようと思っています。
以下のようなコードだと、送信元のプログラムが中断された場合、エラーになりまってしまいます。
unityRecieve.cs
using UnityEngine;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class unityRecieve : MonoBehaviour
{
static UdpClient udp;
void Start()
{
int LOCA_LPORT = 50007;
udp = new UdpClient(LOCA_LPORT);
udp.Client.ReceiveTimeout = 100;
}
void Update()
{
IPEndPoint remoteEP = null;
byte[] data = udp.Receive(ref remoteEP);
string text = Encoding.UTF8.GetString(data);
Debug.Log(text);
}
}
参考URL:https://jump1268.hatenablog.com/entry/2018/11/25/143459
エラー内容は以下の通りです。
SocketException: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。
送信元のプログラムが停止・中断されてもエラーを出さないような回避処理を加えるにはどうしたら良いですか?