【问题标题】:Java client/server communication, what I need to learn [closed]Java客户端/服务器通信,我需要学习的[关闭]
【发布时间】:2015-08-08 09:29:32
【问题描述】:

我是Java Networking(不是Java)的新手,我试图开发一个连接到服务器的客户端应用程序,以便服务器可以接收数据库表并将它们在线存储,激活应用程序:当用户输入激活信息时,应用程序连接到服务器,发送这些信息,然后服务器回复。我需要知道的是哪些技术/课程可以实现这一目标? 我需要学习什么??是 Java RMI 还是 {InetAdress, URL/URI, URLConnection, Socket, ServerSocket, UDP..} 东西还是什么??

我目前正在阅读 Java 网络编程,Elliotte Rusty Harold,这是我需要学习的吗??

我开发了一个 JavaFX 8 应用程序,它就在那里,它是免费的,现在我正在尝试开发一个付费版本,我要添加的一件事是客户端/服务器通信。非常感谢

【问题讨论】:

  • 有更好的书。在亚马逊上查看它的评论。谦虚禁止我命名另一个。

标签: java sockets networking network-programming client-server


【解决方案1】:

我需要知道的是哪些技术/类可以实现这一点? 我需要学什么??是 Java RMI 还是 {InetAdress, URL/URI, URLConnection, Socket, ServerSocket, UDP..} 东西还是什么??

根据给定的要求,学习 Java Socket 编程就足够了。除非您要将其连接到 Internet,否则您不需要 URL/URI。

而且,你应该从 sockets/server-sockets 开始,然后 TCP/UDP 很容易根据应用程序的要求来决定。如果数据很关键,你应该选择 TCP,它比 UDP 慢,实际上并不能保证数据包会按顺序到达,或者即使它们到达与否。所以,根据你是否使用UDP/TCP,你可以选择DatagramSocket/Packet OR normal Socket。

谈到 Java RMI,那是一种太老的技术了。但是,了解这项技术是件好事。该技术可用于实现分布式应用程序编程,因此显然您甚至可以实现客户端-服务器通信。但是,将 RMI 用于如此简单的任务有点不精确。

我的个人建议 --- 通过下面提到的作者 Esmond Pitt 的书学习一些基本的网络,他甚至在我们这里作为这个社区的成员。

我目前正在阅读 Java 网络编程,Elliotte Rusty Harold, 这是我需要学习的吗??

我也是从同一本书开始学习Java网络编程的,但是作者把这本书对初学者来说太复杂了。如果你想从事Java网络编程的职业,可以继续。如果没有,那么您应该从一些更简单的教科书开始,例如Fundamental Networking in Java,尽管这本书有些过时并且仍然围绕 JDK 1.5,因为 2006 年之后没有为这本书进行新的出版。那是一本更容易阅读的书,甚至这本书的作者 (EJP) 在 Stack Overflow 上也很活跃。如果他在这里回答你的问题,你不应该傻眼。顺便说一句,我最近才知道他的书,我很喜欢看那本书。

【讨论】:

  • "除非您要将其连接到 Internet,否则您不需要 URL/URI。"是的,服务器在互联网上(将在亚马逊 AWS 上),非常感谢您的深入回复
  • @usertest-不客气。顺便说一句,不要对那本书的作者出现在这里感到惊讶。也许,他可能会为这个问题写一个答案。他的书足以让您了解有关 Java 网络的介绍性想法。然后你可以很容易地转向 Internet(StackOverflow) 来解决任何疑问,甚至是困惑。顺便说一句,谢谢 EJP。在此处查看 EJP ---> stackoverflow.com/users/207421/ejp
  • @usertest - 如果这个答案有帮助,请接受这个答案。看看如何接受答案 ---> meta.stackexchange.com/questions/5234/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
  • 2016-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多