Python Forum

Full Version: Math operations from string in a Client-Server over UDP
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
A user is to input an expression, such as "5+5", this will be sent to the server where it will be calculated and sent back to the client. This goes on until the terminator "***" is entered. My question is how do I extract the numbers and the operators from the string in order to calculate and give an answer?

My Client code:
from socket import *
serverName = localhost'
serverPort = 12000

clientSocket = socket(AF_INET, SOCK_DGRAM)

message = input("Input expression: ")


clientSocket.sendto(bytes(message,"utf-8"),  (serverName, serverPort))

modifiedMessage, serverAddress = clientSocket.recvfrom(1024)

print ("Received: ", modifiedMessage.decode())

clientSocket.close()
My Server code:
from socket import*

serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(("",serverPort))

print ("Ready")
while 1:
    message, clientAddress = serverSocket.recvfrom(1024)

    print("Expression: ",message)

    for j in range(0,len(message)):
        num1=message[j]
        op=message[j+1]
        num2=message[j+2]
    if op=='+':
        modifiedMessage= num1+num2

    serverSocket.sendto(modifiedMessage, clientAddress)
    print("Sent: ",modifiedMessage)
This gives no output, what am I doing wrong