This commit is contained in:
Yunjay Liu
2024-10-25 22:03:45 +08:00
parent 7d70ac8157
commit 809b1b1cd3
35 changed files with 2355 additions and 6 deletions

View File

@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
# @Time : 2022/8/1 10:19
# @Author : 陈玉辉
# @File : service.py
import socket
# 定义要连接的服务器信息
HOST = "127.0.0.1" # 在右侧补充代码, 本地主机,指这台计算机,对应的 IP 地址为 127.0.0.1
PORT = 5000 # 端口 0~1024 为系统保留
ADDRESS = (HOST, PORT)
BUFFER = 1024 # 数据发送和接收的最大缓冲区大小 #创建客户端套接字对象
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 在括号内补充代码, 相当于声明 socket 类 型,同时生成 socket 链接对象,面向网络的套接字: 通过网络进行数据交互, TCP #连接服务器
client.connect(ADDRESS)
infos = ["hello service", "I'm client", "exit"]
for info in infos:
#在下方补充代码,发送信息
client.send(info.encode())
# 在下方补充代码, 接收服务端信息 print("等待服务端发送信息: ")
data = client.recv(BUFFER)
if data:
print("收到服务端返回的数据:{}".format(data.decode("utf-8")))
client.close()

View File

@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# @Time : 2022/8/1 10:19
# @Author : 陈玉辉
# @File : service.py
import socket
HOST = "127.0.0.1" # 在右侧补充代码, 本地主机,指这台计算机,对应的 IP 地址为 127.0.0.1
PORT = 5000 # 端口 0~1024 为系统保留
ADDRESS = (HOST, PORT)
BUFFER = 1024 # 数据发送和接收的最大数据大小
print("初始化服务器主机套接字对象.....")
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 在括号内补充代码, 面向网络的套接字: 通过 网络进行数据交互, TCP 协议,server 就是 socket 的实例
print("绑定主机信息....")
server.bind(ADDRESS) # 元组,相当于一个参数
server.listen(10)
print("wait client")
conn, addr = server.accept()
while True:
# 在下方补充代码,获取消息
recvmsg = conn.recv(BUFFER)
data = recvmsg.decode("utf-8")
print("收到来自客户端的消息: ", data)
if data == "exit":
break
# 在下方补充代码,发送消息
conn.send(data.encode())
server.close()

View File

@@ -0,0 +1,20 @@
import socket
# 定义要连接的服务器信息
HOST = "127.0.0.1" # 在右侧补充代码,获取本地主机,指这台计算机,对应的 IP 地址为 127.0.0.1
PORT = 5001 # 端口 0~1024 为系统保留
ADDRESS = (HOST, PORT)
BUFFER = 1024 # 数据发送和接收的最大缓冲区大小
# 创建客户端套接字对象
client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 在括号内补充代码,相当于声明 socket 类型,同时生成 socket 链接对象,面向网络的套接字: 通过网络进行数据交互, UDP
client.settimeout(2)
msgs = ["hello services", "I'm client", "exit"]
for msg in msgs:
# 在下方补充代码, 给服务器发送消息
msg = msg.encode()
client.sendto(msg,(HOST,PORT))
# 在下方补充代码, 接收服务端信息
recvmsg, addr = client.recvfrom(BUFFER)
data = recvmsg.decode("utf-8")
print('收到服务端的发来的消息: ', data)
client.close()

View File

@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
import socket
# 定义服务器信息
print('初始化服务器主机信息')
HOST = "127.0.0.1" # 在右侧补充代码,获取本地主机,指这台计算机,对应的 IP 地址为 127.0.0.1
PORT = 5001 # 端口 0~1024 为系统保留
ADDRESS = (HOST, PORT)
BUFFER = 1024 # 数据发送和接收的最大缓冲区大小
# 创建 UDP 服务 socket 对象
print("初始化服务器主机套接字对象......")
server = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 在括号内补充代码, 面向网络的套接字: 通过网络进行数据交互, UDP 协议,server 就是 socket 的实例
# 在下方补充代码 绑定主机信息
server.bind(ADDRESS)
print('绑定的主机信息......')
# 等待连接
print('等待客户端连接')
while True:
recvmsg, addr = server.recvfrom(BUFFER) # 在右侧补充代码,获取返回信息
data = recvmsg.decode("utf-8")
print("收到来自客户端的消息: ", data)
server.sendto(recvmsg,addr) # 在右侧补充代码,发送信息
if data == "exit":
break
server.close()