UDP Socket 客户端没有收到来自服务器的消息
UDP Socket the client does not recieve a message from server
这是服务器代码 python
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', 12000))
print(" the server is ready to receive")
while 1:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage, clientAddress)
客户端代码为
from socket import *
serverName = '127.0.0.1'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input ('Input lowercase sentense:')
clientSocket.sendto(message.encode(),(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage)
clientSocket.close()
我运行服务器首先输出的是
enter image description here
然后我运行client输入小写的那句之后client和server什么都不做
enter image description here
请帮助我。
您的问题在这里:
while 1:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage, clientAddress)`
Python 中的缩进很重要。您的服务器进程永远不会到达第三条语句,因为它在技术上位于无限循环结束之后。
这是服务器代码 python
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', 12000))
print(" the server is ready to receive")
while 1:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage, clientAddress)
客户端代码为
from socket import *
serverName = '127.0.0.1'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input ('Input lowercase sentense:')
clientSocket.sendto(message.encode(),(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage)
clientSocket.close()
我运行服务器首先输出的是
enter image description here
然后我运行client输入小写的那句之后client和server什么都不做
enter image description here
请帮助我。
您的问题在这里:
while 1:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage, clientAddress)`
Python 中的缩进很重要。您的服务器进程永远不会到达第三条语句,因为它在技术上位于无限循环结束之后。