AGV调度类库
自定义appsocket服务器
继承自 AppServer<SLSocketSession>
的自定义 Socket 服务器类,类使用 SuperSocket 库构建,是一个专门针对于某种特定通讯协议的 Socket 服务器实现。
在其构造函数中,通过调用基类(AppServer
)的构造函数并传入一个 TerminatorReceiveFilterFactory
实例来初始化服务器。这个 TerminatorReceiveFilterFactory
被配置为使用 "ENDFLAG\r\n" 作为消息的终结符,使用 UTF-8 编码解析消息,并指定了一个自定义的请求信息解析器。
类创建了一个 Socket 服务器,它能够接收特定格式的消息,消息以 "ENDFLAG\r\n" 作为结束标志。当服务器接收到完整的消息后,它会使用 自定义请求信息解析器来解析这个消息,将其分解为定义好的请求信息(如命令和参数等)。这种机制使得 自定义socket服务器非常适合用于处理基于文本协议的通信任务。
由于 自定义socket服务器继承自 AppServer<SLSocketSession>
,它自然地支持 SuperSocket 提供的各种高级功能,如会话管理、异步通讯处理等。自定义socket会话指的是对客户端连接的会话封装,它定义了与客户端交互的具体行为,包括如何处理接收到的消息等。通过继承和定制 自定义socket会话,可以实现更加复杂和特定于应用的逻辑。
总之,自定义socket服务器为开发者提供了一个强大而灵活的框架,用于快速构建和部署具有复杂通讯需求的服务器端应用。通过自定义接收过滤器和会话处理逻辑,能够满足多种不同的通讯协议和业务需求。
自定义请求信息解析器
实现了 IRequestInfoParser<StringRequestInfo>
接口。这个类的作用是解析接收到的字符串请求信息,并将之转换为 StringRequestInfo
实例。它提供了灵活的解析方式,支持自定义消息和参数的分隔符。
namespace SuperSocket.SocketBase.Protocol
{
[DefaultMember("Item")]
public class StringRequestInfo : RequestInfo<string>
{
public StringRequestInfo(string key, string body, string[] parameters);
public string this[int index] { get; }
public string[] Parameters { get; }
public string GetFirstParam();
}
}
属性
用于分割请求名称和参数的分隔符。
用于分割多个参数的分隔符。
定义了一个常量,值为一个空格字符,作为默认的分隔符。
类型为
BasicRequestInfoParser
的静态只读字段,可用作默认的请求解析器实例。
构造函数
无参数构造函数: 使用默认的分隔符进行初始化。
带参数构造函数: 允许自定义请求名称与参数的分隔符和参数之间的分隔符。
方法
解析请求方法
: 接受一个string
参数,表示原始的请求字符串。方法首先根据请求名称与参数的分隔符 查找请求名称和参数的分界点。如果存在分界点,则将请求字符串分割为请求名称 和参数部分 ;如果不存在分界点,则整个源字符串视为请求名称。参数部分根据
参数之间的分隔符 进行进一步分割,最终构造并返回一个 字符串请求信息实例。
功能描述
自定义请求信息解析器 类提供了一个简单而强大的机制来解析基于文本的请求。这对于基于文本协议的 Socket 通信来说非常重要,使得开发者能够轻松地自定义和扩展请求解析逻辑。通过调整自定义请求名称与参数的分隔符和参数之间的分隔符,可以适配多种不同格式的请求消息,增强了服务端解析请求的灵活性和通用性。这个类在 SuperSocket 框架中尤为重要,它是请求处理流程中不可或缺的一环,确保了服务端能够正确理解和处理客户端发送的每一个请求。
自定义socket服务器
继承自 AppServer<自定义socket会话>
类。这个类利用了 SuperSocket 框架来构建基于套接字的应用程序服务端,特别针对自定义的 自定义socket会话类型的会话处理。
构造函数
在构造函数中,自定义socket服务器通过调用基类的构造函数使用一个
TerminatorReceiveFilterFactory
实例初始化服务器。该工厂类采用了 "ENDFLAG" 作为消息终止符,使用 UTF-8 编码,并传入了一个 自定义请求信息解析器实例,该实例接受 "MFLAG" 作为请求消息标志和 "PFLAG" 作为请求参数标志进行请求信息的解析。
功能描述
自定义socket服务器构造的服务端在接收到以 "ENDFLAG" 结尾的数据时,会认为一条完整的消息已经接收完成。接着使用初始化时定义的 SLRequestInfoParser
来解析数据内容。自定义请求信息解析器会根据 "MFLAG" 分解请求命令和 "PFLAG" 分解出各个参数。这样的设置使得服务器可以处理和识别自定义格式的消息,并将消息适配到 SuperSocket 框架中去。
由于 自定义socket服务器继承自泛型类 AppServer
,其中类型参数为 自定义socket会话
,表明这个服务端针对的是特定类型的会话,即 自定义socket会话
。自定义socket会话类将定义与客户端的连接会话在接收到数据后具体如何处理该数据。
通过该框架,开发者能够构建一个可靠的套接字通信服务器&#