如何使用套接字循环发送数据 PYTHON
How to send data in a looping with socket PYTHON
我需要每隔 X 秒从客户端发送一个数据到带有 SOCKET 的服务器,所以我尝试了这个代码:
for i in range(100):
localip = '127.0.0.1'
port = 5010
bufferSize = 1024
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
client.connect((localip, port))
pacote = '2B4F08FE0F3B'
client.send(bytes(pacote, "utf-8"))
client.close()
time.sleep(10)
但是在服务中我收到了一个什么都没有的包裹 (' ')。我需要每 10 秒向服务器发送 100 倍相同的消息。有人知道错在哪里吗?
我还有其他 Client.py 手动放置数据(使用 input() )并且他工作完美,但现在我需要自动执行此操作。
客户端需要打开一个新的连接来发送每个数据。
But in the serv i recive a package with nothing (' ').
这是因为发送消息后socket被关闭,即 client.close()
。
I need send 100x the same message to the serv, each 10 seconds. Somebody knows where is the mistake?
如果服务器希望客户端创建单个连接,然后在关闭连接之前通过该连接发送大量数据,那么客户端应该完全这样做。相反,您的客户端会为每条新消息打开一个新连接,然后在收到消息后立即关闭连接。
这意味着您要么必须修复服务器以匹配客户端行为,要么修复客户端以匹配服务器行为。
我需要每隔 X 秒从客户端发送一个数据到带有 SOCKET 的服务器,所以我尝试了这个代码:
for i in range(100):
localip = '127.0.0.1'
port = 5010
bufferSize = 1024
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
client.connect((localip, port))
pacote = '2B4F08FE0F3B'
client.send(bytes(pacote, "utf-8"))
client.close()
time.sleep(10)
但是在服务中我收到了一个什么都没有的包裹 (' ')。我需要每 10 秒向服务器发送 100 倍相同的消息。有人知道错在哪里吗?
我还有其他 Client.py 手动放置数据(使用 input() )并且他工作完美,但现在我需要自动执行此操作。
客户端需要打开一个新的连接来发送每个数据。
But in the serv i recive a package with nothing (' ').
这是因为发送消息后socket被关闭,即 client.close()
。
I need send 100x the same message to the serv, each 10 seconds. Somebody knows where is the mistake?
如果服务器希望客户端创建单个连接,然后在关闭连接之前通过该连接发送大量数据,那么客户端应该完全这样做。相反,您的客户端会为每条新消息打开一个新连接,然后在收到消息后立即关闭连接。
这意味着您要么必须修复服务器以匹配客户端行为,要么修复客户端以匹配服务器行为。