云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > SuperSocket学习进展

SuperSocket学习进展

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 1:30:47

用动态语言实现你的命令

关键字: 动态语言, Dynamic Language, IronPython, IronRuby, 脚本, Dynamic Commands, 动态命令

为你的 SuperSocket 启用动态语言

步骤如下:

1.添加 DLR (dynamic language runtime) 配置片段;

Section 定义:

Section 内容:

type=\ names=\

2.增加 DLR 命令加载器;

......

3.为你的服务器实例启用该命令加载器:

serverTypeName=\ ip=\ maxConnectionNumber=\

commandLoader=\

完整的配置如下:

type=\SuperSocket.SocketEngine\

serverTypeName=\ ip=\ maxConnectionNumber=\

commandLoader=\

type=\SuperSocket.QuickStart.IronSocketServer\

type=\ names=\

确保所有的程序集在你的工作目录都存在

所需的文件如下: * Microsoft.Dynamic.dll * Microsoft.Scripting.dll * IronPython.dll * SuperSocket.Dlr.dll

实现你的命令

现在, 如果你有一个命令行协议的服务器实例 \而且我们要用 Python 创建一个 \命令用于让两个整数相加,然后把计算结果返回给客户端, 我们就要完成下面的步骤:

1.创建 python 脚本文件 \, 并书写如下内容:

def execute(session, request):

session.Send(str(int(request[0]) + int(request[1])))

2.将此文件放入工作目录的子目录 \里

3.WorkRoot -> Command -> ADD.py

4.启动服务器,并通过Telnet客户端验证功能 telnet 127.0.0.1 2012 Client: ADD 100 150 Server: 250

你会发现 ADD.py 位于 Command 文件夹的根目录, 因此 SuperSocket 允许所有实例加载它. 如果你只想要服务器实例 \使用它, 你应该把脚本文件放到Command目录的子目录 \里面:

WorkRoot -> Command -> IronPythonServer -> ADD.py

动态命令的更新

SuperSocket每5分钟检查一次Command文件夹的更新. 如果你有任何包括新增,更新,删除的命令文件的操作, SuperSocket 将会在 5 分钟之内应用这些改动.

为动态命令增加命令过滤器

由于我们无法像 C# 中一样方便的将 CLR 属性添加到 Python 文件或者函数中,因此我们需要定义一个函数 \用于将命令过滤器方会给 CLR 运行时.

ADD.py

def getFilters():

return [LogTimeCommandFilter(), LoggedInValidationFilter()]

def execute(session, request):

session.Send(str(int(request[0]) + int(request[1])))

搜索更多关于: SuperSocket学习进展 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

用动态语言实现你的命令 关键字: 动态语言, Dynamic Language, IronPython, IronRuby, 脚本, Dynamic Commands, 动态命令 为你的 SuperSocket 启用动态语言 步骤如下: 1.添加 DLR (dynamic language runtime) 配置片段; Section 定义:

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com