订阅事件: appServer.NewSessionConnected += new SessionHandler<AppSession>(appServer_NewSessionConnected); appServer.SessionClosed += new SessionHandler<AppSession, CloseReason>(appServer_SessionClosed); 定义事件处理方法: static void appServer_SessionClose…
      在上一篇文章中,我们已经了解到了如何在SuperSocket处理客户端请求. 同时我们可能会发现一个问题,如果我们的服务器端包含有很多复杂的业务逻辑,这样的switch/case代码将会很长而且非常难看,并且没有遵循面向对象设计的原则(OOD). 在这种情况下,SuperSocket提供了一些让我们在多个独立的类中处理各自不同的请求的命令框架,接下来我们一起来看一下怎么使用     1.自定义AppSession      AppSession 代表一个和客户端的逻辑连接,基于连接的…
SuperSocket基础(二)-----一个完成SocketServer项目 由于时间关系未能及时更新,关于SuperSocket,对于初学者而言,一个SuperSock的Server真的不好写.官方文档写的很清晰,如何接受客户端发来的二进制报文并做响应的解析.下面就从一个完整的项目出发,记录SuperSocket的开发过程. 1.项目场景:现有十多个RTU设备,用来监测自来水管的压力和流量,需要将十多个传感器传来的值接收并做解析来使用.用SuperSocket写一个Socket服务器,实时监…
SuperSocket基础(二)-----一个完整的SocketServer项目 由于时间关系未能及时更新,关于SuperSocket,对于初学者而言,一个SuperSock的Server真的不好写.官方文档写的很清晰,如何接受客户端发来的二进制报文并做响应的解析.下面就从一个完整的项目出发,记录SuperSocket的开发过程. 1.项目场景:现有十多个RTU设备,用来监测自来水管的压力和流量,需要将十多个传感器传来的值接收并做解析来使用.用SuperSocket写一个Socket服务器,实时…
前言 本文主要介绍TCP.Sokcket和SuperSocket的基础使用. 创建实例模式的SuperSocket服务 首先创建控制台项目,然后Nuget添加引用SuperSocket.Engine. 然后编写服务代码,SuperSocket的服务代码主要是配置AppServer对象,因为AppServer已经很好的封装端口监听了. 代码如下所示: class Program { static AppServer appServer { get; set; } static void Main(…
这是根据我自己学习的经历整理出来的,如有不对之处,还请多多指教! SuperSocket源码下载 SuperSocket文档 安装并启动Telnet 学习方法: QuickStrart + 文档 参考资料: 服务器架设:    http://blog.csdn.net/kuanzai123/article/details/17013213     基本认识:        http://blog.qiangk.com/2013/08/03/learning-supersocket-opensou…
本文的控制台项目是根据SuperSocket官方Telnet示例代码进行调试的,官方示例代码:Telnet示例. 开始我的第一个Telnet控制台项目之旅: 创建控制台项目:打开vs程序,文件=>新建=>项目 一.下载SuperSocket的动态库,主要有两种方式获取SuperSocket的动态库. 1.添加SuperSocket的dll文件(SuperSocket.Common.dll, SuperSocket.SocketBase.dll, SuperSocket.SocketEngine…
一.什么是SuperSocket 以下是作者的介绍 执行以下命令,获取SuperSocket项目 $ git clone https://github.com/kerryjiang/SuperSocket 二.项目结构 三.开发过程 1.新建一个控制台项目ConsoleApp 1.1引用相关项目 1.2从Solution Items中引进日志文件 1.3设置SuperSocket.SocketBase45的log4net文件属性设置为[复制到本地] 2.编写Main方法 using System…
参考资料说明 SuperSocket文档 http://docs.supersocket.net/ Protobuf语言参考 https://developers.google.com/protocol-buffers/docs/proto 单消息多类型解决方案 https://developers.google.com/protocol-buffers/docs/techniques# 主要资料(非常感谢) http://www.cnblogs.com/caipeiyu/p/5559112.h…
1.Socket服务端与客户端通话 1服务端 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; namespace tSocket { class Program { byte[] bytes = new byte[1024];…