netriver 实验 tcp
时间: 2023-06-18 19:05:17 浏览: 77
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议。它在互联网协议(IP)的基础上,为数据通信提供可靠的、全双工的、面向连接的服务。TCP是一种复杂的协议,它的实现需要大量的代码。
下面是一个简单的TCP实验,以建立一个客户端和服务器之间的连接并发送数据为例:
1. 服务器端代码:
```
import socket
# 创建一个socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP和端口
server_socket.bind(('127.0.0.1', 8888))
# 监听端口
server_socket.listen(5)
print('Waiting for connection...')
# 等待客户端连接
client_socket, addr = server_socket.accept()
print('Connected by', addr)
# 接收来自客户端的数据
data = client_socket.recv(1024)
print('Received message:', data)
# 发送数据给客户端
client_socket.sendall('Hello, client!'.encode())
# 关闭连接
client_socket.close()
server_socket.close()
```
2. 客户端代码:
```
import socket
# 创建一个socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('127.0.0.1', 8888))
# 发送数据给服务器
client_socket.sendall('Hello, server!'.encode())
# 接收来自服务器的数据
data = client_socket.recv(1024)
print('Received message:', data)
# 关闭连接
client_socket.close()
```
在本地运行服务器端代码后,再运行客户端代码,即可建立连接并发送数据。注意,服务器端代码需要先运行,客户端代码才能连接上服务器。
以上代码只是一个简单的TCP实验,实际上TCP还有很多高级特性,如拥塞控制、流量控制、快速重传等,这些特性都需要在实现TCP时加以考虑。
阅读全文