Client Python close my TCP connection without socket.close()

I am developing a TCP client on Python, and I have the next problem. I connect with the server, I send it some data, it response me with the data expected but after this the my own application (client) send a [FIN, ACK] (checked with wireshark). Here is my client app:

try:
    sock = socket(AF_INET, SOCK_STREAM)
    sock.bind((my_ip,my_port))
    sock.connect((sendAddress,sendPort))
    sock.send(joinRequest)
    joinResponse = sock.recv(18)
    print joinResponse

except socket.timeout:
    sock.close()

Upvotes: 1

Views: 2528

Answers (1)

DevC
DevC

Reputation: 7423

This is the default behavior of SocketServer, accept a connection, get the request, and then close the connection.

The simple way will be to use while loop to keep it connected, You can also use sock.settimeout to tune the timeout

Upvotes: 1

Related Questions