使用socket实现进程间通信,在Python中,可以使用socket模块来实现不同进程间的通信。以下是一个示例:
Server端代码:
import socket
def start_server():
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('127.0.0.1', 8000))
# 开始监听
server_socket.listen(5)
# 等待客户端连接
while True:
# 接受客户端连接请求
client_socket, address = server_socket.accept()
print('Connected by', address)
# 接收客户端数据
data = client_socket.recv(1024)
print('Received from client: ', data.decode())
# 发送数据给客户端
client_socket.sendall('Server received your message!'.encode())
client_socket.close()
if __name__ == '__main__':
start_server()
Client端代码:
import socket
def start_client():
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('127.0.0.1', 8000))
# 发送数据给服务器
client_socket.sendall('Hello, Server!'.encode())
# 接收服务器回复的消息
data = client_socket.recv(1024)
print('Received from server: ', data.decode())
client_socket.close()
if __name__ == '__main__':
start_client()
以上代码展示了如何在Python中使用socket实现两个进程间的通信。在Battleship-Game中,可以将其中一个进程作为server端,另一个进程作为client端,并使用socket来实现它们之间的通信。在这种情况下,server端可能会负责游戏逻辑,而client端则负责将玩家的操作传递给server端,并接收server端发送的游戏状态。