【Unity】Search In LAN(uSIL)の紹介と使い方


LAN内で同じアプリが稼働しているデバイスを探し出すことを容易にするアセットであるSearch In LANを紹介する記事です.先に結論を書くと,このアセットを利用することで,LAN内でデバイス同士通信を行うアプリを作る際の通信の確立するまでの第一歩を簡単にします.

使用方法

以下”ターゲット”という単語はuSILコンポーネントが含まれ,なおかつpresharedCodeが同じアプリが可動しているデバイスのことを指す.

0. Asset StoreからuSILをDL

アセットストアからuSILをインポート,

1. Search In Lanをアタッチ

適当なゲームオブジェクトにSearch In Lanコンポーネントをアタッチします.

2. presharedCodeにコードを入力

変数presharedCodeには事前共有文字列を入力します.ここに入力した文字列が同じものが同じアプリとしてuSILでは認識され,LAN内で見つかるようになる.

もし,変数presharedCodeを空白の状態で動作させると自動的に”default”となる.

3. 準備完了

一旦この時点で動作させるための準備は完了する.

他の端末を検索させたりするには以下SeachInLan Class,TargetData Classの章を参考にスクリプトを書くか,以下の様なGUIを組みSearch In Lanのパブリックメソッドを叩く必要がある.

4. GUIを構築

以下の様なGUIを構築することで画面上のボタンを押すことでターゲットの検索,ターゲット一覧をグラフィカルに見ることが可能になる.

詳しい内容は/Assets/nmxi_uSearchInLan/Scenes/uSIL_Demo.unityを参照してして欲しい.

4.1 ボタンを作成

適当なボタンを作成し,OnClick()にSearchInLan.SearchTarget()を指定することで,Searchボタンができる.

4.2 スクロールビューをPrefabから作成する

/Assets/nmxi_uSearchInLan/Resources/TargetListScrollViewをCanvas下に実体化させる.

4.3 Search In Lanコンポーネントの設定

以下の2つの変数に赤枠の中を4.2で実体化させたTargetListScrollView下のContentと,/Assets/nmxi_uSearchInLan/Resources/TargetList_Element.prefabを設定する.

SearchInLan Class

変数

SearchInLan._isStealth

bool型 – trueにすると他の端末から見つからなくなる

SearchInLan._isShowDebugLogs

bool型 – Debug log on/off

メソッド一覧

以下Search In Lanコンポーネントに含まれるメソッドである.

SearchInLan.SearchTarget()

ターゲットをLAN内で検索する.

SearchInLan.GetTargetData()

最後に取得されたターゲットを取得する.List<TargetData>型で結果が返される.

TargetData Class

変数

TargetData.IpAddress

System.Net.IPAddress型 – ターゲットのIpアドレス

TargetData.HostName

string型 – ターゲットの名前 (Not used v1.0.0)

TargetData.IsUsePassword

bool型 – ターゲットとの接続にパスワード認証を必要としているか (Not used v1.0.0)

Contacts

twitter : @kemomimilk

Thank you for using this asset.

License

This asset is governed by the Asset Store EULA. however, the following components are governed by the licenses indicated below.


UniRx , “MIT” license


The MIT License (MIT)

Copyright (c) 2018 Yoshifumi Kawai

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation les (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONIN- FRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEAL- INGS IN THE SOFTWARE.

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です