Session 类
网络会话的基类,用于管理网络通信。
继承成员
命名空间: Fantasy.Network
程序集: Fantasy.Net.dll
语法
public class Session : Entity, IEntity, IPool, ISupportedMultiEntity, IDisposable
字段
| 编辑本文 查看源代码RequestCallback
声明
public readonly Dictionary<long, FTask<IResponse>> RequestCallback
字段值
| 类型 | 描述 |
|---|---|
| Dictionary<long, FTask<IResponse>> |
属性
| 编辑本文 查看源代码Channel
关联的网络连接通道
声明
public INetworkChannel Channel { get; }
属性值
| 类型 | 描述 |
|---|---|
| INetworkChannel |
RemoteEndPoint
当前Session的终结点信息
声明
public IPEndPoint RemoteEndPoint { get; }
属性值
| 类型 | 描述 |
|---|---|
| IPEndPoint |
方法
| 编辑本文 查看源代码Call(IRequest, long)
发送一个RPC消息
声明
public virtual FTask<IResponse> Call(IRequest request, long routeId = 0)
参数
| 类型 | 名称 | 描述 |
|---|---|---|
| IRequest | request | 请求消息的实例 |
| long | routeId | routeId |
返回
| 类型 | 描述 |
|---|---|
| FTask<IResponse> |
Call(IRouteRequest, long)
发送一个RPC消息
声明
public virtual FTask<IResponse> Call(IRouteRequest request, long routeId = 0)
参数
| 类型 | 名称 | 描述 |
|---|---|---|
| IRouteRequest | request | 请求Route消息的实例 |
| long | routeId | routeId |
返回
| 类型 | 描述 |
|---|---|
| FTask<IResponse> |
Dispose()
销毁一个Session,当执行了这个方法会自动断开网络的连接。
声明
public override void Dispose()
重写
| 编辑本文 查看源代码Send(IMessage, uint, long)
发送一个消息
声明
public virtual void Send(IMessage message, uint rpcId = 0, long routeId = 0)
参数
| 类型 | 名称 | 描述 |
|---|---|---|
| IMessage | message | 消息的实例 |
| uint | rpcId | 如果是RPC消息需要传递一个RPCId |
| long | routeId | routeId |
Send(IRouteMessage, uint, long)
发送一个消息
声明
public virtual void Send(IRouteMessage routeMessage, uint rpcId = 0, long routeId = 0)
参数
| 类型 | 名称 | 描述 |
|---|---|---|
| IRouteMessage | routeMessage | 消息的实例,不同的是这个是发送Route消息使用的 |
| uint | rpcId | 如果是RPC消息需要传递一个RPCId |
| long | routeId | routeId |
Send(ProcessPackInfo, uint, long)
发送一个消息,框架内部使用建议不要用这个方法。
声明
public virtual void Send(ProcessPackInfo packInfo, uint rpcId = 0, long routeId = 0)
参数
| 类型 | 名称 | 描述 |
|---|---|---|
| ProcessPackInfo | packInfo | 一个ProcessPackInfo消息包 |
| uint | rpcId | 如果是RPC消息需要传递一个RPCId |
| long | routeId | routeId |
Send(MemoryStreamBuffer, uint, long)
发送一个消息
声明
public virtual void Send(MemoryStreamBuffer memoryStream, uint rpcId = 0, long routeId = 0)
参数
| 类型 | 名称 | 描述 |
|---|---|---|
| MemoryStreamBuffer | memoryStream | 需要发送的MemoryStreamBuffer |
| uint | rpcId | 如果是RPC消息需要传递一个RPCId |
| long | routeId | routeId |
Send(uint, long, Type, APackInfo)
发送一个消息,框架内部使用建议不要用这个方法。
声明
public virtual void Send(uint rpcId, long routeId, Type messageType, APackInfo packInfo)
参数
| 类型 | 名称 | 描述 |
|---|---|---|
| uint | rpcId | 如果是RPC消息需要传递一个RPCId |
| long | routeId | routeId |
| Type | messageType | 消息的类型 |
| APackInfo | packInfo | packInfo消息包 |
事件
| 编辑本文 查看源代码OnDispose
Session的Dispose委托
声明
public event Action OnDispose
事件类型
| 类型 | 描述 |
|---|---|
| Action |