试图从一本书中粘贴代码(TCP / IP学习),以将消息从客户端发送到服务器。但是除了消息“服务器已准备好接收”,什么都没有发生。
服务器代码:
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_STREAM)
serverSocket.bind(('', serverPort))
serverSocket.listen(1)
print('The server is ready to receive')
while 1:
connectionSocket, addr = serverSocket.accept()
sentence = connectionSocket.recv(1024)
capitalizedSentence = sentence.upper()
connectionSocket.send(capitalizedSentence)
connectionSocket.close()
客户代码:
from socket import *
serverName = '0.0.0.0.0'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect((serverName, serverPort))
sentence = input('Input lowercase sentence: ')
clientSocket.send(sentence)
modifiedSentence = clientSocket.recv(1024)
print('From Server: ', modifiedSentence)
clientSocket.close()
答案 0 :(得分:2)
您输入了错误的服务器名称。服务器名称实际上是IP地址,而0.0.0.0.0
不是有效的IP地址。
尝试更改
serverName = '0.0.0.0.0' -> '0.0.0.0' or '127.0.0.1'
答案 1 :(得分:0)
serverName 的值不是有效的IP地址('0.0.0.0.0')。尝试使用0.0.0.0
。
如果您想事先检查有效的IP地址,请尝试此操作。
if re.match(r'[0-9]+(?:\.[0-9]+){3}', input_string):
serverName = input_string # True, valid
else:
print('Invalid IP Address')