python网络编程tcp/ip
时间: 2023-08-23 15:04:42 浏览: 135
Python中的网络编程主要使用TCP/IP协议栈。TCP/IP协议栈是一个网络协议族,包含了多种网络协议。其中最常用的是TCP和UDP协议。
Python提供了socket模块,可以使用它来实现网络编程。socket模块提供了各种功能来创建和使用套接字(socket)。套接字是用于网络通信的一种机制,类似于电话中的插头和插座。
下面是一个简单的TCP/IP客户端和服务器的例子:
服务器端:
```python
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('localhost', 8888))
s.listen(5)
while True:
conn, addr = s.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data: break
conn.sendall(data)
conn.close()
```
客户端:
```python
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 8888))
s.sendall(b'Hello, world')
data = s.recv(1024)
s.close()
print('Received', repr(data))
```
在服务器端,我们首先创建了一个套接字,并且绑定到了本地地址和端口。然后我们开始监听连接,当有客户端连接时,我们打印出客户端的地址并开始接收数据。如果客户端发送了空数据,则关闭连接。
在客户端,我们创建了一个套接字并连接到服务器。然后我们发送了一条消息,并等待服务器的响应。最后,我们关闭了连接。
这只是一个简单的例子,实际中可能会有更多的代码来处理连接的错误和异常。
阅读全文