public void query(zzHostInfo pHostInfo)
    {
        Socket lSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
        lSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);
        lSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);

        lSocket.Bind(new IPEndPoint(IPAddress.Any, pHostInfo.port));
        Query(stunServerAddress, stunServerPort, lSocket);
    }
 public override void RegisterHost(zzHostInfo pHostInfo)
 {
     afterRegister();
     Hashtable lSentedData = new Hashtable();
     lSentedData["gameName"] = pHostInfo.gameName;
     lSentedData["gameType"] = pHostInfo.gameType;
     lSentedData["comment"] = pHostInfo.comment;
     lSentedData["GUID"] = pHostInfo.guid;
     lSentedData["port"] = pHostInfo.port;
     sender.sentedData = zzSerializeString.Singleton.pack(lSentedData);
     sender.enabled = true;
 }
    public override void RegisterHost(zzHostInfo pHostInfo)
    {
        //if (stun.inProcessing)
        //    return;
        _gameType = pHostInfo.gameType;
        hostData.gameType = pHostInfo.gameType;

        _gameName = pHostInfo.gameName;
        hostData.gameName = pHostInfo.gameName;

        _comment = pHostInfo.comment;
        hostData.comment = pHostInfo.comment;

        hostData.guid = pHostInfo.guid;
        //stun.query(pHostInfo);
        registerSucceedEvent();
    }
    void updateHostInfo(zzHostInfo lHostInfo)
    {
        lHostInfo.gameType = gameTypeName;
        lHostInfo.gameName = gameName;

        Hashtable lTableData = new Hashtable();
        lTableData["playerName"] = playerName;
        lTableData["map"] = mapName;
        string lStringData = zzSerializeString.Singleton.pack(lTableData);
        lHostInfo.comment = lStringData;
        lHostInfo.port = _remotePort;
    }
 zzHostInfo createHostInfo()
 {
     var lHostInfo = new zzHostInfo();
     updateHostInfo(lHostInfo);
     networkHost.RegisterHost(lHostInfo);
     return lHostInfo;
 }
 //void updateHostInfo()
 //{
 //    hostInfo = createHostInfo();
 //}
 public bool startHost()
 {
     if (mapName.Length > 0 && WMGameConfig.checkMapAvailable(mapName))
     {
         hostInfo = createHostInfo();
         return true;
     }
     return false;
 }
 public abstract void RegisterHost(zzHostInfo pHostInfo);