finish
This commit is contained in:
22
基于 socket 的网络编程/lab1-client.py
Normal file
22
基于 socket 的网络编程/lab1-client.py
Normal 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()
|
||||
31
基于 socket 的网络编程/lab1-service.py
Normal file
31
基于 socket 的网络编程/lab1-service.py
Normal 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()
|
||||
20
基于 socket 的网络编程/lab2-client.py
Normal file
20
基于 socket 的网络编程/lab2-client.py
Normal 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()
|
||||
25
基于 socket 的网络编程/lab2-service.py
Normal file
25
基于 socket 的网络编程/lab2-service.py
Normal 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()
|
||||
Reference in New Issue
Block a user