У меня клиент читает текстовый файл и отправляет эти данные на сервер. Я хочу, чтобы клиент прочитал текстовый файл и увидел, совпадает ли то, что он только что прочитал, с тем, что он отправил на предыдущей итерации. Когда я запускаю функцию, программа отправляет содержимое текстового файла один раз на сервер и затем останавливается. Не пытаясь помешать отправке одного и того же снова и снова, программа работает отлично.
Я пытался переместить check = move_pos
внутри и вне оператора if, но это не имеет значения.
import socket, linecache
HOST = "127.0.0.1"
PORT = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
move_pos = ['0','0','0','0','0']
check = ['0','0','0','0','0']
while True:
for i in range(len(move_pos)):
pos = linecache.getline('positions.txt',i+1)
move_pos[i] = str(pos.strip("\n"))
linecache.clearcache()
if move_pos != check:
n = "\n"
posstr = n.join(move_pos)
s.send(posstr.encode())
data = ''
data = s.recv(1024).decode()
print (data)
check = move_pos
s.close()
Я новичок в Python, поэтому я уверен, что это это просто глупая ошибка, но я был бы признателен за помощь.