Current collected state Current
Observed since 20 Oct, 18:05 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A TCP Services Frame
一个能够用简洁的方式来构建通信服务的轻量级框架。
此项目已上传 acdpnet · PyPI ,快速安装可使用以下命令。
pip install acdpnet -i https://pypi.org/simple
from acdpnet import services
app = services.Tree()
# extension
app.run(('0.0.0.0', 1035), token='ASDF')
通过以上代码可以快速构建一个服务端,但仍然无法投入使用,在此之上还需要加上用户认证的功能。
app.idf.acessuid = {
'Name':'Password'
}
class Login(services.Idenfaction):
def setup(self):
pass
def Idenfy(self, account:str, key:str):
if key == self.acessuid.get(account):
return True
else:
return False
app.idf = Login()
在继承 services.Idenfaction 后,认证的方式请写在 Idenfy 方法中。之后覆盖 app.idf 。
完成了基本的框架后,就可以为服务端添加功能啦。
from acdpnet.tools import Conet
# 引用此类是为了在写代码时出现代码提示,可不引用
@app.command('command_name')
def Dosomething(conet:Conet):
pass
from acdpnet.tools import Conet
class Serv:
def command_name_1(conet:Conet):
pass
def command_name_2(conet:Conet):
pass
app.extension(Serv)
在通过此方法拓展时,请勿在方法中添加 self ,同时方法的名称便是指令的名称。
此库中内置了一些预先写好的拓展,可以通过以下方式添加。
from acdpnet.extension import transfer
app.extension(transfer.Transfer)
from acdpnet import nodes
app = nodes.BasicNode('Name', 'Password')
app.connect(('localhost', 1035), token='ASDF')
# do something
app.close()
data = {
...
}
app.send('Your command', data)
resp = app.recv()
# 由服务端决定返回 dict 或 list
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 2.2.1 | 4 Aug 2022 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 18:05 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:d9b81eb463b6874a68aef9cc35de821c02ee47c633f5e0035be4ecc620452626