【问题标题】:What is the current method for server/client network connections服务器/客户端网络连接的当前方法是什么
【发布时间】:2013-05-13 20:20:29
【问题描述】:

我已经很久没有使用 Java 了。谷歌搜索似乎带来了很多不同的方法。

如今,TCP 套接字连接的当前、现代、公认的方法是什么?我不想实现很快就会被弃用的东西。

如果重要,我将在客户端和服务器之间双向发送 JSON,并希望实现非阻塞发送和接收以及阻塞初始连接。

据我所见,ServerSocketChannel 看起来很新(直到现在我才听说过)...那是我应该使用的吗?

【问题讨论】:

  • 下面 Peter Lawrey 的回答绝对有效;但我想知道您正在构建什么类型的应用程序。用例如的方式思考是否相关? Apache Camel 或 Tomcat 之类的应用服务器来处理您的 I/O 需求?

标签: java sockets


【解决方案1】:

如今,TCP 套接字连接的当前、现代、公认的方法是什么?

您可以使用 Netty 或 Mina,但我会只使用普通 IO 并且可能会阻塞 NIO,因为我相信这些是最简单的。所有这些都已经大约十年或更长时间了。

我不想实现很快就会被弃用的东西。

我想不出上一次在 Java 中真正弃用任何东西是什么时候。

ServerSocketChannel 看起来很新

它是 2002 年在 Java 1.4 中添加的。;)

尽管大多数网站会建议,但我认为阻止 NIO 更易于使用(并且对于少量连接可能更快)

如果您只想发送和接收 JSON 文本,我会使用普通 IO。我会使用 ExecutorService 来管理支持此功能所需的线程。这些是 2004 年添加的,但实际上要旧得多。

【讨论】:

  • 当你说“Plain IO”时,你是什么意思?我假设您指的是 java.io 包,但只是想确定一下。
  • 是的,原来的IO在发送和解析文本的时候更简单。恕我直言。
  • Java NIO 看起来要有趣得多,所以我将把它作为一个学习练习。感谢您的信息。
  • @Ben NIO 更有趣。 ;)
  • 在 NIO 上有什么好的资源可以很好地用于高度可扩展的服务器吗?似乎有很多方法可以处理它,但处理昂贵的读/写方法的并不多,因为这会减慢一切。
猜你喜欢
  • 1970-01-01
  • 2011-12-26
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多