伺服器   MasterServer.RegisterHost("遊戲類型","遊戲名稱","遊戲註解"); 
 客戶端  MasterServer.RequestHostList("遊戲類型");

 

 清除列表  MasterServer.ClearHostList(); 

 

 請求主機列表  function Awake() {MasterServer.RequestHostList("LarusTest");}
 取得列表  var d : HostData[] = MasterServer.PollHostList();

 

//-------------------------------------------------------------------------------伺服器腳本


function Start(){
    Network.InitializeServer(32,1024,! Network.HavePublicAddress());
    MasterServer.RegisterHost("AAA","BBB","CCC");
    print("OK");
}

 

//-------------------------------------------------------------------------------客戶端腳本

private var s : String = "No";

//private var ncErr : NetworkConnectionErro;

function Awake(){
MasterServer.ClearHostList();
MasterServer.RequestHostList("AAA");
}

function Update () {
if (MasterServer.PollHostList().Length != 0) {
var data : HostData[] = MasterServer.PollHostList();
for(var e in data){
s = "遊戲類型:" + e.gameType + " 遊戲名稱:" + e.gameName
+ " , 內部IP : " + e.ip[0] + " : " + e.port + " , 外部IP:" + e.ip[2] + " : " + e.port;
for(var h in e.ip){
print("所有IP:" + h + ":" + e.port);
}
if(e.connectedPlayers < e.playerLimit){
if(e.useNat){
print("使用NAT穿透");
}else{
print("直接連接到主機");
}
print(Network.Connect(e.ip,e.port));
}
}
MasterServer.ClearHostList();
}
}

function OnFailedToConnect(error : NetworkConnectionError ) {
Debug.Log ("客戶端:無法連接到伺服器: "+ error);
}

function OnConnectedToServer() {
Debug.Log("客戶端:已連接至伺服器");
}

//--------------------------------------------------------------------------客戶端腳本(簡潔的寫法)

function Update () {
if (MasterServer.PollHostList().Length != 0) {
 for(var e in MasterServer.PollHostList()){
Network.Connect(e.ip,e.port);
}
MasterServer.ClearHostList();
}
}

//--------------------------------------------------------------------------

 

伺服器發佈一個執行檔,客戶端腳本也發佈一個執行檔,分別在不同電腦執行

但必須是區域連線,或者是本地機器 才可看到客戶端 Label 正確顯示

另外 RequestHostList() 參數,必須要與 RegisterHost() 的 gameTypeName 名稱一樣,否則無法在不同電腦連線

 

//--------------------------------------------------------------------------

 

arrow
arrow
    全站熱搜

    黃彥霖 發表在 痞客邦 留言(1) 人氣()