如何在Python中实现套接字编程的服务器功能?
时间: 2024-10-23 13:10:30 浏览: 12
Python网络编程 Python套接字编程
在Python中,你可以使用内置的socket模块来创建套接字并实现服务器功能。以下是简单的服务器端代码示例:
```python
import socket
# 创建套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名和端口号
host = '0.0.0.0' # 或者localhost
port = 8000
# 绑定地址和端口
server_socket.bind((host, port))
# 设置最大连接数和超时时间
server_socket.listen(5) # 最大连接数,超过此数需要排队等待
conn, addr = server_socket.accept() # 等待客户端连接
print(f"Accepted connection from {addr[0]}:{addr[1]}")
# 接收和发送数据
while True:
data = conn.recv(1024) # 接收数据
if not data:
break
print("Received:", data.decode()) # 打印接收到的数据
response = "Hello from server!" # 发送响应
conn.sendall(response.encode()) # 发送数据
# 关闭连接
conn.close()
server_socket.close()
```
这个例子中,我们首先创建了一个TCP套接字,然后绑定到指定的IP和端口,监听连接请求。当有客户端连接时,通过`accept()`方法获取连接并开始通信。服务器不断接收客户端的消息,直到连接关闭。
阅读全文