【发布时间】:2015-10-09 17:35:00
【问题描述】:
我正在开发一个套接字侦听器,该侦听器必须在 2 个端口上侦听 2 种类型的数据(端口 80 和端口 81)。这些数据与对数据执行的操作类型非常相似,只是不同,因为它们到达 n 个不同的端口。我继续使用 Java 的 ServerSocket 类编写了一个实现,后来才意识到 ServerSocket 类的 accept() 方法是阻塞的,而我的实现负担不起。所以现在我正在考虑使用 Java NIO 实现相同的功能,但是在阅读了一些教程之后,我认为我比我开始的方式更困惑。如果这里有人可以指导我完成整个过程,那将是很棒的,即使它是伪代码或只是技术性的“下一步做什么”。 这是我打算实现的目标。
通过调用 2 个类似的线程,在 2 个端口上永远聆听。(非阻塞) 来自某个网络位置的远程设备连接、发送数据然后断开连接。
我认为,如果仅了解如何使用 NIO 设置服务器以在 localhost 上的端口(例如端口 80)上侦听,那么其余的都非常容易实现。
干杯
【问题讨论】:
标签: java sockets concurrency nonblocking