Skip to content

kay1ess/zinxPy

Repository files navigation

zinxPy简介

基于python的tcp框架, 主要参考golang的Zinx框架进行实现,本项目主要用于学习, 同时也欢迎贡献代码。

主要功能

  1. 提供基于线程的链接管理
  2. tcp拆包封包
  3. tcp路由

get start

server.py

from zinxPy.server import Server
server = Server()

@server.router(1)
class MyRouter(BaseRouter):

    def before_handle(self, request):
        print("=================before handle=====================")

    def handle(self, request):
        print("receive msg:", request.msg.data.decode())
        request.conn.send_msg(101, "ping ping".encode())

    def after_handle(self, request):
        print("=================after handle======================")

server.serve()

client.py

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 9999))
msg = Message(1, "hello".encode())
client.send(pack(msg))
client.close()
配置文件

config.json

{
    "host": "0.0.0.0", 
    "port": 9999,
    "name": "zinxPy",
    "max_conn": 100,
    "max_package_size": 1024
}

About

zinx框架的python实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages