while(i<=9):
proto_actual=lista[i][0]
puerto_actual=lista[i][1]
if("UDP" in proto_actual):
udp1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp1.sendto("toc,toc", (host,int(puerto_actual)))
udp1.close()
i=i+1
else:
tcp1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print "Socket creado"
tcp1.sendto("toc,toc", (host,int(puerto_actual)))
tcp1.close()
print "hola"
i=i+1
任何人都可以帮助我吗?我明白了:
File "cliente.py", line 43, in <module>
udp1.sendto("toc,toc"+ (host,int(puerto_actual)))
TypeError: cannot concatenate 'str' and 'tuple' objects
我没有看到代码有任何问题。 我正在做一个像端口敲门的程序。 谢谢!
答案 0 :(得分:2)
这是由于您在此处未共享的行中的错误,或者可能是您正在使用的代码中的拼写错误(但最终在此处共享时进行了更正)。正如错误消息所示,问题出在以下行:
udp1.sendto("toc,toc"+ (host,int(puerto_actual)))
# ^ replace with ,
此处"toc,toc" +
表示您希望将str
与元组对象(host,int(puerto_actual)
连接起来,这不是有效的操作。要解决此问题,请使用逗号+
,