zoukankan      html  css  js  c++  java
  • 创建简单的Telnet实例

    step1.先加入库SuperSocket.Common.dll, SuperSocket.SocketBase.dll, SuperSocket.SocketEngine.dll,log4net.dll,System.Threading.dll。同时还需引入NET中的System.Configuration。如果要使用默认日志框架,需要复制Config文件夹

    step2.代码实现

     1     class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             Console.WriteLine("press any key to start the server");
     6             Console.ReadKey();
     7             Console.WriteLine();
     8             AppServer server = new AppServer();
     9             if (!server.Setup(8000))
    10             {
    11                 Console.WriteLine("Failed to setup");
    12                 Console.ReadKey();
    13                 return;
    14             }
    15 
    16             server.NewSessionConnected += new SessionHandler<AppSession>(server_NewSessionConnected);
    17             server.NewRequestReceived += new RequestHandler<AppSession, SuperSocket.SocketBase.Protocol.StringRequestInfo>(server_NewRequestReceived);
    18 
    19             if (!server.Start())
    20             {
    21                 Console.WriteLine("Failed to start");
    22                 Console.ReadKey();
    23                 return;
    24             }
    25 
    26             Console.WriteLine("The server started successfully, press key 'q' to stop it!");
    27             
    28              while (Console.ReadKey().KeyChar != 'q')
    29             {
    30                 Console.WriteLine();
    31                 continue;
    32             }
    33              Console.WriteLine();
    34             server.Stop();
    35             Console.WriteLine("The server was stopped!");
    36         }
    37 
    38         static void server_NewRequestReceived(AppSession session, SuperSocket.SocketBase.Protocol.StringRequestInfo requestInfo)
    39         {
    40             Console.WriteLine(requestInfo.Key + " " + requestInfo.Body);
    41             switch (requestInfo.Key.ToUpper())
    42             {
    43                 case ("ECHO"):
    44                     string r = requestInfo.Body;
    45                     session.Send(r);
    46                     Console.WriteLine(r);
    47                     break;
    48 
    49                 case ("ADD"):
    50                     string r2= requestInfo.Parameters.Select(p => Convert.ToInt32(p)).Sum().ToString();
    51                     session.Send(r2);
    52                     Console.WriteLine(r2);
    53                     break;
    54 
    55                 case ("MULT"):
    56 
    57                     var result = 1;
    58 
    59                     foreach (var factor in requestInfo.Parameters.Select(p => Convert.ToInt32(p)))
    60                     {
    61                         result *= factor;
    62                     }
    63 
    64                     session.Send(result.ToString());
    65                     Console.WriteLine(result);
    66                     break;
    67             }
    68         }
    69 
    70         static void server_NewSessionConnected(AppSession session)
    71         {
    72             Console.WriteLine(session.SessionID + ":connect successed");
    73         }
    74     }

    Step3.测试:代码测试:在window中运行里面输入telnet 127.0.0.1 8000  然后按回车就可以了

  • 相关阅读:
    BeanUtils在web项目中的应用
    BeanUtils的日期问题
    使用BeanUtils组件
    调用数据库过程函数mysql
    sql注入
    如何取SO中的特性
    Read config detail from SO
    Parts-Ufida ERP project 1
    常用医疗英语
    April 24th 2020
  • 原文地址:https://www.cnblogs.com/caoyc/p/4707381.html
Copyright © 2011-2022 走看看