【C#】C# socket 简单例程一

版权声明:These violent delights have violent ends。WeChat:neonwater https://blog.csdn.net/u014647208/article/details/81904580

服务器端伪代码:

            try {
                int port = 2000;
                string host = "127.0.0.1";
                IPAddress ip = IPAddress.Parse(host);
                IPEndPoint ipe = new IPEndPoint(ip, port);
                Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);////创建一个Socket类
                s.Bind(ipe);//绑定2000端口
                s.Listen(0);//开始监听
                Console.WriteLine("Wait for connect");
                textBox1.AppendText("Wait for connect\n");
                Socket temp = s.Accept();//为新建连接创建新的Socket。
                Console.WriteLine("Get a connect");
                textBox1.AppendText("Get a connect.\n");
                string recvStr = "";
                byte[] recvBytes = new byte[1024];
                int bytes;
                bytes = temp.Receive(recvBytes, recvBytes.Length, 0);//从客户端接受信息
                recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
                Console.WriteLine("Server Get Message:{0}", recvStr);//把客户端传来的信息显示出来
                textBox1.AppendText("Server Get Message:");
                textBox1.AppendText(recvStr);
                textBox1.AppendText("/n");
                string sendStr = "Ok!Client Send Message Sucessful!";
                byte[] bs = Encoding.ASCII.GetBytes(sendStr);
                temp.Send(bs, bs.Length, 0);//返回客户端成功信息
                temp.Close();
                s.Close();
            }
            catch (ArgumentNullException ee)
            {
                Console.WriteLine("ArgumentNullException: {0}", ee);
                textBox1.AppendText(ee.Message);
            }
            catch (SocketException ee)
            {
                Console.WriteLine("SocketException: {0}", ee);
                textBox1.AppendText(ee.Message);
            }
            Console.WriteLine("Press Enter to Exit");
            Console.ReadLine();

客户端伪代码:

           try
            {
                int port = 2000;
                //string host = "127.0.0.1";
                string host = "192.168.192.54";
                IPAddress ip = IPAddress.Parse(host);
                IPEndPoint ipe = new IPEndPoint(ip, port); //把ip和端口转化成IPEndpoint实例
                Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Console.WriteLine("Connecting");
                textBox7.AppendText("Connecting");
                c.Connect(ipe);
                string sendStr = "Hello!This is a socket test";
                byte[] bs = Encoding.ASCII.GetBytes(sendStr);

                Console.WriteLine("Send Message");
                c.Send(bs, bs.Length, 0);//发送测试消息
                    //Thread.Sleep(2000);
                string recvStr = "";
                byte[] recvBytes = new byte[1024];
                int bytes;
                bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端返回信息
                recvStr += Encoding.ASCII.GetString(recvBytes,0,bytes);
                Console.WriteLine("Client Get Message:{0}", recvStr);//显示服务器返回信息
                c.Close();
            }catch(ArgumentNullException eee)
            {
                Console.WriteLine("ArgumentNullException:{0}", eee);

            }catch(SocketException eee)
            {
                Console.WriteLine("SocketException: {0}", eee);
            }
            Console.WriteLine("Press Enter to Exit");
            textBox7.AppendText("Press Enter to Exit");
            Console.ReadLine();

猜你喜欢

转载自blog.csdn.net/u014647208/article/details/81904580