Skip to content

Instantly share code, notes, and snippets.

@neon-izm neon-izm/file0.txt
Last active Feb 16, 2018

Embed
What would you like to do?
UnityのUNETにおけるローカルLAN対戦の為のNetworkDiscovery ref: https://qiita.com/neon-izm/items/d8674bb2b3d1bcf0c8f7
public override void OnReceivedBroadcast(string fromAddress, string data)
/// <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
You can’t perform that action at this time.