hi Studnet please go through the following ,please use two terminals for communciation one is for clinet and other for server as shown in scrren short.
Sockets allow communication between processes that lie on the same machine, or on different machines working in diverse environment and even across different continents

Server.py>>
1.created a server socket which remains in the wait state till it receives a request from the client. 2.Whenever a client gets connected, the server accepts that connection.
3.The client will then start passing messages to the server.
4.And the server will process those messages and send the response back to the client.
5.we are also asking the user to input his response that he wants to pass to the client.
##THIS IS SERVER PROGRAM
import socket
import time
def Main():
host = “127.0.0.1” # Decalring the Host IP
port = 5001 # Declaring the Port Number both IP and Host shoud same
mySocket = socket.socket() #Invoking the socket module
mySocket.bind((host,port)) #Binding the connection
mySocket.listen(1) # listen for connetion 1 becasue only one client
conn, addr = mySocket.accept() #Accepting the connection
print (“Connection from: ” + str(addr))
while True:
data = conn.recv(1024).decode()
print (“Client: ” + str(data))
data = input() #asking input to send to client
conn.send(data.encode()) #sending message to client
print (“Server: ” + str(data))
conn.close() #closing the connection
if __name__ == ‘__main__’:
Main()
Client.py>>
1.Client code has a while loop for exchanging messages. The loop keeps printing all the data obtained from the server.
2. After this, there is a call to the input function asking for the client response. The response is then forwarded to the server.
3.The user may also enter ‘quit’ to stop the communication at any point in time.
#This is client program
import socket #importing the socket module
def Main():
host = ‘127.0.0.1’ # Decalring the Host IP
port = 5001 # Declaring the Port Number both IP and Host shoud same
mySocket = socket.socket() #Invoking the socket module
mySocket.connect((host,port)) #Connecting to the host with IP and Port number
message = input() #Sending Message to server
while message != ‘q’: # quit If we give input ‘q’
mySocket.send(message.encode()) # sending message to server
data = mySocket.recv(1024).decode() # Recveing from server
print (‘Server: ‘ + data)
message = input() #Sending Message to server
mySocket.close() # closing the socket
if __name__ == ‘__main__’:
Main()


Note: i used ‘q’ in program but mestoned on quit on scrren use ‘q’ to terminate program ,ignore quit in expalantion also