模拟实现TCP协议通信过程,要求编程实现服务器端与客户端之间双向数据传递。客户端向服务器端发送“我是集美大学网络工程专业学生”,服务器回应“我也是集美大学网络工程专业学生”
时间: 2024-11-03 17:20:08 浏览: 8
模拟TCP协议的双向通信过程,我们可以使用Python的socket模块,这里提供一个简单的服务器端和客户端的例子,它们会交换消息“我是集美大学网络工程专业学生”。注意,这个例子假设两台计算机在同一局域网环境下运行。
**服务器端(server.py)**:
```python
import socket
# 创建套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_address = ('localhost', 12345)
server_socket.bind(server_address)
# 开始监听连接
server_socket.listen(1)
print(f'Server started on {server_address}')
while True:
# 接受客户端连接
client_connection, client_address = server_socket.accept()
print(f'Accepted connection from {client_address}')
# 接收客户端数据
message = client_connection.recv(1024).decode('utf-8')
print(f'Received: {message}')
# 回应数据
response = "我也是集美大学网络工程专业学生"
client_connection.sendall(response.encode('utf-8'))
# 关闭客户端连接
client_connection.close()
```
**客户端(client.py)**:
```python
import socket
# 创建套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
server_address = ('localhost', 12345)
client_socket.connect(server_address)
# 发送消息
message = '我是集美大学网络工程专业学生'
client_socket.sendall(message.encode('utf-8'))
# 接收服务器响应
response = client_socket.recv(1024).decode('utf-8')
print(f'Received: {response}')
# 关闭连接
client_socket.close()
```
要运行此代码,首先在一台计算机上运行服务器端,然后在另一台计算机上运行客户端。两者都连接到本地主机(localhost)的12345端口。
阅读全文