UnityのUNETにおけるローカルLAN対戦の為のNetworkDiscovery ref: https://qiita.com/neon-izm/items/d8674bb2b3d1bcf0c8f7
/// <summary> | |
/// NetworkDiscoveryのクライアント側がサーバの信号を受信したときに呼ばれる | |
/// この関数は 本クラス内のどこかでStartAsClient()を呼ばないと機能しないし、サーバ側で呼ばれることは無い | |
/// 初期設定だと、クライアント上で約1秒間隔でこの関数が呼ばれる | |
/// </summary> | |
/// <param name="fromAddress">NetworkDiscoveryで見つけたサーバ側のIPアドレス</param> | |
/// <param name="data"></param> | |
public override void OnReceivedBroadcast(string fromAddress, string data) | |
{ | |
//NetworkManagerのnetworkAddress(つまり、サーバのアドレス)に見つけたアドレスを入れる | |
NetworkManager.singleton.networkAddress = fromAddress; | |
//既にこのクライアントのNetworkManagerがサーバに接続済みなら何もしない。しかしクライアント側が切断して再接続の時はうまいことreturnせずにスルーして再接続する | |
if (NetworkManager.singleton.IsClientConnected()==true) | |
{ | |
return; | |
} | |
Debug.LogFormat("OnReceivedBroadcast; fromAddress: {0}, data: {1}", fromAddress, data); | |
//NetworkManagerのクライアントが繋げる先のサーバアドレスを上で指定しているので、NetworkManagerのクライアントを開始できる | |
NetworkManager.singleton.StartClient(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment