为提出我的问题,我尝试复习类似的问题,并使用其中的一些问题来获取当前的代码,但对于我来说似乎仍然行不通。
我目前正在使用Hercules将基本TCP消息发送到活动服务器(这是一个连接到IP /端口并允许我发送消息的简单程序)。我在“消息”中添加了打印语句,并使用Hercules发送了一个打印语句以验证我的格式正确。因此,基于此,我的问题似乎在于发送消息本身。
我的CSV文件的第一行带有IP和端口。之后,每一行都有消息所需的数据。
我没有任何错误或任何反馈。发送时,Hercules确实会给我一条ACK消息,但我不确定使用Python时如何查看套接字消息。
基本上,我的目标是打开一个套接字,然后发送一条消息。字符串的格式为:
<STX>1000000000^TEST^data1^data2^data3<ETX>
这是我需要帮助的代码:
Tk().withdraw()
filename = askopenfilename()
with open(filename) as f:
csvData = csv.reader(f)
inputData = list(csvData)
f.close()
ip = inputData[0][0]
port = int(inputData[0][1])
s = socket.socket()
s.connect((ip,port))
inputData = inputData[1:] #delete first row of CSV input
for i in range(len(inputData)):
message = ('<STX>' + str(random.randint(1000000000,9999999999)) + '^TEST^'
+ inputData[i][0] + '^' + inputData[i][1] + '^' + inputData[i][2]
+ '<ETX>')
s.sendall(message.encode('utf-8'))
s.close()