zoukankan      html  css  js  c++  java
  • C# Socket编程完成控制台服务器...

    服务器端程序

    using System;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    namespace SocketServer
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
       /// <summary>
       /// 应用程序的主入口点。
       /// </summary>
       //定义端口号
       private const int porNum=81;
       [STAThread]
       static void Main(string[] args)
       {
        //
        // TODO: 在此处添加代码以启动应用程序
        //
        bool done=false;
        TcpListener listener=new TcpListener(porNum);
        listener.Start();
        while(!done){
        Console.Write("正在侦听81端口...");
         TcpClient client=listener.AcceptTcpClient();
         Console.WriteLine("\n处理连接请求...");
         NetworkStream ns=client.GetStream();
         //ns.Read(,0,);
         byte[] bytes=new byte[1024];
         int bytesRead=ns.Read(bytes,0,bytes.Length);
         Console.WriteLine(Encoding.BigEndianUnicode.GetString(bytes,0,bytesRead));
         byte[] byteTime=Encoding.ASCII.GetBytes(DateTime.Now.ToString());
         try
         {
          ns.Write(byteTime,0,byteTime.Length);
          ns.Close();
          client.Close();
         }
         catch(Exception ex){
         Console.WriteLine(ex.ToString());
         }
        }
        listener.Stop();
       }
    }
    }

    Web客户端

    添加命名空间:
    using System.Net;
    using System.Net.Sockets;
    using System.Text;

    连接代码:
    private void socketButton_Click(object sender, System.EventArgs e)
       {//连接服务器程式
        try
        {
         //开始连接
         TcpClient client=new TcpClient("192.168.0.100",81);
         NetworkStream ns=client.GetStream();
         byte[] byteTime=Encoding.BigEndianUnicode.GetBytes("客户端数据提交\n");
         ns.Write(byteTime,0,byteTime.Length);
         //返回客户端信息
         byte[] clientIp=Encoding.BigEndianUnicode.GetBytes("客户端IP地址:"+Request.UserHostAddress+"\n");
         ns.Write(clientIp,0,clientIp.Length);
         byte[] bytes=new byte[1024];
         int bytesRead=ns.Read(bytes,0,bytes.Length);
         showLabel.Text="服务器返回信息"+Encoding.ASCII.GetString(bytes,0,bytesRead);
         client.Close();
        }
        catch(Exception ex)
        {
         showLabel.Text="抛出异常"+ex.ToString();
        }
        finally{}
       }

  • 相关阅读:
    HDU 5937 Equation(DFS+剪枝)
    HDU 5733 tetrahedron(计算几何)
    BZOJ2243 [SDOI2011]染色(树链剖分+线段树合并)
    计蒜客 微软大楼设计方案(RMQ)
    Codeforces 804D Expected diameter of a tree(树的直径 + 二分 + map查询)
    Codechef Black Nodes in Subgraphs(树型背包)
    2017年暑假集训前的反省
    Codeforces 599E Sandy and Nuts(状压DP)
    Codeforces 570D Tree Requests(树上启发式合并)
    搭建MHA
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1783073.html
Copyright © 2011-2022 走看看