SuperSocket学习笔记(二)

时间:2023-03-08 17:08:29

上一篇博客SuperSocket学习笔记(一)说明了怎么快速搭建一个服务器端,这篇文章我想深挖一下SuperSocket

1. 每一个客户端连接到服务器端时,服务器端会将客户端的信息保存到一个Session(会话)中,即将客户端看成会话(一个服务器端对应于N个Session(客户端))

在执行命令时,有两个参数:session,StringRequestInfo;

session存储客户端信息(重写之后可以包含userid)

StringRequestInfo是传过来的数据(从客户端)

2. 使用配置

注意RootConfig,ServerConfig(集成接口:IRootConfig,IServerConfig)这两个类,使用方式(建议:自己动手写一下)

var appServer = new TelnetServer();

var serverConfig = new ServerConfig
{
Port = 2012 //set the listening port
};
//Setup the appServer
if (!appServer.Setup(serverConfig))
{
Console.WriteLine("Failed to setup!");
Console.ReadKey();
return;
}

3. AppServer的构造函数

第一种:

var appServer = new AppServer();

第二种:这里的TelnetSession(T)是自定义的,但是要继承AppSession<TelnetSession> 即AppSession<T>

var appServer = new AppServer<TelnetSession>();

第三种:这里的TRequestInfo是指请求信息类型,可以自定义,但是必须要继承TRequestInfo,默认使用的是StringRequestInfo,采用的是命令行协议

var appServer = new AppServer<TelnetSession, TRequestInfo>();

当你看完这些,我相信你对自定义server,session,协议等都会有一定了解,而不至于不知道如何下手写,如何修改。

请深入、仔细、认真、耐心、细心地看QuickStart项目(最好配合官方文档),你会发现其实SuperSocket真的不难,真的很强大!!!