【问题标题】:UDP Server in JavaJava中的UDP服务器
【发布时间】:2014-07-28 07:06:05
【问题描述】:

需要在 Java 中为车辆跟踪系统建立 UDP 服务器。

注意DatagramSocket 有一个recieve 方法,它会阻塞程序执行,直到收到数据报。

我注意到有一个库 Kryonet 据说可以管理 UDP 服务器的线程。

我想不惜一切代价避免启动多线程程序,因为那是一种高级编程。

处理 HTTP 请求通常使用 Servlet 完成,难道没有成熟的解决方案来管理 UDP 数据报吗?

为这种情况制作一个同步(单线程)程序怎么样?

【问题讨论】:

  • 查看nio 库。您必须编写自己的事件循环和调度代码,但从那里感觉应该类似于 servlet 编程。
  • 我将从一个简单的单线程阻塞循环开始。如果事实证明有必要,您总是可以更有效地做到这一点。
  • 使用Kryonet不是更容易吗?
  • @jacktrades KryoNet 有很多附加功能,这些功能可能有用,也可能会使事情复杂化。工具/库建议不在此处讨论。
  • 你会发现任何涉及 NIO 的东西都比线程编程高级得多。

标签: java multithreading sockets udp


【解决方案1】:

在 Java 中建立 UDP 或 TCP 服务器的明显选择是Netty

它可以充当 tcp/udp 服务器和客户端,它具有两种功能。 Netty 使用 NIO。

它极大地简化了 TCP 等网络编程 和 UDP 套接字服务器。

它也可以用作http服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多