# 简单的 TCP 服务器示例
import socket
def start_server(host='127.0.0.1', port=65432):
# 创建一个 TCP/IP 套接字
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket:
# 绑定套接字到地址和端口
server_socket.bind((host, port))
# 监听传入连接
server_socket.listen()
print(f"服务器正在监听 {host}:{port}...")
while True:
# 接受一个客户端连接
conn, addr = server_socket.accept()
with conn:
print(f"已连接: {addr}")
while True:
# 接收数据
data = conn.recv(1024)
if not data:
break
print(f"收到数据: {data.decode()}")
# 发送响应
conn.sendall(b"服务器已收到你的消息")
if __name__ == "__main__":
start_server()
导入模块:
import socket:导入 Python 的 socket 模块,用于网络通信。创建服务器函数:
start_server 函数定义了一个简单的 TCP 服务器。host 和 port 参数指定了服务器绑定的 IP 地址和端口号,默认值为 '127.0.0.1' 和 65432。创建套接字:
socket.socket(socket.AF_INET, socket.SOCK_STREAM):创建一个 TCP 套接字。AF_INET 表示使用 IPv4 地址,SOCK_STREAM 表示使用 TCP 协议。绑定和监听:
server_socket.bind((host, port)):将套接字绑定到指定的地址和端口。server_socket.listen():开始监听传入连接。接受连接并处理数据:
conn, addr = server_socket.accept():接受一个客户端连接,返回一个新的套接字对象 conn 和客户端地址 addr。while True 循环不断接收客户端发送的数据,并将其解码后打印出来。conn.sendall() 发送响应给客户端。主程序入口:
if __name__ == "__main__"::确保代码只在直接运行脚本时执行,而不是在作为模块导入时执行。start_server() 启动服务器。这个示例展示了如何使用 Python 的 socket 模块创建一个简单的 TCP 服务器。你可以根据需要扩展和修改它以实现更复杂的功能。
上一篇:python常用命令
下一篇:python处理json数据
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站