I am currently trying to make a Python program where two computers connected to different servers can send messages to each other. Below is my code:
Server.py:
import sys
import socket
def main():
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind(('', 11111))
        s.listen(1)
        while True:
            (conn, addr) = s.accept() 
            while True:
                received = conn.recv(1024)
                if received == '':
                    break
                else:
                    print(received.decode())
                send_msg = input().replace('b', '').encode()
                if send_msg == ' ':
                    break
                else:
                    conn.sendall(send_msg)
                    print("sent")
if __name__ == '__main__':
    main()
Client.py:
import sys
import socket
import select
def main():
    if len(sys.argv) is not 3:
        print("usage: %s [ip adress][port] " % sys.argv[0] )
        return(-1)
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.connect((sys.argv[1], int(sys.argv[2])))
        while True:
            s_msg = input().replace('b', '').encode('utf-8')
            if s_msg == '':
                break 
            else:
                s.sendall(s_msg)
            r_msg = s.recv(1024)
            if r_msg == '':
                break
            else:
                print(r_msg.decode())
if __name__ == '__main__':
    main()
When I executed the code by sending a message from server.py, the message was not sent to the client until I try to send a message from the client to the server. Here is the example of the result:

Does anyone know what's wrong with my code?
Please let me know if any extra information is needed. Thank you in advance.
 
    