欢迎光临散文网 会员登陆 & 注册

.Net core 使用socket 传输数据

2022-11-10 11:30 作者:限量版范儿  | 我要投稿

模拟服务端

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 进制传输        }

 

链接:https://www.dianjilingqu.com/607194.html

.Net core 使用socket 传输数据的评论 (共 条)

分享到微博请遵守国家法律