Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket
- import sys
- mode = 'quit'
- while True:
- resp = input('Run as server or client (Ss/Cc): ')
- if resp in ['S', 's']:
- mode = 'server'
- break
- if resp in ['C', 'c']:
- mode = 'client'
- break
- if resp in ['Q', 'q']:
- mode = 'quit'
- break
- if mode == 'quit':
- sys.exit(0)
- if mode == 'server':
- server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- server_socket.bind(('0.0.0.0', 8081))
- server_socket.listen()
- print('Server: Waiting for connection')
- connection, address = server_socket.accept()
- print('Server: Client connected, address:', address)
- else:
- address = input('Client: What is the servers IP address? (default: 127.0.0.1): ')
- if not address:
- address = '127.0.0.1'
- connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- connection.connect((address, 8081))
- print('Client: Connected to server at', address)
- name = input('Client: enter your chat name: ')
- if not name:
- name = 'anonymous'
- connection.send(bytes(name + " connected to the server", 'utf-8'))
- if mode == 'server':
- prompt = 'Server: '
- else:
- prompt = 'Client: '
- while True:
- message = connection.recv(1024)
- if not message:
- break
- print(prompt, message.decode())
- new_message = input(prompt + 'type a message: ')
- if new_message == 'quit':
- break
- connection.send(new_message.encode())
- print(prompt + 'stopped')
- connection.close()
- if mode == "server":
- server_socket.close()
Advertisement
Add Comment
Please, Sign In to add comment