心理教育网站建设目的,丰都网站,矿坛器材友情交换,wordpress 内容页创建一个控制台项目#xff0c;命名为Server#xff0c;模拟服务器端。在同一个解决方案下#xff0c;添加新项目#xff0c;命名为Client#xff0c;模拟客户端。在服务器端与客户端之间建立TCP连接#xff0c;并在客户端发送消息#xff0c;在服务器端输出。
Server项…创建一个控制台项目命名为Server模拟服务器端。在同一个解决方案下添加新项目命名为Client模拟客户端。在服务器端与客户端之间建立TCP连接并在客户端发送消息在服务器端输出。
Server项目具体要求
1.在Server项目中用本机端点建立TcpListener对象进行监听。
2.在客户端发出连接请求后接收请求获取远程连接客户端对象。
3.接收客户端发送过来的正方形边长并显示。
4.计算正方形的面积回复运算结果并显示。
5.最后关闭该通信。
Client项目具体要求
1.建立TcpClient对象。
2.与服务器端建立连接。
3.连接成功后向服务端发送正方形的边长并显示。
4.接收服务器端发送的运算结果并显示。
5.最后关闭该通信。
实现效果如下
private static void Main(string[] args) { TcpClient tc new TcpClient(); //1 连接服务器 tc.Connect(127.0.0.1, 5001); if (tc.Connected) //判断服务器是否连接成功 Console.WriteLine(服务器连接成功); Console.Write(请输入第一个数字); // string msg Console.ReadLine(); //4通过网络把输入的文本传给服务器 NetworkStream ns tc.GetStream(); StreamWriter sw new StreamWriter(ns);//发送给服务器第一个数据 sw.WriteLine(Console.ReadLine()); sw.Flush(); Console.WriteLine(请输入运算符-*); StreamWriter sw2 new StreamWriter(ns);//发送给服务器第二个数据 sw2.WriteLine(Console.ReadLine()); sw2.Flush(); Console.WriteLine(请输入第二个数); StreamWriter sw3 new StreamWriter(ns);//发送给服务器第三个数据 sw3.WriteLine(Console.ReadLine()); sw3.Flush(); StreamReader sr new StreamReader(ns); //接受服务区发来的第一个数据 //6 Console.WriteLine(服务器说 sr.ReadLine()); sr.Close(); //sr2.Close(); //sr3.Close(); sw.Close(); sw2.Close(); sw3.Close(); ns.Close(); tc.Close(); Console.ReadKey(); } private static void Main(string[] args) { IPAddress ip IPAddress.Parse(127.0.0.1);//2 接受客户端连接 TcpListener t1 new TcpListener(ip, 5001); t1.Start(); Console.WriteLine(服务器启动等待连接。。。); TcpClient tc t1.AcceptTcpClient(); //3 显示客户端连接情况 if (tc ! null) Console.WriteLine(客户端连接成功等待客户端输入); NetworkStream ns tc.GetStream(); //这是个管道 //5 StreamReader sr new StreamReader(ns);//接受客户端发的第一个数据 string msg sr.ReadLine(); Console.WriteLine(客户端说 msg); StreamReader sr2 new StreamReader(ns);//接收客户端发的第二个数据 string msg2 sr2.ReadLine();//22222 Console.WriteLine(客户端说 msg2); StreamReader sr3 new StreamReader(ns);//接受客户端发的第三个数据 string msg3 sr3.ReadLine();//22222 Console.WriteLine(客户端说 msg3); Console.Write(请回复); //回复客户端的第一个数据 //7 StreamWriter sw new StreamWriter(ns); if (msg2 ) { sw.WriteLine(计算结果为{0}, Convert.ToInt32(msg) Convert.ToInt32(msg3)); sw.Flush(); } else if (msg2 -) { sw.WriteLine(计算结果为{0}, Convert.ToInt32(msg) - Convert.ToInt32(msg3)); sw.Flush(); } else if (msg2 *) { sw.WriteLine(计算结果为{0}, Convert.ToInt32(msg) * Convert.ToInt32(msg3)); sw.Flush(); } else if (msg2 /) { try { sw.WriteLine(计算结果为{0}, Convert.ToInt32(msg) / Convert.ToInt32(msg3)); sw.Flush(); } catch (Exception) { sw.WriteLine(输入数据有错误请检查后重新输入); sw.Flush(); } } sw.Close(); sr.Close(); sr2.Close(); ns.Close(); tc.Close(); t1.Stop(); Console.ReadKey(); }