源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用C#开发Socket通讯的方法

  • 时间:2022-07-31 08:21 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用C#开发Socket通讯的方法
下面的示例显示如何使用 Socket 类向 HTTP 服务器发送数据和接收响应。  [C#]  public string DoSocketGet(string server)  {  //Sets up variables and a string to write to the server  Encoding ASCII = Encoding.ASCII;  string Get = "GET / HTTP/1.1\r\nHost: " + server +  "\r\nConnection: Close\r\n\r\n";  Byte[] ByteGet = ASCII.GetBytes(Get);  Byte[] RecvBytes = new Byte[256];  String strRetPage = null;  // IPAddress and IPEndPoint represent the endpoint that will  // receive the request.  // Get the first IPAddress in the list using DNS.  IPAddress hostadd = Dns.Resolve(server).AddressList[0];  IPEndPoint EPhost = new IPEndPoint(hostadd, 80);  //Creates the Socket for sending data over TCP.  Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,  ProtocolType.Tcp );  // Connects to the host using IPEndPoint.  s.Connect(EPhost);  if (!s.Connected)  {  strRetPage = "Unable to connect to host";  return strRetPage;  }  // Sends the GET text to the host.  s.Send(ByteGet, ByteGet.Length, SocketFlags.None);  // Receives the page, looping until all bytes are received  Int32 bytes = s.Receive(RecvBytes, RecvBytes.Length, 0);  strRetPage = "Default HTML page on " + server + ":\r\n";  strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);  while (bytes > 0)  {  bytes = s.Receive(RecvBytes, RecvBytes.Length, SocketFlags.None);  strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);  }  //如果想立即关闭连接则调用 s.Close();  return strRetPage;  } 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部