首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
supersocket实现你的命令
】的更多相关文章
SuperSocket内置的命令行协议
内置的命令行协议(接受自定义,分隔符为“:”,“,”): 命令行协议定义了每个请求必须以回车换行结尾 "\r\n". 由于 SuperSocket 中内置的命令行协议用空格来分割请求的Key和参,因此当客户端发送如下数据到服务器端时: "LOGIN kerry 123456" + NewLine SuperSocket 服务器将会收到一个 StringRequestInfo 实例,这个实例的属性为: Key: "LOGIN" Body: &quo…
supersocket实现你的命令
现在, 如果你有一个命令行协议的服务器实例 "IronPythonServer", 而且我们要用 Python 创建一个 "ADD" 命令用于让两个整数相加,然后把计算结果返回给客户端, 我们就要完成下面的步骤: 1.创建 python 脚本文件 "ADD.py", 并书写如下内容: def execute(session, request): session.Send(str(int(request[0]) + int(request[1]))…
SuperSocket内置的命令行协议的解析
SuperSocket\SocketBase\Protocol\TerminatorReceiveFilter.cs /// <summary> /// Filters received data of the specific session into request info. /// </summary> /// <param name="readBuffer">The read buffer.</param> /// <pa…
SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解
在SuperSocket入门(二)中我们已经简单了解了通过配置App.config文件使用BootStrap启动SuperSocket服务.我们先来看一下上个案例中的基本配置文件示例: <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <!--log 日志记录--> <section name="log…
SuperSocket入门(五)-常用协议实现模版及FixedSizeReceiveFilter示例
Socket里面的协议解析是Socket通讯程序设计中最复杂的地方,如果你的应用层协议设计或实现不佳,Socket通讯中常见的粘包,分包就难以避免.SuperSocket内置了命令行格式的协议CommandLineProtocol,如果你使用了其它格式的协议,就必须自行实现自定义协议CustomProtocol.看了一篇文档之后, 你可能会觉得用 SuperSocket 来实现你的自定义协议并不简单. 为了让这件事变得更容易一些, SuperSocket 提供了一些通用的协议解…
SuperSocket入门(四)-命令行协议
前面已经了解了supersocket的一些基本的属性及相关的方法,下面就进入重点的学习内容,通信协议.在没有看官方的文档之前,对于协议的理解首先想到的是TCP和UDP协议.TCP 和 UDP 是传输层协议.在Socket程序中仅仅定义了传输层协议是不能让网络的两端进行通信的.我们需要定义应用层通信协议把我们接收到的二进制数据转化成程序能理解的请求. 命令行协议是一种被广泛应用的协议.一些成熟的协议如 Telnet, SMTP, POP3 和 FTP 都是基于命令行协议的.…
SuperSocket命令加载器 (Command Loader)
在某些情况下,你可能希望通过直接的方式来加载命令,而不是通过自动的反射. 如果是这样,你可以实现你自己的命令加载器 (Command Loader): public interface ICommandLoader<TCommand> 然后配置你的服务器来使用你新建的命令加载器 (Command Loader): <superSocket> <servers> <server name="SampleServer" serverType=&qu…
SuperSocket命令程序集定义
是的,SuperSocket是用反射来查找哪些公开的类实现了基本的命令接口,但是它只在你的AppServer类定义的程序集中查找. 举例来说, 你的 AppServer 定义在程序集 GameServer.dll 中, 但是你的 ADD 命令是定义在程序集 BasicModules.dll 中: GameServer.dll + MyGameServer.cs BasicModules.dll + ADD.cs 默认的, 命令 "ADD" 将不会被加载到游戏服务器实例. 如果你想要加载…
SuperSocket命令和命令加载器
关键字: 命令, 命令加载器, 多命令程序集 命令 (Command) SuperSocket 中的命令设计出来是为了处理来自客户端的请求的, 它在业务逻辑处理之中起到了很重要的作用. 命令类必须实现下面的基本命令接口: public interface ICommand<TAppSession, TRequestInfo> : ICommand where TRequestInfo : IRequestInfo where TAppSession : IAppSession { void E…
supersocket为动态命令增加命令过滤器
由于我们无法像 C# 中一样方便的将 CLR 属性添加到 Python 文件或者函数中,因此我们需要定义一个函数 "getFilters()" 用于将命令过滤器方会给 CLR 运行时. ADD.py def getFilters(): return [LogTimeCommandFilter(), LoggedInValidationFilter()] def execute(session, request): session.Send(str(int(request[0]) + i…