- Home /
JavaScript error networking
i get this errors in my javascript.networkmenu Assets/scripts/NetworkMenu.js(33,24): BCE0023: No appropriate version of 'UnityEngine.Network.Connect' for the argument list '(UnityEngine.HostData[])' was found.Assets/scripts/NetworkMenu.js(74,31): BCE0017: The best overload for the method 'NetworkMenu.JoinServer()' is not compatible with the argument list '(UnityEngine.HostData)'.
this is my script: #pragma strict
var typeName : String = "UniqueGameName";
var gameName : String = "RoomName";
var hosts : HostData[];
var _NetworkView : NetworkView;
var madeaserver : boolean = false;
var msEvent : MasterServerEvent;
var hostdata : HostData;
var newPlayer : NetworkPlayer;
var i : int = 0;
function Start () {
}
function Update () {
}
private function RefreshHostList()
{
MasterServer.RequestHostList(typeName);
}
function OnMasterServerEvent()
{
if (msEvent == MasterServerEvent.HostListReceived)
hosts = MasterServer.PollHostList();
}
private function JoinServer()
{
Network.Connect(hosts);
}
function OnPlayerConnected ()
{
_NetworkView.RPC("GetNetworkPlayer", RPCMode.AllBuffered, newPlayer);
}
function OnConnectedToServer()
{
Debug.Log("Joined Server");
}
private function StartServer()
{
Network.InitializeServer(4, 25000, !Network.HavePublicAddress());
MasterServer.RegisterHost(typeName, gameName);
}
function OnServerInitialized()
{
Debug.Log("Server Initiliazed");
madeaserver = true;
}
function OnGUI()
{
if (!Network.isClient && !Network.isServer)
{
if (GUI.Button(new Rect(100, 100, 250, 100), "Start Server"))
{
StartServer();
}
}
if (GUI.Button(new Rect(100, 250, 250, 100), "Refresh Hosts"))
RefreshHostList();
if (hosts != null)
{
for (i = 0; i < hosts.Length; i++)
{
if (GUI.Button(new Rect(400, 100 + (110 * i), 300, 100), hosts[i].gameName))
JoinServer(hosts[i]);
}
}
}
any help would be appriciated
Answer by ArkaneX · Sep 15, 2013 at 08:51 AM
I think these errors are self explanatory just by reading them. First means that you can't pass array of HostData to Network.Connect. Second, that there's no JoinServer method accepting single HostData argument.
If you want to join a specific host from your array of hosts, then you have to change JoinServer function from
private function JoinServer()
{
Network.Connect(hosts);
}
to
private function JoinServer(host:HostData)
{
Network.Connect(host);
}
Your answer
![](https://koobas.hobune.stream/wayback/20220613114208im_/https://answers.unity.com/themes/thub/images/avi.jpg)