首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java或SocketChannel

Java或SocketChannel
EN

Software Engineering用户
提问于 2015-03-03 22:21:27
回答 1查看 3.4K关注 0票数 1

我正在为Java中的远程文件存储设计一个服务器,并试图决定是使用异步java.nio.SocketChannels还是使用旧的套接字阻塞模型。在选择这两种服务器架构时,我应该考虑哪些因素,哪种任务更适合其中一种?

具体来说,我想知道这些不同的方法是如何比较的:

  1. 连在一起的客户数量不断增加,
  2. 客户端连接的长度增加,以及
  3. 传送的数据量增加。

此外,还有什么其他的因素,我应该知道,这将有利于一种方法,而不是另一种?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-03-13 15:57:36

你为什么要解决一个已经解决的问题?至少已经有两个好的例子:

灰熊

用Java™编程语言编写可伸缩的服务器应用程序一直很困难。在Java /O (NIO)出现之前,线程管理问题使得服务器无法扩展到数千个用户。Grizzly框架旨在帮助开发人员利用Java。Grizzly的目标是帮助开发人员使用NIO构建可伸缩和健壮的服务器,并提供扩展的框架组件: WebSocket (HTTP/S)、WebSocket、Comet等等!

奈蒂

Netty是一种NIO客户端服务器框架,它支持网络应用程序(如协议服务器和客户端)的快速和轻松开发。它大大简化和简化了网络编程,如TCP和UDP套接字服务器。“快速和简单”并不意味着最终的应用程序会受到可维护性或性能问题的影响。Netty是根据许多协议(如FTP、SMTP、HTTP以及各种二进制和基于文本的遗留协议)的实现所获得的经验精心设计的。因此,Netty成功地找到了一种在不妥协的情况下实现轻松开发、性能、稳定和灵活性的方法。

在我看来,你对自己解决问题不太感兴趣,而不是仅仅解决问题--这样你就可以拥有远程文件存储。就我个人而言,我在我的应用程序中使用了Netty,它工作得很好。不要重新发明轮子--用别人的。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/275117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档