模拟服务端

private string TcpServiceControl(string value)
        {
            // 1.按照模拟工具上看 先new一个tcp服务
            Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //申请端口,绑定ip
            IPAddress iPAddress = IPAddress.Parse(_appConfig.ApplictionSettings.ControlTcpIP);
            IPEndPoint iPEndPoint = new IPEndPoint(iPAddress, Convert.ToInt32(_appConfig.ApplictionSettings.ControlTcpPort));
            //绑定ip和端口
            serverSocket.Bind(iPEndPoint);
            //开始监听端口 设置50防止服务器崩溃,设置0表示不限制数量
            serverSocket.Listen(0);//传递挂起的连接队列的最大长度

            //接收客户端信息 程序会暂停 直到由一个客户端连接过来才会继续向下运行
            Socket clientSocket = serverSocket.Accept();//接收一个客户端连接,返回一个socket用来和客户端通讯

            //向客户端发送一条数据
            byte[] data = System.Text.Encoding.UTF8.GetBytes(value);
            clientSocket.Send(data);

            //接收客户端一条消息
            byte[] databuffer = new byte[1024];//接收时先定义一个数组
            int count = clientSocket.Receive(databuffer);//知道数组中前count个是接收到的数据
            String hex = Encoding.ASCII.GetString(databuffer, 0, count);

            //string msgREceive = System.Text.Encoding.UTF8.GetString(databuffer, 0, count);
            //Console.WriteLine(msgREceive);

            //Console.ReadKey();//程序终止的太快,方便观察输出
            //关闭服务器端
            clientSocket.Close();//关闭与客户端的连接
            serverSocket.Close();//关闭服务器自身的连接
            return hex;
        }

模拟客户端

private static void NewMethod()
        {
            // 1.按照模拟工具上看 先new一个tcp服务

            //Parse将字符串转换为IP地址类型
            IPAddress myIP = IPAddress.Parse("192.168.88.1");
            //构造一个TcpClient类对象,TCP客户端
            TcpClient client = new TcpClient();
            //与TCP服务器连接
            client.Connect(myIP, 10067);
            Console.WriteLine("服务器已经连接...请输入对话内容...");

            //创建网络流,获取数据流
            NetworkStream stream = client.GetStream();
            //读数据流对象
            StreamReader sr = new StreamReader(stream);
            //写数据流对象
            StreamWriter sw = new StreamWriter(stream);

            while (true)
            {
                string msg = Console.ReadLine();
                sw.WriteLine(msg);
                sw.Flush();             //刷新流
                Console.WriteLine("服务器:" + sr.ReadLine());
            }
            client.Close();
            Console.Read();
            // 2.输入的数据转化为 16 进制传输
        }

 

原文地址:http://www.cnblogs.com/OneSeting/p/16876440.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性