一、TCP 服务端和客户端
1、server 服务端
from socket import *serverPort = 12000
serverSocket = socket(AF_INET, SOCK_STREAM)
serverSocket.bind(('', serverPort))
serverSocket.listen(1)
print('TCP server 已经启动...')while True:print('服务器已经准备接受客户端...')# 阻塞,等待客户端的连接clientSocket, addr = serverSocket.accept()print('已经有客户端连接')# 接受客户端发送的信息sentence = clientSocket.recv(1024).decode()# 将接受内容(小写字母组成的句子)全部转成大写字母capitalizedSentence = sentence.upper()# 发送大写字母组成的句子clientSocket.send(capitalizedSentence.encode())# 关闭客户端连接clientSocket.close()
2、client 客户端
from socket import *serverName = '127.0.0.1'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_STREAM)# 连接服务器
clientSocket.connect((serverName, serverPort))
# 接受输入
sentence = input('输入小写字母组成的句子:')# 发送小写字母组成的句子
clientSocket.send(sentence.encode())# 接受服务器返回的大写字母组成的句子
modifiedSentence = clientSocket.recv(1024)
print('服务端返回:', modifiedSentence.decode())# 关闭客户端连接
clientSocket.close()
二、UDP 服务端和客户端
1、server 服务端
from socket import *serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', serverPort))
print('UDP服务已经启动...')
while True:message, clientAddress = serverSocket.recvfrom(2048)modifiedMessage = message.decode().upper()serverSocket.sendto(modifiedMessage.encode(), clientAddress)
2、client 客户端
from socket import *serverName = '127.0.0.1'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input('输入小写字母组成的句子:')
clientSocket.sendto(message.encode(), (serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print(“服务端返回的内容为:”+modifiedMessage.decode())
clientSocket.close()
后面的例子会参照上面的例子进行扩展。