public void run() { IPEndPoint ipep = new IPEndPoint(IPAddress.Any, NetSetting.port); Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); newsock.Bind(ipep); newsock.Listen(10); //取得本機名稱 string hostName = Dns.GetHostName(); Console.WriteLine("host name = " + hostName); //取得本機IP //System.Net.IPHostEntry IPHost = System.Net.Dns.GetHostEntry(Environment.MachineName); //if (IPHost.AddressList.Length > 0) //{ // Console.WriteLine("host IP = " + IPHost.AddressList[0].ToString()); //} while (true) { Socket socket = newsock.Accept(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("接受一個新連線!"); NetSocket client = new NetSocket(socket); Console.WriteLine(client.remoteEndPoint.ToString() + Environment.NewLine); try { clientList.Add(client); client.newListener(processMsgComeIn); } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); } // clientList.Remove(client); } // newsock.Close(); }
private void Connect_Click(object sender, EventArgs e) { Connect.Enabled = false; // 設定目標server IP if(IPaddr.Text.Length > 0) { NetSetting.serverIp = IPaddr.Text; } client = NetSocket.connect(NetSetting.serverIp); if (client == null) { AllMessage.AppendText("Cannont connect to this Server" + Environment.NewLine); Connect.Enabled = true; } else { AllMessage.AppendText("Connect to Server: " + IPaddr.Text + Environment.NewLine); Login.Enabled = true; localep = client.socket.LocalEndPoint.ToString(); } }