Example #1
0
    // Use this for initialization
    void Start()
    {
        //初始化服务器
        _server = new MicrosoftServer(PLAYER_MAX_COUNT, BUFF_SIZE, OnReceive);
        _server.Init();
        // 获得主机相关信息
        IPAddress[] addressList   = Dns.GetHostEntry(Environment.MachineName).AddressList;
        IPEndPoint  localEndPoint = new IPEndPoint(addressList[addressList.Length - 1], PORT);

        _server.Start(localEndPoint);
        _server.Completed += OnComplete;

        string msg = $"Server is listening at address - {_server.Address}:{_server.Port} ...";

        Debug.Log(msg);
    }
Example #2
0
    // Use this for initialization
    void Start()
    {
        // 获得主机相关信息
        IPAddress[] addressList = Dns.GetHostEntry(Environment.MachineName).AddressList;
        IPAddress   ipAddress   = null;

        for (int i = 0; i < addressList.Length; ++i)
        {
            var addr = addressList[i];
            Log($"Address {i} : {addr.ToString()}");
        }

        foreach (var addr in addressList)
        {
            if (addr.AddressFamily.ToString() == "InterNetwork")
            {
                ipAddress = addr;
                break;
            }
        }

        { // 在外网云服务器上, 无法像上面那样获取服务器地址,只能用0.0.0.0来作为地址监听. Nov.19.2019. Liu Gang.
            //string addrStr = "0.0.0.0";
            IPAddress.TryParse(_server.Address, out ipAddress);
        }

        if (ipAddress != null)
        {
            IPEndPoint localEndPoint = new IPEndPoint(ipAddress, _server.Port);
            //IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, PORT);
            _server.Start(localEndPoint);
            _server.Completed += OnComplete;

            string msg = $"Server is listening at address - {_server.Address}:{_server.Port} ...";
            Log(msg);
            IsReady = true;
        }
        else
        {
            string msg = $"Server address is not found!";
            Log(msg);
            IsReady = false;
        }
    }