Хорошо, сначала я знаю, что этот вопрос задан довольно много раз, однако ни один из предыдущих вопросов не включал использование сокетов UDP. Я протестировал этот код без использования сокетов UDP, и он работает нормально. Спасибо заранее, вот мой код:Объект 'int' не является вызываемым (python 2.7 server/client calculator)
Client.py:
from socket import *
serverName = "localhost"
serverPort = 12000
clientSocket = socket(AF_INET , SOCK_DGRAM)
num1 = int(input("1st number: \n"))
func = raw_input("Function (+,-,*,/): \n")
num2 = int(input("2nd number: \n"))
clientSocket.sendto(int(num1), func, int(num2)(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage)
clientSocket.close()
Server.py:
from socket import *
serverPort = 12000
serverSocket = socket (AF_INET , SOCK_DGRAM)
serverSocket.bind (('', serverPort))
print ('The Server is ready ')
while 1:
num1, func, num2, clientAddress = serverSocket.recvfrom(2048)
if func =='+':
modifiedMessage = num1 + num2
else:
pass
if func =='-':
modifiedMessage = num1 - num2
else:
pass
if func =='*':
modifiedMessage = num1 + num2
else:
pass
if func =='/':
modifiedMessage = num1/num2
else:
pass
serverSocket.sendto(modifiedMessage, clientAddress)
Traceback (самый последний вызов последнего): Файл "C: \ Пользователи \ Myhat2you \ Desktop \ client.p ", строка 8, в clientSocket.sendto (int (num1), func, int (num2) (имя_сервера, serverPort)) TypeError: объект 'int' не может быть вызван
Не могли бы вы отправить сообщение об ошибке _exact_ прямо в ваш вопрос? –
'int (num2) (serverName, serverPort)' является подозрительным. но трассировка будет приветствоваться ... –
Когда вы спрашиваете об Исключении, которое производит ваша программа, вы должны опубликовать полный Traceback - в нем есть подсказки, например, какая строка вызвала проблему. Вы пытались [поймать исключение] (https://docs.python.org/3/tutorial/errors.html#handling-exceptions) и проверили переменные, напечатав их? Это то, что вы оценили? – wwii