first commit
This commit is contained in:
2
报文模拟解析/异地组网/config.txt
Normal file
2
报文模拟解析/异地组网/config.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
127.0.0.1:10
|
||||
172.16.0.70:8081
|
||||
36
报文模拟解析/异地组网/demo.py
Normal file
36
报文模拟解析/异地组网/demo.py
Normal file
File diff suppressed because one or more lines are too long
BIN
报文模拟解析/异地组网/tcp_data/TCP_AIS报文消息.bin
Normal file
BIN
报文模拟解析/异地组网/tcp_data/TCP_AIS报文消息.bin
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/TCP_GNSS消息.bin
Normal file
BIN
报文模拟解析/异地组网/tcp_data/TCP_GNSS消息.bin
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/TCP_VDES报文消息.bin
Normal file
BIN
报文模拟解析/异地组网/tcp_data/TCP_VDES报文消息.bin
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/TCP_地检状态监控消息.bin
Normal file
BIN
报文模拟解析/异地组网/tcp_data/TCP_地检状态监控消息.bin
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/TCP_地检通知消息.bin
Normal file
BIN
报文模拟解析/异地组网/tcp_data/TCP_地检通知消息.bin
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_091445.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_091445.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_093507.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_093507.jpg
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_093647.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_093647.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.5 KiB |
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_093707.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_093707.jpg
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_103228.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_103228.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.5 KiB |
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_103245.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_103245.jpg
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_103349.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_103349.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.6 KiB |
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_112014.jpg
Normal file
BIN
报文模拟解析/异地组网/tcp_data/received_image_20250918_112014.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
1
报文模拟解析/异地组网/tcp_data/图.txt
Normal file
1
报文模拟解析/异地组网/tcp_data/图.txt
Normal file
@@ -0,0 +1 @@
|
||||
ffd8ffe000104a46494600010101006000600000ffdb004300100b0c0e0c0a100e0d0e1211101318281a181616183123251d283a333d3c3933383740485c4e404457453738506d51575f626768673e4d71797064785c656763ffdb0043011112121815182f1a1a2f634238426363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363ffc000110800a9006403012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00d9a70a4a5ab10b4514b4c04a2968a0414b494b4005145140051451400514514011d028a5a431452d252d300a28a5a004a5a28a04145145001451450014514500474b4da75218a29452514c05a28a280168a4a5a04145251400b45251400b4514500474b4da5a918b4b482969805578aed5e77888c61b00fad58ac6b8631ddc8aa3ab66a27271348454ae6d5364916342edd05650bfb88f2a76b7a64722a296ea6b8e49181d062a1d78f41fb277d4d2b4b969a47570011c8c7a559cd64e94ccd3ca5ba81835a99ab84aeb526a46d2b21d9a334ccd381abb903a8a4a280194b494b4862d14945021d9ac7b828b772c8cc781c8f615af9ac6bf3e5dd3e1796c7cd9fd2b2adb1ad2dc820b88ae8b98490508ce47d698f7915bddac063662d8e476cff9cd0a8b69217440aa47cf8144686491a560371e54903207f315cda7637b17ad0aaddb614862307deb47359b6392d9c0c2f43577757452f84c2a6e4b9a729a881a78ad4cc933452514c068a5a4a280168cd2678e6a8dcdd338291b6d1ebeb532928a1c62d935cdf4506467738ec2b3a67dcbb9b9cf26a9e0b499c0fbc735336ec64638ed5cb2a8e474460a2446523e42bbd471d706a68a32fc05da9e99cd42593bf0d5760f9941cd45cb64f061176ad5807355236c1dbe9deaca9ae8a6f439e6b5255a916a35a916b6440f14500514086519a4cd266802bdf4a55020eadd6a9b11e59f6a748e649724e41e94d603cb3f4ae59cb999d11564545db9c004e4e4d5819f2fe65c7155119966e067d2acfef366777cc7f84d648d0acee9b812738e738ab50ce0a8e31e95525882827057fa9a580ee60074c5306692b67a5584aad18c0039fc6aca574c3639e4f5265a956a35152ad6a886385149453110d35cfc8df4a334c91808d89e80527b0d6e67c58d9f29c81de9b2b050707f4a588aa26380291981fc4d7133a8a864c4a8323e71eb4e78dda5016e063d076aab78a162f306708c0e3dbbd4d082c11a1451e841cd26343ee731821e4c8a86d22334f8c95451d4773516ad24c258d593258700558d321bbda19f6853fc34ec4dcd48942f03a0ab518aad1f5ab51d75c56873b7a93a8a78a6ad3c55922d1451408a99a8e6c985c0ebb4e29d9a4a4ca463f980af3d7de9158123355af898ae64518e0f1c5575bb72a598602f06b8ec75742fce1248d909192b8a874e00c5f32166538250f5a8639f7b7c913b67bd5ad2f89664da5307760d2481e826a6187d9e7c7dc621bdb35a5013e583ed54f50656b570392a412055ab6915e05c1eab4fb10c9e3ab51d558b8e2aca1aeb4739616a4151ad3c715421d452668a76028668cd333466a4b28cfa7a5d8f31dcab30ce47155d7c3ea7949b073dc66b5e1008191d00a970015c7ad64a29ea573332e2d2678d36f9b13f3d791fd0d247a75ea5eb4cde4942bb70ac73fa815a1f6c41f7a3917fde4228fb7dbffcf551f534724439e4574b6b904e62ce4ff7978fd6abdbe9f7d0b3b1119193b403d07e55ab1cf1cbfeadc37d29c6440705803e99a5ece21ceca71c72a201244e48eea0d384cea7989c7e9fcc55bdea7a30fce9c18ff78d68924ac43d48239dd8f1131ff3f4ab01c8197c20f7346f6f5348483d429fa8aab8b944fb5443fe5a29fa5146d8fbc719ff00808a28b8b94a5bb039350b5ec4bfc59e714973fea4d631ff00529f53fceb1a9371d8de1052dce92191190329041a716e57ebfd2a8e9fff001e8956c755fad5c5dd5ccdab3b108697276dd46dec53ff00af4e0f73d8c27fe047fc2b166ff8fa6ff7cff3ad28bee0a181760326f25e345e3ef29cd47385f358b5a16cff00cb450327f2e69d6df78fd2a76ea298140883f8a19c7bfcf406b61ff2f1220f761fd6af8a51d45003243fb8e25d9c0c3d43fbdfe1b943f55ffebd2ea3ff001e137d3fad62d97facfc68046d6eb8fefc67f1ff00eb5150af4a290ec7ffd9
|
||||
1
报文模拟解析/异地组网/tcp_data/真.txt
Normal file
1
报文模拟解析/异地组网/tcp_data/真.txt
Normal file
@@ -0,0 +1 @@
|
||||
ffd8ffe000104a46494600010101006000600000ffdb004300100b0c0e0c0a100e0d0e1211101318281a181616183123251d283a333d3c3933383740485c4e404457453738506d51575f626768673e4d71797064785c656763ffdb0043011112121815182f1a1a2f634238426363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363ffc000110800a9006403012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00d9a70a4a5ab10b4514b4c04a2968a0414b494b4005145140051451400514514011d028a5a431452d252d300a28a5a004a5a28a04145145001451450014514500474b4da75218a29452514c05a28a280168a4a5a04145251400b45251400b4514500474b4da5a918b4b482969805578aed5e77888c61b00fad58ac6b8631ddc8aa3ab66a27271348454ae6d5364916342edd05650bfb88f2a76b7a64722a296ea6b8e49181d062a1d78f41fb277d4d2b4b969a47570011c8c7a559cd64e94ccd3ca5ba81835a99ab84aeb526a46d2b21d9a334ccd381abb903a8a4a280194b494b4862d14945021d9ac7b828b772c8cc781c8f615af9ac6bf3e5dd3e1796c7cd9fd2b2adb1ad2dc820b88ae8b98490508ce47d698f7915bddac063662d8e476cff9cd0a8b69217440aa47cf8144686491a560371e54903207f315cda7637b17ad0aaddb614862307deb47359b6392d9c0c2f43577757452f84c2a6e4b9a729a881a78ad4cc933452514c068a5a4a280168cd2678e6a8dcdd338291b6d1ebeb532928a1c62d935cdf4506467738ec281f0f00efffffff9fffffff8ff0000f7b3a67dcbb9b9cf26a9e0b499c0fbc735336ec64638ed5cb2a8e474460a2446523e42bbd471d706a68a32fc05da9e99cd42593bf0d5760f9941cd45cb64f061176ad5807355236c1dbe9deaca9ae8a6f439e6b5255a916a35a916b6440f14500514086519a4cd266802bdf4a55020eadd6a9b11e59f6a748e649724e41e94d603cb3f4ae59cb999d11564545db9c004e4e4d5819f2fe65c7155119966e067d2acfef366777cc7f84d648d0acee9b812738e738ab50ce0a8e31e95525882827057fa9a580ee60074c5306692b67a5584aad18c0039fc6aca574c3639e4f5265a956a35152ad6a886385149453110d35cfc8df4a334c91808d89e80527b0d6e67c58d9f29c81de9b2b050707f4a588aa26380291981fc4d7133a8a864c4a8323e71eb4e78dda5016e063d076aab78a162f306708c0e3dbbd4d082c11a1451e841cd26343ee731821e4c8a86d22334f8c95451d4773516ad24c258d593258700558d321bbda19f6853fc34ec4dcd48942f03a0ab518aad1f5ab51d75c56873b7a93a8a78a6ad3c55922d1451408a99a8e6c985c0ebb4e29d9a4a4ca463f980af3d7de9158123355af898ae64518e0f1c5575bb72a598602f06b8ec75742fce1248d909192b8a874e00c5f32166538250f5a8639f7b7c913b67bd5ad2f89664da5307760d2481e826a6187d9e7c7dc621bdb35a5013e583ed54f50656b570392a412055ab6915e05c1eab4fb10c9e3ab51d558b8e2aca1aeb4739616a4151ad3c715421d452668a76028668cd333466a4b28cfa7a5d8f31dcab30ce47155d7c3ea7949b073dc66b5e1008191d00a970015c7ad64a29ea573332e2d2678d36f9b13f3d791fd0d247a75ea5eb4cde4942bb70ac73fa815a1f6c41f7a3917fde4228fb7dbffcf551f534724439e4574b6b904e62ce4ff7978fd6abdbe9f7d0b3b1119193b403d07e55ab1cf1cbfeadc37d29c6440705803e99a5ece21ceca71c72a201244e48eea0d384cea7989c7e9fcc55bdea7a30fce9c18ff78d68924ac43d48239dd8f1131ff3f4ab01c8197c20f7346f6f5348483d429fa8aab8b944fb5443fe5a29fa5146d8fbc719ff00808a28b8b94a5bb039350b5ec4bfc59e714973fea4d631ff00529f53fceb1a9371d8de1052dce92191190329041a716e57ebfd2a8e9fff001e8956c755fad5c5dd5ccdab3b108697276dd46dec53ff00af4e0f73d8c27fe047fc2b166ff8fa6ff7cff3ad28bee0a181760326f25e345e3ef29cd47385f358b5a16cff00cb450327f2e69d6df78fd2a76ea298140883f8a19c7bfcf406b61ff2f1220f761fd6af8a51d45003243fb8e25d9c0c3d43fbdfe1b943f55ffebd2ea3ff001e137d3fad62d97facfc68046d6eb8fefc67f1ff00eb5150af4a290ec7ffd9000000000000000000000000000000000000000000000000001ae74609fffffff9fffffff8ff0000f7
|
||||
21
报文模拟解析/异地组网/tcp_data/读取bin文件.py
Normal file
21
报文模拟解析/异地组网/tcp_data/读取bin文件.py
Normal file
@@ -0,0 +1,21 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
with open("TCP_VDES报文消息.bin", "rb") as f:
|
||||
data = f.read()
|
||||
print(data.hex())
|
||||
|
||||
|
||||
# 帧起始标志
|
||||
delimiter = b"####"
|
||||
|
||||
# 按标志切分
|
||||
frames = data.split(delimiter)
|
||||
|
||||
# 第一个切分出来的可能是空的(因为文件就是以 #### 开头)
|
||||
for i, frame in enumerate(frames):
|
||||
if not frame:
|
||||
continue
|
||||
# 打印时把起始标志加回去
|
||||
ais_packet = delimiter + frame
|
||||
print(f"Frame {i}:")
|
||||
print((delimiter + frame).hex())
|
||||
print("-" * 60)
|
||||
BIN
报文模拟解析/异地组网/打包/TCP_转发程序.zip
Normal file
BIN
报文模拟解析/异地组网/打包/TCP_转发程序.zip
Normal file
Binary file not shown.
2
报文模拟解析/异地组网/打包/TCP_转发程序/config.txt
Normal file
2
报文模拟解析/异地组网/打包/TCP_转发程序/config.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
192.168.2.183:10
|
||||
172.16.1.59:8081
|
||||
BIN
报文模拟解析/异地组网/打包/TCP_转发程序/终端转成都.exe
Normal file
BIN
报文模拟解析/异地组网/打包/TCP_转发程序/终端转成都.exe
Normal file
Binary file not shown.
246
报文模拟解析/异地组网/打包/build/终端转成都/Analysis-00.toc
Normal file
246
报文模拟解析/异地组网/打包/build/终端转成都/Analysis-00.toc
Normal file
@@ -0,0 +1,246 @@
|
||||
(['E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\终端转成都.py'],
|
||||
['E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包'],
|
||||
[],
|
||||
['C:\\python\\Lib\\site-packages\\numpy\\_pyinstaller',
|
||||
'C:\\python\\lib\\site-packages\\playwright\\_impl\\__pyinstaller',
|
||||
'C:\\python\\lib\\site-packages\\pygame\\__pyinstaller',
|
||||
'C:\\python\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks',
|
||||
'C:\\python\\lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks'],
|
||||
{},
|
||||
[],
|
||||
[],
|
||||
False,
|
||||
{},
|
||||
0,
|
||||
[],
|
||||
[],
|
||||
'3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit '
|
||||
'(AMD64)]',
|
||||
[('终端转成都',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\终端转成都.py',
|
||||
'PYSOURCE')],
|
||||
[('tracemalloc', 'C:\\python\\lib\\tracemalloc.py', 'PYMODULE'),
|
||||
('pickle', 'C:\\python\\lib\\pickle.py', 'PYMODULE'),
|
||||
('pprint', 'C:\\python\\lib\\pprint.py', 'PYMODULE'),
|
||||
('_compat_pickle', 'C:\\python\\lib\\_compat_pickle.py', 'PYMODULE'),
|
||||
('struct', 'C:\\python\\lib\\struct.py', 'PYMODULE'),
|
||||
('fnmatch', 'C:\\python\\lib\\fnmatch.py', 'PYMODULE'),
|
||||
('copy', 'C:\\python\\lib\\copy.py', 'PYMODULE'),
|
||||
('quopri', 'C:\\python\\lib\\quopri.py', 'PYMODULE'),
|
||||
('getopt', 'C:\\python\\lib\\getopt.py', 'PYMODULE'),
|
||||
('gettext', 'C:\\python\\lib\\gettext.py', 'PYMODULE'),
|
||||
('stringprep', 'C:\\python\\lib\\stringprep.py', 'PYMODULE'),
|
||||
('bz2', 'C:\\python\\lib\\bz2.py', 'PYMODULE'),
|
||||
('_compression', 'C:\\python\\lib\\_compression.py', 'PYMODULE'),
|
||||
('base64', 'C:\\python\\lib\\base64.py', 'PYMODULE'),
|
||||
('typing', 'C:\\python\\lib\\typing.py', 'PYMODULE'),
|
||||
('contextlib', 'C:\\python\\lib\\contextlib.py', 'PYMODULE'),
|
||||
('subprocess', 'C:\\python\\lib\\subprocess.py', 'PYMODULE'),
|
||||
('selectors', 'C:\\python\\lib\\selectors.py', 'PYMODULE'),
|
||||
('signal', 'C:\\python\\lib\\signal.py', 'PYMODULE'),
|
||||
('tokenize', 'C:\\python\\lib\\tokenize.py', 'PYMODULE'),
|
||||
('argparse', 'C:\\python\\lib\\argparse.py', 'PYMODULE'),
|
||||
('textwrap', 'C:\\python\\lib\\textwrap.py', 'PYMODULE'),
|
||||
('shutil', 'C:\\python\\lib\\shutil.py', 'PYMODULE'),
|
||||
('zipfile', 'C:\\python\\lib\\zipfile.py', 'PYMODULE'),
|
||||
('py_compile', 'C:\\python\\lib\\py_compile.py', 'PYMODULE'),
|
||||
('importlib.machinery',
|
||||
'C:\\python\\lib\\importlib\\machinery.py',
|
||||
'PYMODULE'),
|
||||
('importlib', 'C:\\python\\lib\\importlib\\__init__.py', 'PYMODULE'),
|
||||
('importlib._bootstrap',
|
||||
'C:\\python\\lib\\importlib\\_bootstrap.py',
|
||||
'PYMODULE'),
|
||||
('importlib._bootstrap_external',
|
||||
'C:\\python\\lib\\importlib\\_bootstrap_external.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata', 'C:\\python\\lib\\importlib\\metadata.py', 'PYMODULE'),
|
||||
('importlib.abc', 'C:\\python\\lib\\importlib\\abc.py', 'PYMODULE'),
|
||||
('configparser', 'C:\\python\\lib\\configparser.py', 'PYMODULE'),
|
||||
('pathlib', 'C:\\python\\lib\\pathlib.py', 'PYMODULE'),
|
||||
('urllib.parse', 'C:\\python\\lib\\urllib\\parse.py', 'PYMODULE'),
|
||||
('urllib', 'C:\\python\\lib\\urllib\\__init__.py', 'PYMODULE'),
|
||||
('email', 'C:\\python\\lib\\email\\__init__.py', 'PYMODULE'),
|
||||
('email.parser', 'C:\\python\\lib\\email\\parser.py', 'PYMODULE'),
|
||||
('email._policybase', 'C:\\python\\lib\\email\\_policybase.py', 'PYMODULE'),
|
||||
('email.utils', 'C:\\python\\lib\\email\\utils.py', 'PYMODULE'),
|
||||
('email._parseaddr', 'C:\\python\\lib\\email\\_parseaddr.py', 'PYMODULE'),
|
||||
('calendar', 'C:\\python\\lib\\calendar.py', 'PYMODULE'),
|
||||
('datetime', 'C:\\python\\lib\\datetime.py', 'PYMODULE'),
|
||||
('_strptime', 'C:\\python\\lib\\_strptime.py', 'PYMODULE'),
|
||||
('random', 'C:\\python\\lib\\random.py', 'PYMODULE'),
|
||||
('statistics', 'C:\\python\\lib\\statistics.py', 'PYMODULE'),
|
||||
('decimal', 'C:\\python\\lib\\decimal.py', 'PYMODULE'),
|
||||
('_pydecimal', 'C:\\python\\lib\\_pydecimal.py', 'PYMODULE'),
|
||||
('contextvars', 'C:\\python\\lib\\contextvars.py', 'PYMODULE'),
|
||||
('fractions', 'C:\\python\\lib\\fractions.py', 'PYMODULE'),
|
||||
('numbers', 'C:\\python\\lib\\numbers.py', 'PYMODULE'),
|
||||
('hashlib', 'C:\\python\\lib\\hashlib.py', 'PYMODULE'),
|
||||
('logging', 'C:\\python\\lib\\logging\\__init__.py', 'PYMODULE'),
|
||||
('string', 'C:\\python\\lib\\string.py', 'PYMODULE'),
|
||||
('bisect', 'C:\\python\\lib\\bisect.py', 'PYMODULE'),
|
||||
('email.feedparser', 'C:\\python\\lib\\email\\feedparser.py', 'PYMODULE'),
|
||||
('email.message', 'C:\\python\\lib\\email\\message.py', 'PYMODULE'),
|
||||
('email.policy', 'C:\\python\\lib\\email\\policy.py', 'PYMODULE'),
|
||||
('email.contentmanager',
|
||||
'C:\\python\\lib\\email\\contentmanager.py',
|
||||
'PYMODULE'),
|
||||
('email.quoprimime', 'C:\\python\\lib\\email\\quoprimime.py', 'PYMODULE'),
|
||||
('email.headerregistry',
|
||||
'C:\\python\\lib\\email\\headerregistry.py',
|
||||
'PYMODULE'),
|
||||
('email.iterators', 'C:\\python\\lib\\email\\iterators.py', 'PYMODULE'),
|
||||
('email.generator', 'C:\\python\\lib\\email\\generator.py', 'PYMODULE'),
|
||||
('email._encoded_words',
|
||||
'C:\\python\\lib\\email\\_encoded_words.py',
|
||||
'PYMODULE'),
|
||||
('uu', 'C:\\python\\lib\\uu.py', 'PYMODULE'),
|
||||
('optparse', 'C:\\python\\lib\\optparse.py', 'PYMODULE'),
|
||||
('email._header_value_parser',
|
||||
'C:\\python\\lib\\email\\_header_value_parser.py',
|
||||
'PYMODULE'),
|
||||
('email.header', 'C:\\python\\lib\\email\\header.py', 'PYMODULE'),
|
||||
('email.base64mime', 'C:\\python\\lib\\email\\base64mime.py', 'PYMODULE'),
|
||||
('email.charset', 'C:\\python\\lib\\email\\charset.py', 'PYMODULE'),
|
||||
('email.encoders', 'C:\\python\\lib\\email\\encoders.py', 'PYMODULE'),
|
||||
('email.errors', 'C:\\python\\lib\\email\\errors.py', 'PYMODULE'),
|
||||
('csv', 'C:\\python\\lib\\csv.py', 'PYMODULE'),
|
||||
('importlib.util', 'C:\\python\\lib\\importlib\\util.py', 'PYMODULE'),
|
||||
('tarfile', 'C:\\python\\lib\\tarfile.py', 'PYMODULE'),
|
||||
('gzip', 'C:\\python\\lib\\gzip.py', 'PYMODULE'),
|
||||
('lzma', 'C:\\python\\lib\\lzma.py', 'PYMODULE'),
|
||||
('token', 'C:\\python\\lib\\token.py', 'PYMODULE'),
|
||||
('_py_abc', 'C:\\python\\lib\\_py_abc.py', 'PYMODULE'),
|
||||
('threading', 'C:\\python\\lib\\threading.py', 'PYMODULE'),
|
||||
('_threading_local', 'C:\\python\\lib\\_threading_local.py', 'PYMODULE'),
|
||||
('socket', 'C:\\python\\lib\\socket.py', 'PYMODULE')],
|
||||
[('python39.dll', 'C:\\python\\python39.dll', 'BINARY'),
|
||||
('unicodedata.pyd', 'C:\\python\\DLLs\\unicodedata.pyd', 'EXTENSION'),
|
||||
('_bz2.pyd', 'C:\\python\\DLLs\\_bz2.pyd', 'EXTENSION'),
|
||||
('select.pyd', 'C:\\python\\DLLs\\select.pyd', 'EXTENSION'),
|
||||
('_decimal.pyd', 'C:\\python\\DLLs\\_decimal.pyd', 'EXTENSION'),
|
||||
('_hashlib.pyd', 'C:\\python\\DLLs\\_hashlib.pyd', 'EXTENSION'),
|
||||
('_lzma.pyd', 'C:\\python\\DLLs\\_lzma.pyd', 'EXTENSION'),
|
||||
('_socket.pyd', 'C:\\python\\DLLs\\_socket.pyd', 'EXTENSION'),
|
||||
('VCRUNTIME140.dll', 'C:\\python\\VCRUNTIME140.dll', 'BINARY'),
|
||||
('api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-time-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-time-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-string-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-math-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-math-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-process-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-process-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('libcrypto-1_1.dll', 'C:\\python\\DLLs\\libcrypto-1_1.dll', 'BINARY'),
|
||||
('ucrtbase.dll', 'C:\\WINDOWS\\system32\\ucrtbase.dll', 'BINARY'),
|
||||
('api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-handle-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-handle-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-console-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-console-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-memory-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-memory-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-string-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-localization-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-localization-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-profile-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-profile-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-synch-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-util-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-util-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l2-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l2-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-heap-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-debug-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-debug-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-synch-l1-2-0.dll',
|
||||
'BINARY')],
|
||||
[],
|
||||
[],
|
||||
[('base_library.zip',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\base_library.zip',
|
||||
'DATA')])
|
||||
193
报文模拟解析/异地组网/打包/build/终端转成都/EXE-00.toc
Normal file
193
报文模拟解析/异地组网/打包/build/终端转成都/EXE-00.toc
Normal file
@@ -0,0 +1,193 @@
|
||||
('E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\dist\\终端转成都.exe',
|
||||
True,
|
||||
False,
|
||||
False,
|
||||
'C:\\python\\lib\\site-packages\\PyInstaller\\bootloader\\images\\icon-console.ico',
|
||||
None,
|
||||
False,
|
||||
False,
|
||||
b'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<assembly xmlns='
|
||||
b'"urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">\n <trustInfo x'
|
||||
b'mlns="urn:schemas-microsoft-com:asm.v3">\n <security>\n <requested'
|
||||
b'Privileges>\n <requestedExecutionLevel level="asInvoker" uiAccess='
|
||||
b'"false"/>\n </requestedPrivileges>\n </security>\n </trustInfo>\n '
|
||||
b'<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">\n <'
|
||||
b'application>\n <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f'
|
||||
b'0}"/>\n <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>\n '
|
||||
b' <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>\n <s'
|
||||
b'upportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>\n <supporte'
|
||||
b'dOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>\n </application>\n <'
|
||||
b'/compatibility>\n <application xmlns="urn:schemas-microsoft-com:asm.v3">'
|
||||
b'\n <windowsSettings>\n <longPathAware xmlns="http://schemas.micros'
|
||||
b'oft.com/SMI/2016/WindowsSettings">true</longPathAware>\n </windowsSett'
|
||||
b'ings>\n </application>\n <dependency>\n <dependentAssembly>\n <ass'
|
||||
b'emblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version='
|
||||
b'"6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" langua'
|
||||
b'ge="*"/>\n </dependentAssembly>\n </dependency>\n</assembly>',
|
||||
True,
|
||||
False,
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\终端转成都.pkg',
|
||||
[('pyi-contents-directory _internal', '', 'OPTION'),
|
||||
('PYZ-00.pyz',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\PYZ-00.pyz',
|
||||
'PYZ'),
|
||||
('struct',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\struct.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod01_archive',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod01_archive.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod02_importers',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod02_importers.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod03_ctypes',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod03_ctypes.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod04_pywin32',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod04_pywin32.pyc',
|
||||
'PYMODULE'),
|
||||
('pyiboot01_bootstrap',
|
||||
'C:\\python\\lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
|
||||
'PYSOURCE'),
|
||||
('终端转成都',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\终端转成都.py',
|
||||
'PYSOURCE'),
|
||||
('python39.dll', 'C:\\python\\python39.dll', 'BINARY'),
|
||||
('unicodedata.pyd', 'C:\\python\\DLLs\\unicodedata.pyd', 'EXTENSION'),
|
||||
('_bz2.pyd', 'C:\\python\\DLLs\\_bz2.pyd', 'EXTENSION'),
|
||||
('select.pyd', 'C:\\python\\DLLs\\select.pyd', 'EXTENSION'),
|
||||
('_decimal.pyd', 'C:\\python\\DLLs\\_decimal.pyd', 'EXTENSION'),
|
||||
('_hashlib.pyd', 'C:\\python\\DLLs\\_hashlib.pyd', 'EXTENSION'),
|
||||
('_lzma.pyd', 'C:\\python\\DLLs\\_lzma.pyd', 'EXTENSION'),
|
||||
('_socket.pyd', 'C:\\python\\DLLs\\_socket.pyd', 'EXTENSION'),
|
||||
('VCRUNTIME140.dll', 'C:\\python\\VCRUNTIME140.dll', 'BINARY'),
|
||||
('api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-time-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-time-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-string-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-math-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-math-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-process-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-process-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('libcrypto-1_1.dll', 'C:\\python\\DLLs\\libcrypto-1_1.dll', 'BINARY'),
|
||||
('ucrtbase.dll', 'C:\\WINDOWS\\system32\\ucrtbase.dll', 'BINARY'),
|
||||
('api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-handle-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-handle-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-console-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-console-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-memory-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-memory-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-string-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-localization-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-localization-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-profile-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-profile-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-synch-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-util-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-util-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l2-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l2-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-heap-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-debug-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-debug-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-synch-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('base_library.zip',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\base_library.zip',
|
||||
'DATA')],
|
||||
[],
|
||||
False,
|
||||
False,
|
||||
1758778344,
|
||||
[('run.exe',
|
||||
'C:\\python\\lib\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe',
|
||||
'EXECUTABLE')],
|
||||
'C:\\python\\python39.dll')
|
||||
171
报文模拟解析/异地组网/打包/build/终端转成都/PKG-00.toc
Normal file
171
报文模拟解析/异地组网/打包/build/终端转成都/PKG-00.toc
Normal file
@@ -0,0 +1,171 @@
|
||||
('E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\终端转成都.pkg',
|
||||
{'BINARY': True,
|
||||
'DATA': True,
|
||||
'EXECUTABLE': True,
|
||||
'EXTENSION': True,
|
||||
'PYMODULE': True,
|
||||
'PYSOURCE': True,
|
||||
'PYZ': False,
|
||||
'SPLASH': True,
|
||||
'SYMLINK': False},
|
||||
[('pyi-contents-directory _internal', '', 'OPTION'),
|
||||
('PYZ-00.pyz',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\PYZ-00.pyz',
|
||||
'PYZ'),
|
||||
('struct',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\struct.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod01_archive',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod01_archive.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod02_importers',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod02_importers.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod03_ctypes',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod03_ctypes.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod04_pywin32',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\localpycs\\pyimod04_pywin32.pyc',
|
||||
'PYMODULE'),
|
||||
('pyiboot01_bootstrap',
|
||||
'C:\\python\\lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
|
||||
'PYSOURCE'),
|
||||
('终端转成都',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\终端转成都.py',
|
||||
'PYSOURCE'),
|
||||
('python39.dll', 'C:\\python\\python39.dll', 'BINARY'),
|
||||
('unicodedata.pyd', 'C:\\python\\DLLs\\unicodedata.pyd', 'EXTENSION'),
|
||||
('_bz2.pyd', 'C:\\python\\DLLs\\_bz2.pyd', 'EXTENSION'),
|
||||
('select.pyd', 'C:\\python\\DLLs\\select.pyd', 'EXTENSION'),
|
||||
('_decimal.pyd', 'C:\\python\\DLLs\\_decimal.pyd', 'EXTENSION'),
|
||||
('_hashlib.pyd', 'C:\\python\\DLLs\\_hashlib.pyd', 'EXTENSION'),
|
||||
('_lzma.pyd', 'C:\\python\\DLLs\\_lzma.pyd', 'EXTENSION'),
|
||||
('_socket.pyd', 'C:\\python\\DLLs\\_socket.pyd', 'EXTENSION'),
|
||||
('VCRUNTIME140.dll', 'C:\\python\\VCRUNTIME140.dll', 'BINARY'),
|
||||
('api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-convert-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-time-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-time-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-string-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-math-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-math-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-runtime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-conio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-environment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-locale-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-process-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-process-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-stdio-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('libcrypto-1_1.dll', 'C:\\python\\DLLs\\libcrypto-1_1.dll', 'BINARY'),
|
||||
('ucrtbase.dll', 'C:\\WINDOWS\\system32\\ucrtbase.dll', 'BINARY'),
|
||||
('api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-crt-utility-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-handle-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-handle-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-interlocked-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-timezone-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-console-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-console-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-memory-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-memory-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-string-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-string-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-localization-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-localization-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-profile-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-profile-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processthreads-l1-1-1.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-synch-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-util-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-util-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-file-l2-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-file-l2-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-datetime-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-processthreads-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-heap-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-heap-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-debug-l1-1-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-debug-l1-1-0.dll',
|
||||
'BINARY'),
|
||||
('api-ms-win-core-synch-l1-2-0.dll',
|
||||
'C:\\WINDOWS\\system32\\api-ms-win-core-synch-l1-2-0.dll',
|
||||
'BINARY'),
|
||||
('base_library.zip',
|
||||
'E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\base_library.zip',
|
||||
'DATA')],
|
||||
'python39.dll',
|
||||
False,
|
||||
False,
|
||||
False,
|
||||
[],
|
||||
None,
|
||||
None,
|
||||
None)
|
||||
BIN
报文模拟解析/异地组网/打包/build/终端转成都/PYZ-00.pyz
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/PYZ-00.pyz
Normal file
Binary file not shown.
95
报文模拟解析/异地组网/打包/build/终端转成都/PYZ-00.toc
Normal file
95
报文模拟解析/异地组网/打包/build/终端转成都/PYZ-00.toc
Normal file
@@ -0,0 +1,95 @@
|
||||
('E:\\projects\\wxwx\\projects_job\\VDES_Projects\\报文模拟解析\\异地组网\\打包\\build\\终端转成都\\PYZ-00.pyz',
|
||||
[('_compat_pickle', 'C:\\python\\lib\\_compat_pickle.py', 'PYMODULE'),
|
||||
('_compression', 'C:\\python\\lib\\_compression.py', 'PYMODULE'),
|
||||
('_py_abc', 'C:\\python\\lib\\_py_abc.py', 'PYMODULE'),
|
||||
('_pydecimal', 'C:\\python\\lib\\_pydecimal.py', 'PYMODULE'),
|
||||
('_strptime', 'C:\\python\\lib\\_strptime.py', 'PYMODULE'),
|
||||
('_threading_local', 'C:\\python\\lib\\_threading_local.py', 'PYMODULE'),
|
||||
('argparse', 'C:\\python\\lib\\argparse.py', 'PYMODULE'),
|
||||
('base64', 'C:\\python\\lib\\base64.py', 'PYMODULE'),
|
||||
('bisect', 'C:\\python\\lib\\bisect.py', 'PYMODULE'),
|
||||
('bz2', 'C:\\python\\lib\\bz2.py', 'PYMODULE'),
|
||||
('calendar', 'C:\\python\\lib\\calendar.py', 'PYMODULE'),
|
||||
('configparser', 'C:\\python\\lib\\configparser.py', 'PYMODULE'),
|
||||
('contextlib', 'C:\\python\\lib\\contextlib.py', 'PYMODULE'),
|
||||
('contextvars', 'C:\\python\\lib\\contextvars.py', 'PYMODULE'),
|
||||
('copy', 'C:\\python\\lib\\copy.py', 'PYMODULE'),
|
||||
('csv', 'C:\\python\\lib\\csv.py', 'PYMODULE'),
|
||||
('datetime', 'C:\\python\\lib\\datetime.py', 'PYMODULE'),
|
||||
('decimal', 'C:\\python\\lib\\decimal.py', 'PYMODULE'),
|
||||
('email', 'C:\\python\\lib\\email\\__init__.py', 'PYMODULE'),
|
||||
('email._encoded_words',
|
||||
'C:\\python\\lib\\email\\_encoded_words.py',
|
||||
'PYMODULE'),
|
||||
('email._header_value_parser',
|
||||
'C:\\python\\lib\\email\\_header_value_parser.py',
|
||||
'PYMODULE'),
|
||||
('email._parseaddr', 'C:\\python\\lib\\email\\_parseaddr.py', 'PYMODULE'),
|
||||
('email._policybase', 'C:\\python\\lib\\email\\_policybase.py', 'PYMODULE'),
|
||||
('email.base64mime', 'C:\\python\\lib\\email\\base64mime.py', 'PYMODULE'),
|
||||
('email.charset', 'C:\\python\\lib\\email\\charset.py', 'PYMODULE'),
|
||||
('email.contentmanager',
|
||||
'C:\\python\\lib\\email\\contentmanager.py',
|
||||
'PYMODULE'),
|
||||
('email.encoders', 'C:\\python\\lib\\email\\encoders.py', 'PYMODULE'),
|
||||
('email.errors', 'C:\\python\\lib\\email\\errors.py', 'PYMODULE'),
|
||||
('email.feedparser', 'C:\\python\\lib\\email\\feedparser.py', 'PYMODULE'),
|
||||
('email.generator', 'C:\\python\\lib\\email\\generator.py', 'PYMODULE'),
|
||||
('email.header', 'C:\\python\\lib\\email\\header.py', 'PYMODULE'),
|
||||
('email.headerregistry',
|
||||
'C:\\python\\lib\\email\\headerregistry.py',
|
||||
'PYMODULE'),
|
||||
('email.iterators', 'C:\\python\\lib\\email\\iterators.py', 'PYMODULE'),
|
||||
('email.message', 'C:\\python\\lib\\email\\message.py', 'PYMODULE'),
|
||||
('email.parser', 'C:\\python\\lib\\email\\parser.py', 'PYMODULE'),
|
||||
('email.policy', 'C:\\python\\lib\\email\\policy.py', 'PYMODULE'),
|
||||
('email.quoprimime', 'C:\\python\\lib\\email\\quoprimime.py', 'PYMODULE'),
|
||||
('email.utils', 'C:\\python\\lib\\email\\utils.py', 'PYMODULE'),
|
||||
('fnmatch', 'C:\\python\\lib\\fnmatch.py', 'PYMODULE'),
|
||||
('fractions', 'C:\\python\\lib\\fractions.py', 'PYMODULE'),
|
||||
('getopt', 'C:\\python\\lib\\getopt.py', 'PYMODULE'),
|
||||
('gettext', 'C:\\python\\lib\\gettext.py', 'PYMODULE'),
|
||||
('gzip', 'C:\\python\\lib\\gzip.py', 'PYMODULE'),
|
||||
('hashlib', 'C:\\python\\lib\\hashlib.py', 'PYMODULE'),
|
||||
('importlib', 'C:\\python\\lib\\importlib\\__init__.py', 'PYMODULE'),
|
||||
('importlib._bootstrap',
|
||||
'C:\\python\\lib\\importlib\\_bootstrap.py',
|
||||
'PYMODULE'),
|
||||
('importlib._bootstrap_external',
|
||||
'C:\\python\\lib\\importlib\\_bootstrap_external.py',
|
||||
'PYMODULE'),
|
||||
('importlib.abc', 'C:\\python\\lib\\importlib\\abc.py', 'PYMODULE'),
|
||||
('importlib.machinery',
|
||||
'C:\\python\\lib\\importlib\\machinery.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata', 'C:\\python\\lib\\importlib\\metadata.py', 'PYMODULE'),
|
||||
('importlib.util', 'C:\\python\\lib\\importlib\\util.py', 'PYMODULE'),
|
||||
('logging', 'C:\\python\\lib\\logging\\__init__.py', 'PYMODULE'),
|
||||
('lzma', 'C:\\python\\lib\\lzma.py', 'PYMODULE'),
|
||||
('numbers', 'C:\\python\\lib\\numbers.py', 'PYMODULE'),
|
||||
('optparse', 'C:\\python\\lib\\optparse.py', 'PYMODULE'),
|
||||
('pathlib', 'C:\\python\\lib\\pathlib.py', 'PYMODULE'),
|
||||
('pickle', 'C:\\python\\lib\\pickle.py', 'PYMODULE'),
|
||||
('pprint', 'C:\\python\\lib\\pprint.py', 'PYMODULE'),
|
||||
('py_compile', 'C:\\python\\lib\\py_compile.py', 'PYMODULE'),
|
||||
('quopri', 'C:\\python\\lib\\quopri.py', 'PYMODULE'),
|
||||
('random', 'C:\\python\\lib\\random.py', 'PYMODULE'),
|
||||
('selectors', 'C:\\python\\lib\\selectors.py', 'PYMODULE'),
|
||||
('shutil', 'C:\\python\\lib\\shutil.py', 'PYMODULE'),
|
||||
('signal', 'C:\\python\\lib\\signal.py', 'PYMODULE'),
|
||||
('socket', 'C:\\python\\lib\\socket.py', 'PYMODULE'),
|
||||
('statistics', 'C:\\python\\lib\\statistics.py', 'PYMODULE'),
|
||||
('string', 'C:\\python\\lib\\string.py', 'PYMODULE'),
|
||||
('stringprep', 'C:\\python\\lib\\stringprep.py', 'PYMODULE'),
|
||||
('subprocess', 'C:\\python\\lib\\subprocess.py', 'PYMODULE'),
|
||||
('tarfile', 'C:\\python\\lib\\tarfile.py', 'PYMODULE'),
|
||||
('textwrap', 'C:\\python\\lib\\textwrap.py', 'PYMODULE'),
|
||||
('threading', 'C:\\python\\lib\\threading.py', 'PYMODULE'),
|
||||
('token', 'C:\\python\\lib\\token.py', 'PYMODULE'),
|
||||
('tokenize', 'C:\\python\\lib\\tokenize.py', 'PYMODULE'),
|
||||
('tracemalloc', 'C:\\python\\lib\\tracemalloc.py', 'PYMODULE'),
|
||||
('typing', 'C:\\python\\lib\\typing.py', 'PYMODULE'),
|
||||
('urllib', 'C:\\python\\lib\\urllib\\__init__.py', 'PYMODULE'),
|
||||
('urllib.parse', 'C:\\python\\lib\\urllib\\parse.py', 'PYMODULE'),
|
||||
('uu', 'C:\\python\\lib\\uu.py', 'PYMODULE'),
|
||||
('zipfile', 'C:\\python\\lib\\zipfile.py', 'PYMODULE')])
|
||||
BIN
报文模拟解析/异地组网/打包/build/终端转成都/base_library.zip
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/base_library.zip
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod01_archive.pyc
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod01_archive.pyc
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod02_importers.pyc
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod02_importers.pyc
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod03_ctypes.pyc
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod03_ctypes.pyc
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod04_pywin32.pyc
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/pyimod04_pywin32.pyc
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/struct.pyc
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/localpycs/struct.pyc
Normal file
Binary file not shown.
26
报文模拟解析/异地组网/打包/build/终端转成都/warn-终端转成都.txt
Normal file
26
报文模拟解析/异地组网/打包/build/终端转成都/warn-终端转成都.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
This file lists modules PyInstaller was not able to find. This does not
|
||||
necessarily mean this module is required for running your program. Python and
|
||||
Python 3rd-party packages include a lot of conditional or optional modules. For
|
||||
example the module 'ntpath' only exists on Windows, whereas the module
|
||||
'posixpath' only exists on Posix systems.
|
||||
|
||||
Types if import:
|
||||
* top-level: imported at the top-level - look at these first
|
||||
* conditional: imported within an if-statement
|
||||
* delayed: imported within a function
|
||||
* optional: imported within a try-except-statement
|
||||
|
||||
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
|
||||
tracking down the missing module yourself. Thanks!
|
||||
|
||||
missing module named 'org.python' - imported by pickle (optional)
|
||||
missing module named org - imported by copy (optional)
|
||||
missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), pathlib (delayed, conditional, optional), subprocess (optional)
|
||||
missing module named _posixsubprocess - imported by subprocess (optional)
|
||||
missing module named grp - imported by shutil (optional), tarfile (optional), pathlib (delayed, optional), subprocess (optional)
|
||||
missing module named posix - imported by os (conditional, optional), shutil (conditional)
|
||||
missing module named resource - imported by posix (top-level)
|
||||
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional)
|
||||
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional)
|
||||
missing module named pep517 - imported by importlib.metadata (delayed)
|
||||
6426
报文模拟解析/异地组网/打包/build/终端转成都/xref-终端转成都.html
Normal file
6426
报文模拟解析/异地组网/打包/build/终端转成都/xref-终端转成都.html
Normal file
File diff suppressed because it is too large
Load Diff
BIN
报文模拟解析/异地组网/打包/build/终端转成都/终端转成都.pkg
Normal file
BIN
报文模拟解析/异地组网/打包/build/终端转成都/终端转成都.pkg
Normal file
Binary file not shown.
2
报文模拟解析/异地组网/打包/config.txt
Normal file
2
报文模拟解析/异地组网/打包/config.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
192.168.2.183:10
|
||||
172.16.1.59:8081
|
||||
BIN
报文模拟解析/异地组网/打包/dist/终端转成都.exe
vendored
Normal file
BIN
报文模拟解析/异地组网/打包/dist/终端转成都.exe
vendored
Normal file
Binary file not shown.
BIN
报文模拟解析/异地组网/打包/终端转成都.exe
Normal file
BIN
报文模拟解析/异地组网/打包/终端转成都.exe
Normal file
Binary file not shown.
92
报文模拟解析/异地组网/打包/终端转成都.py
Normal file
92
报文模拟解析/异地组网/打包/终端转成都.py
Normal file
@@ -0,0 +1,92 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import socket
|
||||
import threading
|
||||
import time
|
||||
|
||||
#SERVER_A = ("127.0.0.1", 10) # 终端IP地址
|
||||
#LISTEN_B = ("127.0.0.1", 8080) # 本地监听端口,模拟服务端B,使用组网虚拟IP:172.16.1.59:8080
|
||||
|
||||
# 从config.txt读取配置
|
||||
with open('./config.txt', 'r') as f:
|
||||
lines = f.readlines()
|
||||
# 第一行为SERVER_A的IP和端口,格式为0.0.0.0:10
|
||||
server_a_parts = lines[0].strip().split(':')
|
||||
SERVER_A = (server_a_parts[0], int(server_a_parts[1]))
|
||||
|
||||
# 第二行为LISTEN_B的IP和端口,格式为0.0.0.0:10
|
||||
listen_b_parts = lines[1].strip().split(':')
|
||||
LISTEN_B = (listen_b_parts[0], int(listen_b_parts[1]))
|
||||
clients = [] # 保存所有连接到B的客户端
|
||||
|
||||
def handle_client(conn, addr):
|
||||
"""服务端B处理客户端连接"""
|
||||
print(f"[B] 客户端已连接: {addr}")
|
||||
clients.append(conn)
|
||||
try:
|
||||
while True:
|
||||
data = conn.recv(1024)
|
||||
if not data:
|
||||
break
|
||||
print(f"[B] 收到客户端消息(一般不用处理): {data!r}")
|
||||
except Exception as e:
|
||||
print(f"[B] 客户端异常: {e}")
|
||||
finally:
|
||||
clients.remove(conn)
|
||||
conn.close()
|
||||
print(f"[B] 客户端断开: {addr}")
|
||||
|
||||
def start_server_b():
|
||||
"""启动服务端B"""
|
||||
global server_b_started
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
s.bind(LISTEN_B)
|
||||
s.listen(5)
|
||||
server_b_started = True
|
||||
print(f"[B] 模拟服务端B已启动,监听 {LISTEN_B}")
|
||||
while True:
|
||||
conn, addr = s.accept()
|
||||
threading.Thread(target=handle_client, args=(conn, addr), daemon=True).start()
|
||||
except Exception as e:
|
||||
server_b_started = False
|
||||
print(f"[B] 服务端B异常: {e}")
|
||||
|
||||
def connect_server_a():
|
||||
"""连接服务端A,并转发数据到B的所有客户端"""
|
||||
global server_b_started
|
||||
while True: # 添加外层循环以实现重连
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.connect(SERVER_A)
|
||||
print(f"[A] 已连接到服务端A: {SERVER_A}")
|
||||
while True:
|
||||
# 检查服务端B是否正常启动
|
||||
if not server_b_started:
|
||||
print("[B] 警告: 服务端B没有正常启动,可能是使用了本机不存在的IP地址")
|
||||
data = s.recv(4096)
|
||||
if not data:
|
||||
print("[A] 连接关闭")
|
||||
break
|
||||
print(f"[A] 收到数据 {len(data)} 字节,转发给B的客户端")
|
||||
# 转发给所有已连接B的客户端
|
||||
for c in clients[:]:
|
||||
try:
|
||||
c.sendall(data)
|
||||
except Exception as e:
|
||||
print(f"[B] 转发失败: {e}")
|
||||
clients.remove(c)
|
||||
c.close()
|
||||
s.close() # 正常关闭连接
|
||||
except Exception as e:
|
||||
print(f"[A] 连接失败: {e}")
|
||||
print("[A] 10秒后尝试重新连接...")
|
||||
time.sleep(10) # 等待10秒后重新连接
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 服务端B启动状态标志
|
||||
server_b_started = False
|
||||
# 启动服务端B
|
||||
threading.Thread(target=start_server_b, daemon=True).start()
|
||||
# 启动客户端去连接服务端A
|
||||
connect_server_a()
|
||||
38
报文模拟解析/异地组网/打包/终端转成都.spec
Normal file
38
报文模拟解析/异地组网/打包/终端转成都.spec
Normal file
@@ -0,0 +1,38 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
|
||||
a = Analysis(
|
||||
['终端转成都.py'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=[],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
noarchive=False,
|
||||
optimize=0,
|
||||
)
|
||||
pyz = PYZ(a.pure)
|
||||
|
||||
exe = EXE(
|
||||
pyz,
|
||||
a.scripts,
|
||||
a.binaries,
|
||||
a.datas,
|
||||
[],
|
||||
name='终端转成都',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
runtime_tmpdir=None,
|
||||
console=True,
|
||||
disable_windowed_traceback=False,
|
||||
argv_emulation=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None,
|
||||
)
|
||||
239
报文模拟解析/异地组网/模拟终端.py
Normal file
239
报文模拟解析/异地组网/模拟终端.py
Normal file
@@ -0,0 +1,239 @@
|
||||
import struct
|
||||
import socket
|
||||
import time
|
||||
import random
|
||||
import math
|
||||
import threading
|
||||
|
||||
# ------------------------ 全局队列和锁 ------------------------
|
||||
vdes_message_queue = []
|
||||
message_queue_lock = threading.Lock()
|
||||
|
||||
# ------------------------ 船只初始化 ------------------------
|
||||
SHIP_MMSIS = [random.randint(336295939, 336295969) for _ in range(10)]
|
||||
SHIP_STATUS = {}
|
||||
SHIP_LIST = [
|
||||
(336295939 + i, round(random.uniform(30.0, 34.0), 6),
|
||||
round(random.uniform(123.5, 126.0), 6), random.randint(0, 359))
|
||||
for i in range(30)
|
||||
]
|
||||
for ship in SHIP_LIST:
|
||||
mmsi, init_lat, init_lon, heading = ship
|
||||
SHIP_STATUS[mmsi] = {
|
||||
'current_lat': init_lat,
|
||||
'current_lon': init_lon,
|
||||
'heading': heading,
|
||||
'speed': 280.24 # 加速100倍用于演示
|
||||
}
|
||||
|
||||
# ------------------------ 当前坐标 ------------------------
|
||||
YANGTZE_ESTUARY_LAT = 31.23
|
||||
YANGTZE_ESTUARY_LON = 123.87
|
||||
current_lat = YANGTZE_ESTUARY_LAT
|
||||
current_lon = YANGTZE_ESTUARY_LON
|
||||
own_heading = 90 # 固定航向
|
||||
|
||||
# ------------------------ 工具函数 ------------------------
|
||||
def generate_random_position():
|
||||
global current_lat, current_lon, own_heading
|
||||
speed_knots = 300.24
|
||||
speed_kmh = speed_knots * 1.852
|
||||
speed_kmps = speed_kmh / 3600
|
||||
distance_km = speed_kmps * 1
|
||||
heading_rad = math.radians(own_heading)
|
||||
delta_lat = distance_km / 111.0 * math.cos(heading_rad)
|
||||
delta_lon = distance_km / (111.0 * math.cos(math.radians(current_lat))) * math.sin(heading_rad)
|
||||
current_lat += delta_lat
|
||||
current_lon += delta_lon
|
||||
return int(current_lon * 10000000), int(current_lat * 10000000)
|
||||
|
||||
def generate_ship_position(mmsi):
|
||||
ship = SHIP_STATUS[mmsi]
|
||||
speed_kmh = ship['speed'] * 1.852
|
||||
distance_km = speed_kmh / 3600
|
||||
heading_rad = math.radians(ship['heading'])
|
||||
delta_lat = distance_km / 111.0 * math.cos(heading_rad)
|
||||
delta_lon = distance_km / (111.0 * math.cos(math.radians(ship['current_lat']))) * math.sin(heading_rad)
|
||||
ship['current_lat'] += delta_lat
|
||||
ship['current_lon'] += delta_lon
|
||||
return ship['current_lon'], ship['current_lat']
|
||||
|
||||
def create_tcp_packet(packet_type, content):
|
||||
header = b'####'
|
||||
type_field = struct.pack('>I', packet_type)
|
||||
length_field = struct.pack('>I', len(content))
|
||||
return header + type_field + length_field + content
|
||||
|
||||
def create_gps_packet():
|
||||
lon, lat = generate_random_position()
|
||||
utc_time = int(time.time())
|
||||
content = struct.pack('>QiiiHHHBBIII',
|
||||
utc_time, lon, lat, 50, 10, 8, 7, 1, 3, 2550, 1024, own_heading)
|
||||
return content
|
||||
|
||||
def create_ais_vdes_info_packet(demod_content, Demodulator_id):
|
||||
snr = 25.75
|
||||
snr_int = int(snr)
|
||||
snr_frac = int((snr - snr_int) * 100)
|
||||
snr_packed = (snr_int & 0xFF) << 8 | (snr_frac & 0xFF)
|
||||
content = struct.pack('>BBBHHH', 12, 1, Demodulator_id, 1234, 5678, snr_packed)
|
||||
return content + demod_content
|
||||
|
||||
def encode_ais_demod_fields(SHIP_MMSI, lat, lon, heading):
|
||||
bits = []
|
||||
bits.append(format(1, '06b'))
|
||||
bits.append(format(0, '02b'))
|
||||
bits.append(format(SHIP_MMSI, '030b'))
|
||||
bits.append(format(8, '04b'))
|
||||
bits.append(format(128 & 0xFF, '08b'))
|
||||
bits.append(format(102, '010b'))
|
||||
bits.append(str(1))
|
||||
bits.append(format(int(lon * 60 * 10000) & 0x0FFFFFFF, '028b'))
|
||||
bits.append(format(int(lat * 60 * 10000) & 0x07FFFFFF, '027b'))
|
||||
bits.append(format(min(heading, 3600), '012b'))
|
||||
bits.append(format(min(heading, 511), '09b'))
|
||||
bits.append(format(30, '06b'))
|
||||
bits.append(format(0, '02b'))
|
||||
bits.append(format(0, '03b'))
|
||||
bits.append(str(0))
|
||||
bits.append(format(0, '019b'))
|
||||
bit_string = ''.join(bits)
|
||||
binary_int = int(bit_string, 2)
|
||||
byte_length = (len(bit_string) + 7) // 8
|
||||
return binary_int.to_bytes(byte_length, 'big')
|
||||
|
||||
def encode_vdes_demod_fields(Type, Fragment_num, MMSI, Payload):
|
||||
source_id = 12345678
|
||||
satellite_id = 1
|
||||
session_id = 100
|
||||
dest_id = MMSI
|
||||
fragment_num = Fragment_num
|
||||
binary_payload = Payload
|
||||
payload_size = 4 + 1 + 1 + 4 + 2 + len(binary_payload)
|
||||
content = struct.pack('>B H I B B I H',
|
||||
Type, payload_size, source_id, satellite_id, session_id, dest_id, fragment_num)
|
||||
return content + binary_payload
|
||||
|
||||
# ------------------------ 线程函数 ------------------------
|
||||
def send_messages(conn):
|
||||
global frame_index
|
||||
try:
|
||||
while True:
|
||||
with message_queue_lock:
|
||||
if vdes_message_queue:
|
||||
packet = vdes_message_queue.pop(0)
|
||||
else:
|
||||
packet = None
|
||||
if packet:
|
||||
try:
|
||||
conn.sendall(packet)
|
||||
except (ConnectionResetError, ConnectionAbortedError, BrokenPipeError):
|
||||
print("发送失败,客户端断开")
|
||||
break
|
||||
else:
|
||||
if ais_frames:
|
||||
# print(ais_frames, type(ais_frames))
|
||||
frame = ais_frames[frame_index]
|
||||
try:
|
||||
conn.sendall(frame)
|
||||
print(f"发送报文帧[{frame_index}]:", frame.hex())
|
||||
except (ConnectionResetError, ConnectionAbortedError, BrokenPipeError):
|
||||
print("发送失败,客户端断开")
|
||||
break
|
||||
|
||||
# 轮流取下一帧
|
||||
frame_index = (frame_index + 1) % len(ais_frames)
|
||||
time.sleep(5)
|
||||
|
||||
# pass
|
||||
|
||||
|
||||
|
||||
# 生成并发送AIS报文
|
||||
# selected_ship = random.choice(SHIP_LIST)
|
||||
# mmsi = selected_ship[0]
|
||||
# lon, lat = generate_ship_position(mmsi)
|
||||
# heading = SHIP_STATUS[mmsi]['heading']
|
||||
# ais_demod_content = encode_ais_demod_fields(mmsi, lat, lon, heading)
|
||||
# ais_data = create_ais_vdes_info_packet(ais_demod_content, 4)
|
||||
# ais_packet = create_tcp_packet(12, ais_data)
|
||||
# #生成并发送GPS报文
|
||||
# gps_content = create_gps_packet()
|
||||
# gps_packet = create_tcp_packet(7, gps_content)
|
||||
# try:
|
||||
# conn.sendall(ais_packet)
|
||||
# conn.sendall(gps_packet)
|
||||
# except (ConnectionResetError, ConnectionAbortedError, BrokenPipeError):
|
||||
# print("发送失败,客户端断开")
|
||||
# break
|
||||
time.sleep(0.5)
|
||||
finally:
|
||||
print("发送线程退出")
|
||||
|
||||
def handle_client(conn, addr):
|
||||
print(f"客户端连接: {addr}")
|
||||
unpacker = 'VdesMessageUnpack()'
|
||||
fragment_num = 0
|
||||
send_thread = threading.Thread(target=send_messages, args=(conn,))
|
||||
send_thread.daemon = True
|
||||
send_thread.start()
|
||||
try:
|
||||
while True:
|
||||
try:
|
||||
data = conn.recv(65536)
|
||||
if not data:
|
||||
print("客户端关闭连接")
|
||||
break
|
||||
# 解析报文并加入发送队列
|
||||
frame_type=''
|
||||
message = 'unpacker.unpack_tcp_packet(data)'
|
||||
mmsi = 'unpacker.get_mmsi()'
|
||||
Type = 30 if frame_type == 0 else 31 if frame_type == 1 else 32
|
||||
vdes_demod_content = encode_vdes_demod_fields(Type, fragment_num, mmsi, message)
|
||||
vdes_data = create_ais_vdes_info_packet(vdes_demod_content, 0)
|
||||
vdes_packet = create_tcp_packet(12, vdes_data)
|
||||
fragment_num += 1
|
||||
with message_queue_lock:
|
||||
vdes_message_queue.append(vdes_packet)
|
||||
except (ConnectionResetError, ConnectionAbortedError):
|
||||
print("客户端断开连接")
|
||||
break
|
||||
except Exception as e:
|
||||
print(f"解析报文错误: {e}")
|
||||
finally:
|
||||
conn.close()
|
||||
print("客户端连接关闭")
|
||||
|
||||
# ------------------------ 服务端启动 ------------------------
|
||||
def send_data_continuously():
|
||||
host = 'localhost'
|
||||
port = 8081
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
s.bind((host, port))
|
||||
s.listen(5)
|
||||
print(f"服务端启动 {host}:{port}")
|
||||
try:
|
||||
while True:
|
||||
conn, addr = s.accept()
|
||||
client_thread = threading.Thread(target=handle_client, args=(conn, addr))
|
||||
client_thread.daemon = True
|
||||
client_thread.start()
|
||||
except KeyboardInterrupt:
|
||||
print("服务端停止")
|
||||
def load_frames(filepath):
|
||||
with open(filepath, "rb") as f:
|
||||
data = f.read()
|
||||
|
||||
delimiter = b"####" # 帧起始标记
|
||||
frames = data.split(delimiter)
|
||||
|
||||
# 加回起始符,过滤掉空的
|
||||
frames = [delimiter + frame for frame in frames if frame]
|
||||
return frames
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 全局变量:预加载所有帧
|
||||
ais_frames = load_frames("./tcp_data/TCP_GNSS消息.bin")
|
||||
frame_index = 0 # 当前取到第几帧
|
||||
send_data_continuously()
|
||||
92
报文模拟解析/异地组网/终端转成都.py
Normal file
92
报文模拟解析/异地组网/终端转成都.py
Normal file
@@ -0,0 +1,92 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import socket
|
||||
import threading
|
||||
import time
|
||||
|
||||
#SERVER_A = ("127.0.0.1", 10) # 终端IP地址
|
||||
#LISTEN_B = ("127.0.0.1", 8080) # 本地监听端口,模拟服务端B,使用组网虚拟IP:172.16.1.59:8080
|
||||
|
||||
# 从config.txt读取配置
|
||||
with open('./config.txt', 'r') as f:
|
||||
lines = f.readlines()
|
||||
# 第一行为SERVER_A的IP和端口,格式为0.0.0.0:10
|
||||
server_a_parts = lines[0].strip().split(':')
|
||||
SERVER_A = (server_a_parts[0], int(server_a_parts[1]))
|
||||
|
||||
# 第二行为LISTEN_B的IP和端口,格式为0.0.0.0:10
|
||||
listen_b_parts = lines[1].strip().split(':')
|
||||
LISTEN_B = (listen_b_parts[0], int(listen_b_parts[1]))
|
||||
clients = [] # 保存所有连接到B的客户端
|
||||
|
||||
def handle_client(conn, addr):
|
||||
"""服务端B处理客户端连接"""
|
||||
print(f"[B] 客户端已连接: {addr}")
|
||||
clients.append(conn)
|
||||
try:
|
||||
while True:
|
||||
data = conn.recv(1024)
|
||||
if not data:
|
||||
break
|
||||
print(f"[B] 收到客户端消息(一般不用处理): {data!r}")
|
||||
except Exception as e:
|
||||
print(f"[B] 客户端异常: {e}")
|
||||
finally:
|
||||
clients.remove(conn)
|
||||
conn.close()
|
||||
print(f"[B] 客户端断开: {addr}")
|
||||
|
||||
def start_server_b():
|
||||
"""启动服务端B"""
|
||||
global server_b_started
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
s.bind(LISTEN_B)
|
||||
s.listen(5)
|
||||
server_b_started = True
|
||||
print(f"[B] 模拟服务端B已启动,监听 {LISTEN_B}")
|
||||
while True:
|
||||
conn, addr = s.accept()
|
||||
threading.Thread(target=handle_client, args=(conn, addr), daemon=True).start()
|
||||
except Exception as e:
|
||||
server_b_started = False
|
||||
print(f"[B] 服务端B异常: {e}")
|
||||
|
||||
def connect_server_a():
|
||||
"""连接服务端A,并转发数据到B的所有客户端"""
|
||||
global server_b_started
|
||||
while True: # 添加外层循环以实现重连
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.connect(SERVER_A)
|
||||
print(f"[A] 已连接到服务端A: {SERVER_A}")
|
||||
while True:
|
||||
# 检查服务端B是否正常启动
|
||||
if not server_b_started:
|
||||
print("[B] 警告: 服务端B没有正常启动,可能是使用了本机不存在的IP地址")
|
||||
data = s.recv(4096)
|
||||
if not data:
|
||||
print("[A] 连接关闭")
|
||||
break
|
||||
print(f"[A] 收到数据 {len(data)} 字节,转发给B的客户端")
|
||||
# 转发给所有已连接B的客户端
|
||||
for c in clients[:]:
|
||||
try:
|
||||
c.sendall(data)
|
||||
except Exception as e:
|
||||
print(f"[B] 转发失败: {e}")
|
||||
clients.remove(c)
|
||||
c.close()
|
||||
s.close() # 正常关闭连接
|
||||
except Exception as e:
|
||||
print(f"[A] 连接失败: {e}")
|
||||
print("[A] 10秒后尝试重新连接...")
|
||||
time.sleep(10) # 等待10秒后重新连接
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 服务端B启动状态标志
|
||||
server_b_started = False
|
||||
# 启动服务端B
|
||||
threading.Thread(target=start_server_b, daemon=True).start()
|
||||
# 启动客户端去连接服务端A
|
||||
connect_server_a()
|
||||
Reference in New Issue
Block a user