SSL客户端程序发送后关闭(python)



我创建了一个简单的程序,将字符串从我PC上的客户端发送到另一台设备上的服务器。我使用下面的代码。


host = '192.168.1.105'
portNumb = 5000
data="hello world"
soc=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
context=ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
sslConn=context.wrap_socket(soc)
sslConn.connect((host,portNumb))
sslConn.send(data.encode())

当我检查wireshark日志时,客户端正在发送字符串,但立即关闭连接,甚至没有等待服务器的ACK。字符串也没有到达服务器(我检查了日志)。

有谁能给我一个建议吗?是否有一些东西我错过了像recv()或者我应该运行服务器程序与此或任何东西?

我认为你正在关闭连接,sslConn.close

sslConn.send(data.encode())
while sslConn.recv(server_port_number) != "ack":
print "waiting for ack"
print "ack received!"
#send disconnect message    
                                                 
dmsg = "disconnect"
sslConn.send(dmsg)
sslConn.close()

最新更新