⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 echoclientsocket.cs

📁 在Echo服务器上的多线程问题
💻 CS
字号:
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;

class EchoClientSocket
{
   public static void Main(string[] args)
   {
      //从命令行读取Echo服务器的IP地址并产生一个IPAddress对象
      IPAddress HostAddr = IPAddress.Parse(args[0]);
      //根据IP地址及通信端口号7产生一IPEndPoint对象
      IPEndPoint host = new IPEndPoint(HostAddr,7);
      //产生Socket对象
      Socket s = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
      
      try
      {
         //连接到所指定的服务器
         s.Connect(host);
      }
      catch(SocketException se)
      {
         //若无法创建连接时显示出错误信息并退出程序
         Console.WriteLine("Could not establish connection to echo server!!!");
         return;
      }
      //显示出成功连接的信息
      Console.WriteLine("Successfully establish connection to echo server!!!");
    
      String tmpstr = "";
      while(true)
      {
         tmpstr = Console.ReadLine();
         //若拥护输入exit则退出循环
         if (tmpstr.Equals("exit"))
             break;
         //将用户输入的字符串转换为Byte数组以便发送
         Byte[] SendBytes = Encoding.ASCII.GetBytes(tmpstr.ToCharArray());
         try
         {
            //将数据送给Echo服务器
            s.Send(SendBytes,SendBytes.Length,0);
         }
         catch(SocketException se)
         {
             Console.WriteLine("Data send error!!");
         }

         int bytes = 0;
         Byte[] RecvBytes = new Byte[256];
         String RecvString = "";
         try
         {
            //接收来自Echo服务器的响应并存放在RecvBytes数组中
            bytes = s.Receive(RecvBytes,RecvBytes.Length,0);
         }
         catch(SocketException se)
         {
            Console.WriteLine("Data receive error!!");
         }
         //将Byte类型的数组转换为字符串
         RecvString = Encoding.ASCII.GetString(RecvBytes,0,bytes);
         //显示出所接收的数据
         Console.WriteLine(RecvString);
      }
      //关闭与Echo服务器的连接
      s.Close();
   }  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -