python 实现socket方式实现bs架构
时间: 2023-12-16 13:03:05 浏览: 38
BS架构是指浏览器-服务器架构,其中浏览器负责显示用户界面,服务器负责处理业务逻辑和数据存储。而Socket是一种进行网络通信的技术,可以用来实现BS架构中的数据传输。
下面是一个简单的Python程序,使用Socket实现BS架构的数据传输:
```python
# 服务器端代码
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
# 绑定端口号
server_socket.bind((host, port))
# 设置最大连接数,超过后排队
server_socket.listen(5)
while True:
# 建立客户端连接
client_socket, addr = server_socket.accept()
print("连接地址: %s" % str(addr))
# 发送数据到客户端
message = '欢迎访问菜鸟教程!' + "\r\n"
client_socket.send(message.encode('utf-8'))
# 关闭连接
client_socket.close()
```
```python
# 客户端代码
import socket
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
# 连接服务,指定主机和端口
client_socket.connect((host, port))
# 接收小于 1024 字节的数据
message = client_socket.recv(1024)
client_socket.close()
print(message.decode('utf-8'))
```
在这个例子中,服务器端先创建了一个socket对象,并绑定了本地主机和端口号。然后通过listen()方法设置了最大连接数并开始监听客户端连接。当有新的客户端连接时,accept()方法会返回一个新的socket对象和客户端地址,服务器端就可以通过这个socket对象向客户端发送数据。
客户端首先创建一个socket对象,并通过connect()方法连接到服务器端的主机和端口。然后通过recv()方法接收服务器端发送过来的数据,最后关闭socket连接。
这个例子只是一个简单的示例,实际应用中要考虑更多的细节和安全问题。