socket 与控制器之间交互代码
时间: 2024-01-31 20:04:03 浏览: 29
以下是一个简单的示例代码,展示了使用 Socket 在控制器和另一台计算机之间进行数据交换的过程:
控制器端代码:
```python
import socket
# 创建 Socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名和端口号
host = socket.gethostname()
port = 9999
# 绑定端口号
server_socket.bind((host, port))
# 开始监听
server_socket.listen(1)
# 等待客户端连接
print("等待连接...")
client_socket, addr = server_socket.accept()
print("连接成功!")
# 接收客户端数据
message = client_socket.recv(1024)
print("收到消息:" + message.decode())
# 发送响应数据
response = "已收到您的消息"
client_socket.send(response.encode())
# 关闭连接
client_socket.close()
server_socket.close()
```
另一台计算机端代码:
```python
import socket
# 创建 Socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取远程主机名和端口号
host = socket.gethostname()
port = 9999
# 连接服务器
client_socket.connect((host, port))
# 发送数据
message = "Hello, server!"
client_socket.send(message.encode())
# 接收响应数据
response = client_socket.recv(1024)
print("收到响应:" + response.decode())
# 关闭连接
client_socket.close()
```
在这个示例中,控制器端创建了一个 Socket 对象,并绑定到本地主机和端口号。然后,它等待客户端连接。当客户端连接时,控制器端接收来自客户端的消息,然后发送响应消息。另一台计算机端创建了一个 Socket 对象,并连接到控制器端的主机和端口号。它发送一条消息,然后等待响应。当它接收到响应时,它打印出来并关闭连接。