如何修复脚本以通过套接字发送字符串?

时间:2019-02-13 23:12:22

标签: python python-3.x sockets

为提出我的问题,我尝试复习类似的问题,并使用其中的一些问题来获取当前的代码,但对于我来说似乎仍然行不通。

我目前正在使用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()

0 个答案:

没有答案