【问题标题】:Sending a control signal?发送控制信号?
【发布时间】:2011-11-07 15:31:32
【问题描述】:

我正在用windows,c++制作客户端和服务器

我决定的设计是

服务器只是发送客户端必须呈现的内容取决于客户端的发送消息。

可以在客户端绘制各种图块和对象、图片、线条、矩形、圆形...

客户端只是从服务器接收命令并渲染一些东西

如果服务器发送类似“draw picture.png srcX srcY width height destX destY”的消息。 (图片.png在客户端) 然后客户端只需解析字符串并做我想做的事。

但是。 我也想发送控制信号

如下 "for(y = 0; y

我意识到sending a function is not a good idea (感谢所有回复。)

有什么好的办法可以解决这个问题吗?

发送

"绘制瓷砖.png 0 0 16 16 0 0"

“绘制瓷砖.png 0 0 16 16 0 16”

“绘制瓷砖.png 0 0 16 16 0 32”

“绘制瓷砖.png 0 0 16 16 0 48”

“绘制瓷砖.png 0 0 16 16 0 64”

“绘制瓷砖.png 0 0 16 16 0 96”

“绘制瓷砖.png 0 0 16 16 0 112”

“绘制瓷砖.png 0 0 16 16 0 128”

“绘制瓷砖.png 0 0 16 16 0 132”

...30*30 的时间太夸张了

我正在寻找发送消息“客户必须绘制什么”的有效方式 绘图不仅限于瓦片和对象,它还可以包含在任何坐标上的绘图效果图片命令。

感谢阅读。

【问题讨论】:

    标签: c++ controls send signals


    【解决方案1】:

    好吧,如果您不想发送和执行脚本,请尝试找到一些简单的解决方案。例如,消息格式可以定义为:

    绘制文件名 srcX srcY width height destX destY [srcX srcY width height destX destY ...]

    可能会应用一些优化,例如,您可以只传递上一个图像和当前图像之间的差异:

    绘制瓷砖.png 0 0 16 16 0 0 (5 16)

    这意味着:将前一个数据包的成员 #5 增加 16。

    我知道这很原始,但实现起来很简单。

    【讨论】:

      【解决方案2】:

      定义一种语言,在客户端实现解析器并将命令作为纯文本发送。 您还必须在服务器中实现反向解析器才能发送优化的消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-08
        • 2021-05-20
        • 1970-01-01
        • 1970-01-01
        • 2019-07-09
        • 2010-11-25
        • 1970-01-01
        • 2018-05-14
        相关资源
        最近更新 更多