我正在编写一个客户端/服务器应用程序,但找不到适合我的指南。自己做往往会在开始之前就出现许多设计缺陷。例如,服务器应该每秒更新每个客户端的状态多次。我认为我不能单独更新每个客户端,但UDP广播应该可以解决这个问题。但是我仍然需要一个TCP通道,以可靠地与每个客户端进行通信,例如:聊天消息、用户输入等。
研究这个主题,似乎服务器可以同时使用两种协议 - 但只有可能(并不明智)。没有人建议这种方法,事实上,我从这篇文章中得知,同时使用两种协议会导致一些问题。
现在我非常困惑应该如何处理服务器上的数据。除非我完全误解了数据包丢失的情况,我希望保证用户输入产生的“服务器请求数据包”不会丢失。关于使用UDP保证交付的每个SO答案都说要使用TCP,更令人沮丧的是,我能想象到的每个服务器/客户端程序都至少需要一些消息被保证交付(例如“断开连接”消息?)。
我应该使用UDP、TCP、两者都用还是我完全错了?