AnimeScotch
@AnimeScotch
какой то чел

Как обьеденить код клиента и сервера на python?

У меня есть два скрипта, я пытался через многопоточность обьеденить их в один, чтобы сервер мог клиенту отправлять данные. Но у меня не получилось. Помогите пожалуйста

скрипт клиента-
import sys
from socket import socket, AF_INET, SOCK_DGRAM
from threading import Thread
alphabet = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZабвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧЪЫЬ_-=+!?:1234567890/.,<>@#)(*"
key = 3

def main():
    global alphabet,key
    SERVER_IP = 'айпи '
    PORT_NUMBER = 5000
    SIZE = 1024
    print("start")

    mySocket = socket(AF_INET, SOCK_DGRAM)
    i = 0
    while i < 5:
        s = input(">")
        subst = dict(zip(alphabet, alphabet[key:]+alphabet[:key]))
        res = ''.join(map(subst.__getitem__, s)) 
        print(res)        
        mySocket.sendto(res.encode('utf-8'), (SERVER_IP, PORT_NUMBER))
main()


скрипт сервера-
from email import message
from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
import sys
alphabet = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZабвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧЪЫЬ_-=+!?:1234567890/.,<>@#)(*"
key = -3

def main():
    global key,alphabet
    PORT_NUMBER = 5000
    SIZE = 1024
    hostName = gethostbyname('0.0.0.0')
    mySocket = socket(AF_INET, SOCK_DGRAM)
    mySocket.bind((hostName, PORT_NUMBER))
    print("Server is up\n")
    while True:
        (data, addr) = mySocket.recvfrom(SIZE)
        messages = (data.decode("utf-8"))
        subst = dict(zip(alphabet, alphabet[key:]+alphabet[:key]))
        res = ''.join(map(subst.__getitem__, messages)) 
        print(res)
    sys.exit()

main()
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы