C++ 在多人游戏循环中何时发送数据包?

C++ 在多人游戏循环中何时发送数据包?,c++,multiplayer,C++,Multiplayer,我正在编写我的第一个多人游戏循环,现在我的循环包括: 逻辑 处理键盘输入 处理鼠标输入 画 在循环中的哪个点最好向服务器发送数据包 我当前的游戏循环: while (!key[KEY_ESC]) { while (speed_counter > 0) { update(); keyboard(); mouse(); speed_counter--; }

我正在编写我的第一个多人游戏循环,现在我的循环包括:

  • 逻辑
  • 处理键盘输入
  • 处理鼠标输入
  • 在循环中的哪个点最好向服务器发送数据包

    我当前的游戏循环:

        while (!key[KEY_ESC]) {
            while (speed_counter > 0) {
                update();
                keyboard();
                mouse();
                speed_counter--;
            }
            if(game_time - old_time >= 10) {
                fps = frames_done;
                frames_done = 0;
                old_time = game_time;
            }
            draw();
            frames_done++;
        }
    

    您可能希望在收到输入后发送数据包(在本例中为键盘和鼠标),以便可以同时更新所有移动。如果我正确理解了您的问题,您可能需要执行类似于
    更新其他玩家
    的步骤3.5

    我在问题中添加了我的代码,我将在代码中向何处发送数据包?发送数据包的最佳时间是您准备好要包含在其中的数据后。你不能早一点发送,因为你不知道要发送什么,也不想晚一点发送,因为你在发送数据之前保存数据的时间越长,在其他玩家看到更新的数据之前,会有更多的时间。在外部while循环的第一次迭代之后,上面显示的代码不会停止处理鼠标和键盘信息吗?看起来speed_计数器将减小到零,然后一直保持零,因此内部while循环将不再被输入。@JeremyFriesner我正在使用计时器来增加speed_计数器。