Java - 使用多个数据报套接字和端口

标签 java networking udp port

我正在开发一个使用 UDP 进行通信的多客户端/单服务器应用程序。 原因是我正在使用多播并且正在传输音频。

我在 UDP/TCP 方面没有太多经验,而且我不确定是否可以使用多个具有多个不同端口的 DatagramSockets。 我需要将几个不同的对象从一个设备发送到另一个设备,因此我为每种类型的对象使用一个端口。

这样可以吗?我现在已经在使用大约 7 个不同的端口。 如何使用尽可能少的端口?

最佳答案

对于多个客户端和一台服务器,您可以让所有客户端将数据发送到服务器上的同一端口。服务器将从一个套接字读取所有信息(正在读取该端口上的数据)。每个发送数据的客户端都可以发送元数据以及标识用户的每个有效负载,因此服务器可以辨别哪个接收到的数据包属于谁。实际上,我认为您已经可以使用内置功能看到数据包来自的地址。您可以使用这些地址来识别不同的客户端,但是将来您可能需要更强大的解决方案来使您的实现更加安全。

关于Java - 使用多个数据报套接字和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13503604/

相关文章:

java - Windows 软件更新和 Java 应用程序

c++ - 将套接字句柄传递给线程时,recvfrom() 返回错误 10022

java - 枚举是否意味着静态类?

java - 尽管排除了测试类,SonarCloud 显示了测试类的覆盖范围

java - 如何杀死android中的线程?

javascript - Node JS 查找连接到本地网络的所有设备

php - 如何模拟HTTP请求?

database - Oracle 数据库 12c 尝试连​​接时出错 : The Network Adapter could not establish the connection

c++ - 监听 UDP 端口

ios5 - iOS : Receive media in background