• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > SuperSocket入门--Telnet服务器和客户端请求处理

SuperSocket入门--Telnet服务器和客户端请求处理

作者:黄昏前黎明后 字体:[增加 减小] 来源:互联网 时间:2017-05-28

黄昏前黎明后 通过本文主要向大家介绍了telnet客户端,telnet客户端下载,xp telnet客户端,win10 telnet客户端,win7 telnet客户端等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文的控制台项目是根据SuperSocket官方Telnet示例代码进行调试的,官方示例代码:Telnet示例。

开始我的第一个Telnet控制台项目之旅:

创建控制台项目:打开vs程序,文件=》新建=》项目

一、下载SuperSocket的动态库,主要有两种方式获取SuperSocket的动态库。

1、添加SuperSocket的dll文件(SuperSocket.Common.dll, SuperSocket.SocketBase.dll, SuperSocket.SocketEngine.dll)到此项目的引用,直接再官方网站上下载SuperSocket组件,引入需要dll文件即可:

2、通过 nuget来获取,本人也比较喜欢这种方式,可以更新组件版本。(注意:我这里使用的是vs2015可以直接打开nuget,如果使用vs旧版本的同学需要下载nuget组件)

点击浏览,输入supersocket,勾选组件安装即可

添加完成组件后需要注意将config文件进行编译成内容,log4net需要使用config文件。

查看引入后的项目整体目录,框红线的为引入supersocket组件和文件

二、使用官方提供的启动服务器的代码进行测试服务启动和停止

 /// <summary>
/// SuperSocket服务启动或停止
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Console.WriteLine("请按任何键进行启动SuperSocket服务!");
Console.ReadKey();
Console.WriteLine();
var appServer = new AppServer();
//启动应用服务端口
if (!appServer.Setup(2017)) //启动时监听端口2017
{
Console.WriteLine("服务端口启动失败!");
Console.ReadKey();
return;
}
Console.WriteLine();
//尝试启动应用服务
if (!appServer.Start())
{
Console.WriteLine("服务启动失败!");
Console.ReadKey();
return;
}
Console.WriteLine("服务启动成功,请按'E'停止服务!");
while (Console.ReadKey().KeyChar != 'E')
{
Console.WriteLine();
continue;
}
//停止服务
appServer.Stop();
Console.WriteLine("服务已停止!");
Console.ReadKey();
}
</div>

运行项目:

运行成功后可以查看Debug文件夹下的logs日志跟踪文件,从日志里面,我们可以看到服务器已经能启动成功,但是这还没有什么用,因为我们并没有处理客户的链接进来,处理客户的发送过来的信息。根据官方文档,我们继续拷贝代码来完善我们的程序。

三、注册客户端链接和处理客户端发送信息

1、处理客户端连接,注册回话新建事件处理方法

appServer.NewSessionConnected += new SessionHandler(appServer_NewSessionConnected);

2、在事件处理代码中发送欢迎信息给客户端

  static void appServer_NewSessionConnected(AppSession session)
  {
   session.Send("Welcome to SuperSocket Telnet Server!");
  }
</div>

3、使用Telnet客户端进行测试(注意:使用telnet必须先安装telnet服务)

安装完成后,先运行telnet服务器

进行运行win+r命令窗口cmd ,输入telnet localhost 2017。(2017是开始程序中侦听的端口)

回车,显示欢迎语说明客户端和服务器端进行链接成功。 

4、处理客户端发送的信息,我继续拷贝代码

/// <summary>
  ///客户端请求处理
  /// </summary>
  /// <param name="session">会话</param>
  /// <param name="requestInfo">请求信息</param>
  static void appServer_NewRequestReceived(AppSession session, StringRequestInfo requestInfo)
  {
   switch (requestInfo.Key.ToUpper())
   {
    case ("ECHO"):
     session.Send(requestInfo.Body);
     break;
    case ("ADD"):
     session.Send(requestInfo.Parameters.Select(p => Convert.ToInt32(p)).Sum().ToString());
     break;
    case ("MULT"):
     var result = 1;
     foreach (var factor in requestInfo.Parameters.Select(p => Convert.ToInt32(p)))
     {
      result *= factor;
     }
     session.Send(result.ToString());
     break;
   }
  }
</div>

客户端发送请求处理

5、注册请求事件

appServer.NewRequestReceived += new RequestHandler<AppSession, StringRequestInfo>(appServer_NewRequestReceived);
</div>

运行效果:

除了使用telnet客户端,网上还有一个tcp/udp的测试工具可以链接服务器

今天的supersocket框架的入门学习就到这里了,本人水平和文笔有限,有错误的地方欢迎大家指正!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SuperSocket入门--Telnet服务器和客户端请求处理

相关文章

  • 2017-05-28C#连接MySql数据库的方法
  • 2017-05-28C# 批处理调用方法
  • 2017-05-28C# 连接SQL数据库的方法及常用连接字符串
  • 2017-05-28利用微软com组件mstscax.dll实现window7远程桌面功能
  • 2017-05-28c#显示当前在线人数示例
  • 2017-05-28C#中IList<T>与List<T>的区别深入解析
  • 2017-05-28C#虚方法的声明和使用实例教程
  • 2017-05-28C#实现的优酷真实视频地址解析功能(2014新算法)
  • 2017-05-28C#中使用强制类型实现字符串和ASCII码之间的转换
  • 2017-05-28C# IDE VS2005中的Hosting Process (vshost.exe)作用介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C# NetRemoting实现双向通信
    • C#实现Zip压缩目录中所有文件的方法
    • C#生成随机ArrayList的方法
    • C#词法分析器之输入缓冲和代码定位的应用分析
    • c#打印预览控件中实现用鼠标移动页面功能代码分享
    • C# Page用于各页面继承功能实例
    • C#基于面向过程计算加权平均分的方法
    • C#图像重新着色的方法
    • C#中is和as用法实例分析
    • C# DataGridView添加新行的2个方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有