二、TCP方式:
服务器端代码:
- Socket serverSocket = null; Thread clientThread = null;
- Socket clientSocket = null; Thread thread = null;
- IPAddress ips = null; PEndPoint ipep = null;
- void ServerStart() {
- ips = Dns.GetHostAddresses(Dns.GetHostName())[0]; //创建IPEndPoint实例
- ipep = new IPEndPoint(ips, 9050); //创建一个套接字
- serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); serverSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
- //将所创建的套接字与IPEndPoint绑定 serverSocket.Bind(ipep);
- //设置套接字为收听模式 serverSocket.Listen(20);
- while (listenalive) {
- try {
- //在套接字上接收接入的连接 clientSocket = serverSocket.Accept();
- clientThread = new Thread(new ParameterizedThreadStart(ReceiveData)); clientThread.Start(clientSocket);
- } catch (Exception ex)
- { WriteErrorLog(ex.Message);
- serverSocket.Close(); serverSocket = null;
- } }
- } static void ReceiveData(object obj)
- { bool keepalive = true;
- Socket s = obj as Socket; Byte[] buffer = new Byte[1024];
- //根据收听到的客户端套接字向客户端发送信息 IPEndPoint clientep = (IPEndPoint)s.RemoteEndPoint;
- Console.WriteLine("客户端ip:" + clientep.Address + " 端口:" + clientep.Port); string welcome = "连接服务器成功";
- buffer = System.Text.Encoding.Unicode.GetBytes(welcome); //向客户端发送“连接服务器成功”消息
- s.Send(buffer, buffer.Length, SocketFlags.None); buffer = new Byte[1024];
- int bufLen = 0; string content = string.Empty;










