我正在编写一个网络聊天程序(使用Java,但对问题没有影响),并希望使用UDP协议,但在互联网上它没有工作。经过一些调查,我发现必须激活特定端口的端口转发。所以现在我的问题是:
UDP是否可以在互联网上以非可配置方式工作?比如,如果我想编写一个完整的网络游戏,使用UDP有意义吗?或者需要玩家激活端口转发和打开端口等操作?
那么什么时候使用UDP才有意义?为什么?
我实际上并不理解UDP的全部意义。
从我的编程角度来看,我希望有一种直观的方法来使用它。例如创建DatagramSocket
和DatagramPacket
,配置数据和目标包并将其发送到互联网上。
至于我的用户,我不希望他们进行任何特定的配置,比如打开他们想要使用的确切端口等。我只希望他们使用程序(服务器和客户端),它应该工作。