我的一个朋友做了一个可以在局域网上玩的小游戏,并让我改变它,这样它就可以在互联网上玩了。我不想对客户端应用程序进行重大更改。
创建游戏时,服务器会不断发送 UDP BROADCAST 数据包,告诉所有人游戏已创建。现在,我只需要更改此 BROADCAST 以便将这些数据包发送到一组 Internet IP 地址。
你能告诉我以下解决方案是否是一个好的解决方案:我将创建一个房间服务器,我们称之为“房间广播服务器”,其中包含加入房间的每个人的 IP 地址。然后,客户端不会发送该 BROADCAST 数据包,而是将数据包发送到房间广播服务器,该服务器会将这个数据包广播给加入房间的每个人。
问题是:客户端会从“room-broadcast-server”接收这些数据包,他们会尝试与 room-broadcast-server 通信,而不是与创建游戏的机器通信。我想愚弄客户,让他们认为数据包来自游戏服务器,而不是来自房间广播服务器。我怎样才能做到?