如何使用套接字循环发送数据 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?

如果服务器希望客户端创建单个连接,然后在关闭连接之前通过该连接发送大量数据,那么客户端应该完全这样做。相反,您的客户端会为每条新消息打开一个新连接,然后在收到消息后立即关闭连接。

这意味着您要么必须修复服务器以匹配客户端行为,要么修复客户端以匹配服务器行为。