cgai-socket一个轻量简单又快速的python socket库

cgai-socket是一款轻量级的Python Socket库,支持服务端与客户端通信,并能绑定自定义函数实现即时交互。本文介绍其安装、使用方法及回调函数的定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cgai-socket

介绍

简单轻量又快速的python socket服务与客户请求库,支持绑定自定义函数

安装
pip install cgai-socket
简例

server:

from cgai_socket.cgai_server import Server


def func1(data):
    print('func1',data)
    return None

def func2(data,_id,_name):
    print('func2:',_id,_name)
    return None

def func3(data,_id2,_name2):
    print('func2:',_id2,_name2)
    return 'func2'

HOST = '192.168.53.3'
PORT = 24601
BUFFER = 20480

call_backs = {func1:None,func2:(1,'CGAI01'),func3:(2,'CGAI02')}

server = Server(HOST,PORT,BUFFER,call_backs=call_backs)
server.listening()

client:

from cgai_socket.cgai_client import Client


HOST = '192.168.53.3'
PORT = 24601
BUFFER = 20480

my_client = Client(HOST,PORT,BUFFER)

msg = {'a':1,'b':2,'c':3}
#msg = '西瓜';
result = my_client.send(msg)
print('result:',result)
回调函数的定义

关于回调函数的定义格式:

回调函数的目的就是与客户端传来的数据进行交互,因此在自定义回调函数时:
1.必须有占位形参data(名称可随意改)。
2.每个回调函数必须有一个返回值,该可以为空,当不为空时,成功执行回调函数后会将该值传回给客户端,实现即时通信的效果

回调函数定义格式如下为:

>>> def func(data,*args):
>>>     xxxx
>>>     return None

其中data为占位形参,你可以直接把它当做已知的从客户端传送过来的数据来直接操作。

假如我们知道从客户端传送的数据是{“a”:1,“b”:2},那么我们可以如此创建回调函数来使用数据:

>>> def myfunc(data,_id,_name):
>>>     if data:
>>>         print("my data : ",data)
>>>         print("a : ",data.get('a',None))
>>>         print("_id : ",_id)
>>>         print("_name : ",_name)
>>>         return None
添加回调函数

1.使用add_callback添加回调函数:

使用add_callback添加回调函数时可以传入参数,但是不需要传入data。因为data是客户端传来的数据,这里
只是当中占位参数。
例:
>>> from cgai_socket.cgai_server import Server
>>>
>>> def myfunc(data,_id,_name):
>>>     print(data.get('a',''))
>>>     print(_id,_name)
>>> 	return None
>>>
>>> my_server = Server('192.168.1.88',24601,1024)
>>> my_id = 12
>>> my_name = 'CGAI'
>>> my_server.add_callback(myfunc,args=(my_id,my_name)) #参数args里不需要带data.
>>> my_server.listening()

如果还有其他回调函数需要添加,可以继续使用add_callback,比如:
>>> def func1(data):xxx return None
>>> def func2(data):xxx return None
>>> ...
>>> my_server.add_callback(func1)
>>> my_server.add_callback(func2)
>>> ...

注意:只有当所有回调函数添加完成后,最后才执行listening,开启服务。

2.初始化创建server时添加多个回调函数:

在初始化server时,是可以直接一次性添加多个回调函数,使用关键字参数 call_backs,
call_backs是一个字典,它使用结构是:
>>> {func1_name:(func1_args),func2_name:(func2_args),...}

例:
>>> def func1(data):xxx return None
>>> def func2(data,_id,_name):xxx return None
>>> def func3(data,_id1,_name2):xxx return None
>>> call_backs = {func1:None,func2:(_id,_name),fun3:(_id1,_name2)}
>>> my_server = Server('192.168.1.88',24601,1024,call_backs=call_backs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值