我正在使用python建立一个简单的服务器/客户端模型,如下所示。目标是使客户能够控制curses帧的输出。
我已经做过一些基本的线程回显/聊天示例,因此我设法来回发送类似文本的信息。问题是我不知道如何发送其他信息。例如,我曾使用curses来设置“游戏”,玩家可以在其中将“精灵”(实际上是一段文字)向上/向下/向右/向左移动。如何通过套接字通信完成此操作?理想情况下,客户端应仅使用键盘命令控制子画面,服务器应将图形“流”回客户端。当客户端连接到服务器时,客户端应该看到curses输出并能够控制它,而逻辑是由服务器管理的。
唯一有效的方法是回声样式的设置,在此位置来回发送文本。当我尝试发送(相信是)帧的输出时,输出将显示在服务器端(请参见下面的代码)。
让我们假设其他所有内容都已设置(套接字连接,错误处理)。我尝试过的相关事情是
connection.sendall(wrapper(draw))
在服务器端,
print(s.recv())
在客户端上的,其中s是所讨论的套接字。这里的抽奖就像
def draw(screen):
# set up screen
screen.addstr(sprite)
# refresh screen
和包装器是包装器。此功能绘制一个带有sprite的curses框架。
第一步是通过服务器在客户端输出上述屏幕。下一步是将键盘输入发送到服务器,服务器应将相应的帧输出到客户端。此时,框架已在服务器端拉出,没有其他反应。我很感谢有关如何解决这两个问题的任何提示/技巧。请让我知道是否有任何信息丢失。预先感谢。