# titan-script **Repository Path**: kk3950/titan-script ## Basic Information - **Project Name**: titan-script - **Description**: TITAN引擎开源处理脚本 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: http://bbs.ghostasm.com/index.php?c=thread&fid=2 - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-07-23 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### titan-script ![输入图片说明](https://git.oschina.net/uploads/images/2017/0717/165130_179ec11f_1443041.png "images.png") > TITAN引擎开源处理脚本 ### 脚本编辑器: > http://git.oschina.net/gaengine/titan-editor ### 项目BBS: > http://bbs.ghostasm.com/index.php?c=thread&fid=2 ### 项目简介: > TITAN网络引擎主要用于实时数据通讯,游戏服务端开发。其底层采用了高并发异步模型EPOLL(ET模式)设计开发,通过线程池、缓存池、对象池、异步日志库等组件提高其数据处理能力。同时为了降低开发者的开发难度,TITAN整合了Python脚本,开发者能够通过书写脚本完成事件的处理。同时由于TITAN的设计特性,改动处理逻辑后无需重新编译,只需重启服务即可完成所有更新。 ### 结构图: ![](https://git.oschina.net/uploads/images/2017/0720/165623_3038f0b7_1443041.png "TITAN.png") ### 分层介绍: > TITAN引擎在启动时首先会加载组件,然后会加载相关的脚本文件。当有新的连接接入或有新的数据到达是会先经过组件处理,组件可以选择对连接进行处理(拒绝或接收)并可以对接收到的数据进行解密,所以组件部分可以用作实现各种协议【http,websocket等】,当某个组件处理完数据后可选择下发数据到下一个组件处理,也可以选择直接交个脚本去处理相关业务。 ### 目录说明: ``` /- titan [ 主程序 ] |- titan.json [ 配置文件 ] |- script/ [ 脚本目录 ] |- handler.py [ 默认测试用脚本 ] |- log/ [ 默认日志目录 ] ``` ### 配置文件介绍: > http://bbs.ghostasm.com/read.php?tid=23&fid=2 ### 使用(测试)说明: ``` 1、将压缩包titan-x.x.x.zip上传到Centos服务器(其他服务器没测试过) 2、执行 unzip titan-x.x.x.zip 指令解压文件 3、cd titan-x.x.x 进入项目目录 4、执行 ./titan 启动引擎 5、编写测试脚本(OR 其他方式)对引擎进行测试 ``` ### 一个简单的Python测试脚本: ``` #-*- coding: utf-8 -*- from socket import * import json import time HOST="127.0.0.1" PORT=8000 BUFSIZ=1024 ADDR=(HOST, PORT) if __name__ == "__main__": client=socket(AF_INET, SOCK_STREAM) client.connect(ADDR) client.send(json.dumps({"func":"login","name":"mr.glt","passwd":"ghostasm"})) print client.recv(BUFSIZ) client.close() ```