使用python套接字连接到服务器,接收数据并将其重新发送到服务器

使用python套接字连接到服务器,接收数据并将其重新发送到服务器,python,sockets,netcat,Python,Sockets,Netcat,我有一种捕获标志分配,我需要连接到服务器和端口,接收数据,提取数据中给出的数字,然后重新发送。我猜我需要继续这样做,直到一些旗帜到达 我尝试过用python套接字(我几乎不懂)实现这一点,并得出以下代码: import socket import re #AF_INET for IPv4, SOCK_STREAM for TCP clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Tell the soc

我有一种捕获标志分配,我需要连接到服务器和端口,接收数据,提取数据中给出的数字,然后重新发送。我猜我需要继续这样做,直到一些旗帜到达

我尝试过用python套接字(我几乎不懂)实现这一点,并得出以下代码:

import socket
import re



#AF_INET for IPv4, SOCK_STREAM for TCP 
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Tell the socket what IP and port number to connect to
clientsocket.connect(('35.157.111.68', 10172))


while 1:
    # Recieve 1024 bytes of data.
    data = clientsocket.recv(1024)
    if not data: break
    # Get only numbers from string
    data = re.sub('\D',"", data)
    # Send our result to the server.
    clientsocket.send(str(data))

它正在建立连接并接收数据,但当它发回数字时,它不会正确地接受它,并且只接受一轮(不循环)

这是因为如果没有接收到数据,就中断了循环。因此,发送调用永远不会执行,而循环只运行一次。如果。。。中断行,或使用嵌套循环来接收数据。不幸的是,我尝试了不同的方法,包括删除此语句,但仍然无法执行。我认为clientsocket.send(str(data))命令有问题,因为当我试图打印数据时,我可以看到正确的数字在那里,但不知何故它不能正确地发送数据