创建简单的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  然后按回车就可以了

原文地址:https://www.cnblogs.com/caoyc/p/4707381.html