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