tcp/ip协议 python
时间: 2025-01-09 20:28:15 浏览: 11
使用Python进行TCP/IP网络编程
在Python中,socket
模块提供了低级别的网络接口,允许开发者创建基于TCP/IP协议的应用程序。下面是一个简单的例子,展示了如何建立一个基本的TCP服务器和客户端。
创建TCP服务器
import socket
def start_server(host='127.0.0.1', port=65432):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((host, port))
s.listen()
conn, addr = s.accept() # 接受来自任何客户端的连接请求
with conn:
print(f'Connected by {addr}')
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)
start_server()
这段代码定义了一个监听指定端口上的传入连接的简单TCP服务器[^1]。当有新的连接到来时,服务器会接受该连接,并进入循环等待接收数据;一旦接收到数据,则将其回显给发送方直到对方停止发送为止。
构建TCP客户端
import socket
def connect_to_server(message=b'Hello, world'):
host = '127.0.0.1'
port = 65432
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((host, port)) # 尝试与目标地址建立连接
s.sendall(message)
response = s.recv(1024)
print('Received:', repr(response))
connect_to_server(b'Test message')
此脚本实现了向上述服务器发送一条消息的功能,并打印出从服务器返回的数据作为响应。
这两个示例共同说明了怎样利用Python内置库中的socket
来进行最基本的TCP/IP通信操作——创建服务端来监听并回应客户端的消息,以及编写客户端去主动发起连接并向远程主机传递信息。