Python работа в сети - PullRequest
       2

Python работа в сети

0 голосов
/ 27 апреля 2020

Что мне нужно сделать, это отправить операцию на сервер от клиента, затем, в зависимости от этого, сервер выполнит операцию и отправит результат клиенту. Я попытался отследить код и добавил функцию печати в коде сервера. чтобы распечатать операцию, которую он получает от клиента, но она печатает операцию, плюс фактически, я не просил ее напечатать lst

Это код сервера

import socket
ServerSocket = socket.socket()
HostName = socket.gethostname()
Port=1114
ServerSocket.bind((HostName, Port))
ServerSocket.listen()


while True:

    Client,Address = ServerSocket.accept()

    operation = Client.recv(1024)
    sign=operation.decode('ascii')
    print(sign)

    sum=0
    sub=0
    div=1
    mult=1

    lst= Client.recv(1024)
    slst = operation.decode('ascii').split(",")

    if(sign=='+'):
        for j in slst:
            sum+=int(j)
        sum=str(sum)
        Client.send((sum).encode('ascii'))
    elif(sign=='-'):
        for j in slst:
            sub-=int(j)
        sub=str(sub)
        Client.send((sub).encode('ascii'))
    elif (sign== '*'):
        for j in slst:
            mult *=int(j)
        mult=str(mult)
        Client.send((mult).encode('ascii'))
    elif (sign== '/'):
        for j in slst:
            div /= float(j)
        div=str(div)
        Client.send((div).encode('ascii'))

    Client.close()

Это код клиента

import socket
ClientSocket = socket.socket()
HostName = socket.gethostname()
Port=1114
ClientSocket.connect((HostName, Port))

operation=input('Operation:')
ClientSocket.send((operation).encode('ascii'))

s='1,2,4,5,7'
ClientSocket.send((s).encode('ascii'))

result = ClientSocket.recv(1024)
result1=result.decode('ascii')
print(result1)

ClientSocket.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...