《计算机网络自顶向下》Socket编程 Lab热手工作 UDP TCP 客户-服务器编程
文章目录
前引
各位看官好 昨天晚上因为想试一下socket编程 然后我就把我们家另一台电脑搬出来了 结果三年前的电脑真的用不了了 我下载pycharm 然后打开 每一次点击操作都会卡5分钟左右 然后折腾了一晚上都没有办法弄
之后晚上又摇了一个我的好姐妹 试一下远程主机的通信 结果试了两个小时也没有成功 但是呢 本地的话就可以 我还在那里试了很久 我认为是防火墙的问题- - 公网私网试到了凌晨1点半左右 成功不了 所以下面的IP地址 就用127.0.0.1来代替 各位谅解一下 就直接用本地本机测试IP吧
UDP C-S 交互编程
UDP Client代码
from socket import *
serverName = '127.0.0.1'
serverPort = 2333
clientSocket = socket(AF_INET,SOCK_DGRAM)
message = input('input lowercase sentense:')
clientSocket.sendto(message.encode(),(serverName,serverPort))
modifiedMessage , serverAddress = clientSocket.recvfrom(2048)
print(modifiedMessage.decode())
clientSocket.close()
UDP Server代码
from socket import *
serverPort = 2333
serverSocket = socket(AF_INET,SOCK_DGRAM)
serverSocket.bind(('0.0.0.0',serverPort))
print("The server is ready to receive")
while True:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.decode().upper()
print("yes")
serverSocket.sendto(modifiedMessage.encode(),clientAddress)
UDP交互 测试结果

TCP C-S 交互编程
TCP Client代码
from socket import *
serverName = '127.0.0.1'
serverPort = 23333
clientSocket = socket(AF_INET,SOCK_STREAM)
clientSocket.connect((serverName,serverPort))
sentence = input('input lowercase sentense:')
clientSocket.send(sentence.encode('utf-8'))
modifiedMessage = clientSocket.recvfrom(1024)
print(str(modifiedMessage[0],'utf-8'))
clientSocket.close()
TCP Server代码
from socket import *
serverPort = 23333
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind(('0.0.0.0',serverPort))
serverSocket.listen(1)
print("The server is ready to receive")
while True:
connectionSocket, addr = serverSocket.accept()
sentense = connectionSocket.recv(1024).decode('utf-8')
print("yes")
retsentense = sentense.upper()
connectionSocket.send(retsentense.encode('utf-8'))
connectionSocket.close()
TCP 交互测试结果
