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*.gameName))*

JoinServer(hosts*);*
}
}
}
any help would be appriciated

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);
}