No project description provided
Project description
patch_jack
一句话:你在本机开个端口等人连;外面的交换程序按自己的配置主动连上来。连上之后怎么转发、走哪条线,都由交换程序决定,本库帮你处理「监听、收发、编解码」这些脏活。
适合你吗
- 你的进程只想在本机被动监听,不想写「主动去连中央」的客户端。
- 可能有多路交换程序(或多实例)要同时连到同一个业务进程。
- 你想直接发 Python 对象(字典、数据类、带校验的模型),不想手搓二进制协议。
三条里命中任意一条,就值得往下看。
常用词对照
| 文档里常说 | 你可以理解成 |
|---|---|
| 监听地址 | 你绑定的 IP:端口,一般要抄到交换程序的配置里 |
| 发一条 | 发给当前所有已连上的交换程序,内容同一份 |
设计特性
你只管开端口,谁来连由交换程序决定
- 你在代码里指定本机要绑的 主机 和 端口(端口也可以写
0,让系统随便挑一个空的)。 - 交换程序读自己的表,主动连你这个地址。
- 你不用在业务里记「中央在哪」——对方会来找你。
好几台交换程序可以同时连你
- 不会因为「已经有一台连上了」就把后来的拒掉。
- 每台连接单独维护;发数据时可以一起通知当前所有连接。
发一次,所有连着的人都收到同一份
你发一条业务消息时:
- 内容会原样发给当前所有连接。
- 大家拿到的是同一份字节和同一个序号,方便各台交换程序各自做路由、对账。
你平时还是写 Python 对象,不用自己拼二进制
| 你手里是 | 库会帮你 |
|---|---|
字典、Mapping |
按约定压成线上字节 |
| 带校验的模型、数据类 | 同样压成线上字节 |
| 收进来的字节 | 解回 Python,再进你的回调 |
回调可以写类型,对不上就不瞎调
- 处理函数第一个参数可以写类型注解。
- 对得上的才调用;对不上会打日志,不会悄悄把错数据塞进你的函数。
想打日志可以挂几个小钩子
适合记日志、做调试的同步回调包括(名字不必背,知道「有这回事」即可):
- 监听起来了 / 有人连上或断开
- 收到对端转过来的数据 / 发不出去
- 对面报错 / 收到「已收到」的确认
钩子别太耗时;重活请自己
create_task或丢线程池。
想看得顺眼可以装彩色日志(不装也行)
- 装了常见彩色终端库:事件可以打成一行、带颜色。
- 没装:退回标准
logging,不会因为少依赖就崩。
端口写 0 也行,起来后再问「我实际监听的是哪」
端口写 0 → 启动完成 → 取 listen_address 字符串
→ 复制到交换程序配置里的 address
本机「全零监听」时,也会给你一个适合写进本机配置的地址形式(含 IPv6 时的括号习惯)。
命令行跑着时,Ctrl+C 能正常收尾
库带一个「等到用户想退出再继续」的辅助协程,适合示例和小脚本:收到中断或退出意图后,可以统一关掉监听和连接,不至于一团糟。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_library_patch_jack-0.1.1.tar.gz.
File metadata
- Download URL: python_library_patch_jack-0.1.1.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf068be66b5d3a819d0f06ab11e79bc1871ccaeaa45983ffb59b2292029bace3
|
|
| MD5 |
1d0d07c50469b59b578e2ea15767d751
|
|
| BLAKE2b-256 |
b00a03d2c81e6c86deee2fc95ddad300794ddb3af9009aa6635d58b4a287fbd0
|
File details
Details for the file python_library_patch_jack-0.1.1-py3-none-any.whl.
File metadata
- Download URL: python_library_patch_jack-0.1.1-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b011991a795ee684c6d7dd892517ab6bc46c3eb3cb6c23fd3da316e225b2100
|
|
| MD5 |
0f5bc0cbfa14f9c67217f500856c9a08
|
|
| BLAKE2b-256 |
28bc6f4120769542d40beb4bfb5c2be000aaef39a68d00b1b2773d2c287e24b4
|