这里给出了应用程序客户端的代码:
from socket import *
serverName = 'localhost'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_STREAM) # 客户套接字的创建,第一个参数仍指示底层网络使用的是IPV4,第二个参数表明它是一个TCP套接字
clientSocket.connect((serverName, serverPort)) # connect()方法的参数是服务器端的地址,在这段代码执行完后,执行三次握手,并在客户和服务器之间创建起一条TCP连接
sentence = input('Input lowercase sentence:')
clientSocket.send(sentence.encode()) # 通过客户端的套接字进入TCP连接发送sentence字符串
modifiedSentence = clientSocket.recv(1024)
print('From Server:', modifiedSentence.decode()) # 输出从服务器端传送过来的大写字符串
clientSocket.close() # 关闭了套接字
现在我们看一下服务器程序:
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_STREAM)
serverSocket.bind(('localhost', serverPort))
serverSocket.listen(1) # listen()方法中的参数定义了请求连接的最大数(至少为1)
print('The server is ready to receive')
while True:
connectionSocket, addr = serverSocket.accept() # 当客户端发送来信息时,调用accept()方法,创建了一个称为connectionSocket的新套接字,由这个特定的客户专用
sentence = connectionSocket.recv(1024).decode()
capitalizedSentence = sentence.upper() # 将传输过来的字符串大写
connectionSocket.send(capitalizedSentence.encode())
connectionSocket.close()
本文介绍了一个简单的TCP客户端与服务器交互的实例。客户端通过套接字发送小写字母组成的句子到服务器,服务器接收后将其转换成大写并返回。文章详细展示了客户端与服务器端的Python代码实现。
1488

被折叠的 条评论
为什么被折叠?



