利用socket实现双机通信课程设计的程序实现以及如何运行
时间: 2023-08-15 15:03:19 浏览: 152
好的,下面我将为你提供一个基于Python的socket双机通信的程序实现示例代码,以及如何运行该程序。
1. 服务端代码实现
```python
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本机主机名和端口号
host = socket.gethostname()
port = 8888
# 绑定主机名和端口号
server_socket.bind((host, port))
# 监听端口,等待客户端连接
server_socket.listen(1)
print("等待客户端连接...")
# 等待连接请求
client_socket, addr = server_socket.accept()
print("连接来自:", addr)
# 接收客户端发送的消息并回复
while True:
data = client_socket.recv(1024).decode('utf-8')
if not data:
break
print("收到消息:", data)
client_socket.send(("已收到消息:" + data).encode('utf-8'))
# 关闭socket连接
client_socket.close()
server_socket.close()
```
2. 客户端代码实现
```python
import socket
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取服务端主机名和端口号
host = socket.gethostname()
port = 8888
# 连接服务端
client_socket.connect((host, port))
# 发送消息
message = input("请输入要发送的消息:")
client_socket.send(message.encode('utf-8'))
# 接收服务端回复的消息
data = client_socket.recv(1024).decode('utf-8')
print("收到回复:", data)
# 关闭socket连接
client_socket.close()
```
3. 运行程序
- 首先运行服务端代码,该代码会监听本地 8888 端口,并等待客户端连接。
- 然后运行客户端代码,该代码会连接到服务端的 8888 端口,并等待输入要发送的消息。
- 输入消息后,客户端会将消息发送到服务端,并等待服务端的回复。
- 服务端接收到消息后会回复已收到消息,并等待下一次客户端发送消息。
你可以在不同的地方运行服务端和客户端代码,例如在两台电脑中分别运行,这样就可以实现两台电脑之间的双机通信了。
阅读全文