TCP客户端-服务器代码。什么也没做

时间:2018-09-25 17:04:53

标签: python tcp

试图从一本书中粘贴代码(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()

2 个答案:

答案 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')
相关问题