Skip to content
Snippets Groups Projects
Commit 4e014884 authored by MADANI Mohamed's avatar MADANI Mohamed
Browse files

Upload New File

parent 1b71f92b
Branches
No related tags found
No related merge requests found
cl.py 0 → 100644
import socket
import sys
import json
import keyboard
# Liste pour stocker les touches pressées pour former un message
buffer = []
# Nom d'utilisateur et destination du message
user = ""
destination = ""
# Socket du client
client_socket = None
# Fonction pour initialiser le client
def initialize_client():
global user, destination, client_socket
user = input("Enter your username: ")
destination = input("Enter the destination username: ")
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('localhost', int(sys.argv[1])) if len(sys.argv) > 1 else ('localhost', 12345)
try:
client_socket.connect(server_address)
client_socket.settimeout(1)
print("Connected to server")
setup_keyboard_shortcuts()
start_message_receiving()
except ConnectionRefusedError:
print("Connection refused. Please make sure the server is running.")
# Fonction pour configurer les raccourcis clavier
def setup_keyboard_shortcuts():
keyboard.add_hotkey('ctrl+q', lambda: sys.exit(0))
keyboard.on_press(on_key_event)
# Fonction appelée lorsqu'une touche est pressée
def on_key_event(e):
if e.name == 'm' and e.event_type == 'down' and keyboard.is_pressed('ctrl'):
buffer.clear()
print("Enter your message: ")
keyboard.hook(capture_keys)
# Fonction pour capturer les touches pressées et les ajouter au buffer
def capture_keys(e):
if e.name == 'enter' and e.event_type == 'down':
keyboard.unhook(capture_keys)
send_message()
else:
if e.name == 'backspace':
buffer.pop()
else:
buffer.append({"space": " ", "backspace": ""}.get(e.name, e.name))
# Fonction pour envoyer le message
def send_message():
message = ''.join(buffer[1:])
data = json.dumps({"user": user, "destination": destination, "message": message})
client_socket.send(data.encode('utf-8'))
# Fonction pour commencer à recevoir les messages du serveur
def start_message_receiving():
while True:
try:
res = client_socket.recv(1024)
if res:
print(f"Received message: {res.decode('utf-8')}")
except socket.timeout:
continue
if __name__ == "__main__":
initialize_client()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment