Python 2.7 Python套接字:使用IF语句的计算行为错误 Node.py 验证器

Python 2.7 Python套接字:使用IF语句的计算行为错误 Node.py 验证器,python-2.7,sockets,client-server,tcp-ip,python-sockets,Python 2.7,Sockets,Client Server,Tcp Ip,Python Sockets,我猜问题出在Node.py的第37行,因为我可以看到前一行的值101,即节点终端上的第36行。你能帮我找到错误的确切位置吗。另外,如果您需要我导入的模块的代码,请进行注释。我很乐意在以后发布它们 while var: recvData = sock.recv(256) print >>sys.stderr, 'Received from Verifier: "%s" \n' % recvData if recvData == flag: 当您收到数据时,在检查标志之

我猜问题出在Node.py的第37行,因为我可以看到前一行的值101,即节点终端上的第36行。你能帮我找到错误的确切位置吗。另外,如果您需要我导入的模块的代码,请进行注释。我很乐意在以后发布它们

while var:
    recvData = sock.recv(256)
    print >>sys.stderr, 'Received from Verifier: "%s" \n' % recvData
if recvData == flag:
当您收到数据时,在检查标志之前,您尚未对数据进行解码。在if语句之前尝试:
recvData=recvData.decode('utf-8')

我并不真正使用Python2,但据我所知,这应该是可行的

import socket
import sys
import time as t
import json

startTime = t.time()

#Count variable initialization
count = 0

#Send Start Verification Prompt
start_verif = '101'

# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#Bind the socket to the port
server_address = ('localhost', 10100)
print >>sys.stderr, 'Starting Verifier on %s port %s' % server_address
sock.bind(server_address)

#Listen for incoming connections
sock.listen(1)

while True:
    #Wait for connection
    print >>sys.stderr, 'Waiting for connection establishment'
    connection, client_address = sock.accept()
    try:
        print >>sys.stderr, 'Connection from', client_address

        #Receive the data in chunks and retransmit it
        while True:
            if count == 0:
                statusData = connection.recv(256)
                parsedData = json.loads(statusData)
        #print >>sys.stderr, 'Received "%s"' % parsedData
                print "Received Node Status: \n", json.dumps(parsedData, indent=4, sort_keys=True)
                count+=1
            elif count == 1:
                print 'Sending Verification Trigger:\n', start_verif
                connection.sendall(start_verif)
                count+=1
                checksum = connection.recv(256)
                print "Checksum value from Prover: ", checksum
                print "\n"
            else:
                print >>sys.stderr, 'SWATT successfully computed on Node with Node address: ', client_address

    finally:
        elapsedTime = t.time() - startTime
        print elapsedTime
        connection.close()
while var:
    recvData = sock.recv(256)
    print >>sys.stderr, 'Received from Verifier: "%s" \n' % recvData
if recvData == flag: