Вот мой код:
Клиент:
import socket, sys, struct host = 'localhost' port = 8013 addr = (host, port) while True: try: tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp_socket.connect(addr) except ConnectionRefusedError: print('\033[31m[ERROR] Невозможно поключиться к серверу.\033[0m') break data = input('\033[32mЧто отправить серверу: \033[0m') if not data : tcp_socket.close() sys.exit(1) elif data == 'close' or data =='c': tcp_socket.close() sys.exit(1) data = str.encode(data) tcp_socket.send(data) data = bytes.decode(data) data = tcp_socket.recv(1024) if not data: print('\033[32mПриняли:\033[31m \033[31mпусто.\033[0m') else: print('\033[32mПриняли:\033[31m',data.decode('utf-8'),"\033[0m" tcp_socket.close()
import socket, sys s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = 'localhost' port = 8013 addr = (host,port) tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp_socket.bind(addr) tcp_socket.listen(10) while True: print('\033[31mОжидание...\033[0m') conn, addr = tcp_socket.accept() data = conn.recv(1024) if data == 'a': print ('123') if not data: print('\033[31mПустое сообщение от \033[32mIP:\033[0m', addr[0],'\033[32mПорт:\033[0m', addr[1]) conn.close() break else: print('\033[32mIP:\033[0m', addr[0],'\033[32mПорт:\033[0m', addr[1]) print('\033[32mСообщение:\033[0m',data.decode('utf-8')) print('\033[32mСообщение без utf-8:\033[0m',data) message = "Труе битч" conn.send(message.encode('utf-8')) conn.close() tcp_socket.close()
if data == 'a': print ('123')
Даже вот это не работает:
if data == 'b\'a\'': print ('123')