在进行socket通信的时候,客户端一般有三个状态
1.新客户端连接上服务端
2.客户端与服务端保持连接进行交互
3.客户端断开连接
前面我们做了交互的一些操作
这个教程处理一下连接前和连接后
当然这些都是根据你的逻辑去写
我只是做一个展示
说明这里面某些方法该怎么去用
当创建一个新的Session时 我们首先要关注的就是Session这个类
protected override void OnSessionStarted()
{
this.Send("Welcome to SuperSocket Telnet Server");
}
protected override void HandleUnknownRequest(StringRequestInfo requestInfo)
{
this.Send("Unknow request");
}
protected override void HandleException(Exception e)
{
this.Send("Application error: {0}", e.Message);
}
protected override void OnSessionClosed(CloseReason reason)
{
//add you logics which will be executed after the session is closed
base.OnSessionClosed(reason);
}
我们可以看到 这里面有
OnSessionStarted
OnSessionClosed
我们来进行改造一下
聪明的小伙伴看到后应该马上就会知道
这两个覆盖的方法是干什么用的
OnSessionStarted 一个新的session连接时会触发的方法
连接的时候我们可以显示一下远程的端口
OnSessionClosed seesion断开连接时触发的方法
断开的时候我们也可以显示是谁断开了
当然这是最简单的用法
断开连接的时候我们也能看到会有断开原因
这个是底层去触发的 我们可以拿到这个原因
是一个枚举
然后打印对应的断开信息
运行一下程序
用网络调试助手创建客户端连接 然后发送消息然后关闭