python - 如何通过 tcp 从 python 向节点 js 发送 base64 编码图像?
问题描述
我基本上是在做一个项目并且在这一点上被卡住了。我尝试了普通的 tcp,但后来发现图像在节点 js 端部分传输的最大长度约为 65,000。但是在 python 端,总编码图像长度约为 65000 的 3 倍。该图像基本上是我桌面的屏幕截图,分辨率约为 1920 x 1020。这是我的 python 端代码
import socket
HOST = '127.0.0.1' # Standard loopback interface address (localhost)
PORT = 9898 # Port to listen on (non-privileged ports are > 1023)
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
print("-- start --")
conn, addr = s.accept()
print("-- accepted --")
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024)
print("R : ", data)
if not data:
break
print("sending data")
# b64str is a pre computed string of length around 65000*3
conn.sendall(bytes(b64str, 'utf-8'))
这是Node js端代码
client.connect(9898, '127.0.0.1', function() {
console.log('CONNECTED : img-data-channel');
});
// buff is a buffer queue that stores the base64 encoded string
client.on('data', function(data) {
str_data = String.fromCharCode.apply(null, data);
buff.push_data(str_data);
// console.log("Received: img-data type : ", typeof(str_data), " size : ", str_data.length) ;
});
client.on('close', function() {
console.log('DISCONNECTED : img-data-channel');
});
先感谢您。
解决方案
推荐阅读
- veins - 如何在静脉 5.0 中获得车辆计数?
- bash - 为什么“at”命令不将数据发送到指定的输出文件?
- python - 不清楚如何从 Statsmodels 中的多变量 ARX 中获取单个预测向量
- angular - 处理Angular中的浏览器刷新按钮
- css - 为什么 % 的最高值在 Google chrome 中没有响应,而在 Firefox 中却没有响应?
- python - Python,Pyinstaller,图像,声音
- powershell - 需要使用 powershell 选择“正确”的驱动程序
- node.js - 安装nodemon的问题
- r - 在 R 中使用环境和 ggplot2 进行故障排除
- c - 访问大型堆数组时出现分段错误(核心转储)