主动从服务器端推送数据到客户端

    前面已经说过,AppSession 代表了一个逻辑的 socket 连接,基于连接的操作都应该定义在此类之中。 这个AppSession 类也封装了通过 socket 发送数据的方法。 你可以使用 AppSession 的方法 "Send(…)" 来发送数据到客户端:

    前面提到过,如果你获取了连接的 Session 实例,你就可以通过 "Send()" 方法向客户端发送数据。但是在某些情况下,你无法直接获取 Session 实例。

    SessionID是什么?

    SessionID 是 AppSession 类的一个属性,用于唯一标识一个 Session 实例。 在一个 SuperSocket TCP 服务器中,当 Session 一创建, SessionID 就会被赋值为一个 GUID 字符串。 如果你不在 SuperSocket UDP 服务器中使用 UdpRequestInfo,SessionID 就会有客户端的IP和端口组成。 如果你使用UdpRequestInfo,SessionID将会从客户端传过来。

    如果你启用了 Session 快照, 这些从 AppServer.GetAllSessions() 获取的 sessions 将不是实时更新的。 他们是在上次获取快照时所有连接到服务器的 Session。 快照相关配置,请参考配置文档。

    如果你有一个自定义的属性 "CompanyId" 在你的 AppSession 类之中,如果你想要获取这个属性等于某值的 的所有 Session, 你可以使用 AppServer 的方法 GetSessions(…):