gpt4 book ai didi

python-3.x - 我正在从服务器发送两个字符串,而我的主机正在将两个字符串都读为一个。我怎么解决这个问题?

转载 作者:行者123 更新时间:2023-12-03 11:59:11 26 4
gpt4 key购买 nike

我的服务器不断向我的主机String1 = '{a:1, b:2}'String2 = '{a:4, b:5}'发送一个字符串

import socket

HOST = '127.0.0.1'
PORT = 65432

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)


但是我的主人正在接收两个字符串作为一个字符串 {a:1, b:2}{a:4, b:5}

import socket

HOST = '127.0.0.1'
PORT = 65432

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello, world')
while True:
data = s.recv(1024)


我不想丢失任何数据,我也不能牺牲速度。请提出一些解决方案。

提前致谢

最佳答案

如果您将两个字符串写入一个文件并将其提供给某人,他们将如何知道第一个字符串在何处结束,而下一个字符串在何处开始?套接字也是如此。

您必须缓冲数据并实现提取单独字符串的方法。这可以通过首先发送一个指示字符串大小的字节来完成,或者用一个不会出现在字符串中的字符(空,换行符等)将它们分开。

有关其他解决方案,请参见this answer

关于python-3.x - 我正在从服务器发送两个字符串,而我的主机正在将两个字符串都读为一个。我怎么解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56900879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com