【发布时间】:2015-07-30 15:51:04
【问题描述】:
我正在为游戏服务器编写网络后端。
我计划使用多播,以便客户端可以通过多播套接字绑定到服务器。然后服务器可以将游戏更新发送给该组的所有成员。
不过,我想知道,如果可以进行反向操作——客户端能否通过与多播套接字相同的端口向服务器发送单播数据?
我已经编写了一个基于Java Tutorials 的测试程序(它只发送服务器-> 客户端),但我无法使其适应双向通信。我在客户端收到 Address already in use 和 Not a multicast address 错误。
我的怀疑是否正确,即无法使用同一端口进行此类双向通信?我必须使用不同的端口(一个用于多播 [服务器 —> 客户端],一个用于单播 [客户端 —> 服务器])?
(我在 Java 中执行此操作,但我更感兴趣的是网络方面的事情这可能吗 与实现方面我该怎么做。)
【问题讨论】:
-
多播是单向的(服务器 -> 客户端)。服务器不能使用同一个绑定的 IP:Port 对来接收数据,它必须使用不同的 IP:Port 对。
-
@RemyLebeau 你是从哪里得到这个想法的?
标签: java sockets networking udp multicast