纯IPv4客户端和纯IPv6服务器端交互的代码demo
时间: 2024-05-14 19:17:39 浏览: 180
以下是一个在纯IPv4客户端和纯IPv6服务器端之间进行交互的简单示例代码:
IPv4客户端:
```python
import socket
IP = '127.0.0.1' # 服务器IP地址
PORT = 8080 # 服务器端口号
# 创建TCP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((IP, PORT))
# 发送数据
client_socket.send(b"Hello, server!")
# 接收数据
data = client_socket.recv(1024)
print("Received data: ", data.decode())
# 关闭套接字
client_socket.close()
```
IPv6服务器:
```python
import socket
IP = '::1' # 服务器IP地址
PORT = 8080 # 服务器端口号
# 创建TCP套接字
server_socket = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
# 绑定套接字
server_socket.bind((IP, PORT))
# 监听连接
server_socket.listen(1)
print("Server is listening on port ", PORT)
# 接受连接
connection, address = server_socket.accept()
# 接收数据
data = connection.recv(1024)
print("Received data: ", data.decode())
# 发送数据
connection.send(b"Hello, client!")
# 关闭套接字
connection.close()
server_socket.close()
```
需要注意的是,IPv4客户端连接IPv6服务器时需要使用IPv6格式的地址,即在IP地址前加上"::ffff:",例如"::ffff:127.0.0.1"。而IPv6服务器则可以接受来自IPv4客户端的连接。
阅读全文