Skip to content

Instantly share code, notes, and snippets.

@ahmedfgad
Created June 22, 2020 11:01
Show Gist options
  • Select an option

  • Save ahmedfgad/3867c13453831f8ea13209a9ce0bf6bf to your computer and use it in GitHub Desktop.

Select an option

Save ahmedfgad/3867c13453831f8ea13209a9ce0bf6bf to your computer and use it in GitHub Desktop.
import socket
import pickle
soc = socket.socket()
print("Socket is created.")
soc.bind(("localhost", 10000))
print("Socket is bound to an address & port number.")
soc.listen(1)
print("Listening for incoming connection ...")
connected = False
accept_timeout = 10
soc.settimeout(accept_timeout)
try:
connection, address = soc.accept()
print("Connected to a client: {client_info}.".format(client_info=address))
connected = True
except socket.timeout:
print("A socket.timeout exception occurred because the server did not receive any connection for {accept_timeout} seconds.".format(accept_timeout=accept_timeout))
if connected:
received_data = connection.recv(8)
received_data = pickle.loads(received_data)
print("Received data from the client: {received_data}".format(received_data=received_data))
msg = "Reply from the server."
msg = pickle.loads(msg)
connection.sendall(msg)
print("Server sent a message to the client.")
connection.close()
print("Connection is closed with: {client_info}.".format(client_info=address))
soc.close()
print("Socket is closed.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment