private static void Request(string host, Action<NetWorker> call)
{
if (Networking.Sockets != null && Networking.Sockets.ContainsKey(PORT))
Networking.Disconnect(PORT);
NetWorker socket = Networking.Connect(host, PORT, Networking.TransportationProtocolType.UDP, standAlone: true);
socket.MasterServerFlag = true;
socket.AddCustomDataReadEvent(WriteCustomMapping.MASTER_SERVER_REGISTER_SERVER, null);
socket.AddCustomDataReadEvent(WriteCustomMapping.MASTER_SERVER_UNREGISTER_SERVER, null);
socket.AddCustomDataReadEvent(WriteCustomMapping.MASTER_SERVER_UPDATE_SERVER, null);
socket.AddCustomDataReadEvent(WriteCustomMapping.MASTER_SERVER_GET_HOSTS, GetHostsRequestToClient);
if (socket.Connected)
call(socket);
else
socket.connected += delegate() { call(socket); };
}