使用原始socket()实现一个B/S架构的服务端; 要求:从浏览器发送请求,服务器固定回复下面简单的HTML消息给浏览器 显示;
时间: 2024-05-09 12:15:49 浏览: 11
以下是一个基于原始socket()实现的简单B/S架构的服务端,它可以从浏览器接收请求并回复一个简单的HTML消息:
```python
import socket
# 创建一个TCP socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('127.0.0.1', 8080))
# 监听连接
server_socket.listen(1)
while True:
# 等待客户端连接
client_socket, client_address = server_socket.accept()
# 接收HTTP请求
request = client_socket.recv(1024).decode()
# 构造HTTP响应
response = 'HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n'
response += '<html><body><h1>Hello, World!</h1></body></html>'
# 发送HTTP响应
client_socket.sendall(response.encode())
# 关闭连接
client_socket.close()
```
在该实现中,我们使用原始socket()创建了一个TCP socket对象,并使用bind()方法将其绑定到IP地址和端口号。然后,我们使用listen()方法开始监听客户端连接。当客户端连接到服务器时,我们使用accept()方法接受连接,并使用recv()方法接收客户端发送的HTTP请求。接下来,我们构造HTTP响应并使用sendall()方法将其发送回客户端。最后,我们关闭客户端连接并继续等待下一个连接。
请注意,该实现非常简单,并且没有进行任何错误处理或安全措施。如果您要在生产环境中使用它,请务必添加适当的错误处理和安全措施。