Java:开始学习基础网络的最佳场所

时间:2020-03-06 14:22:39  来源:igfitidea点击:

我试图用Java编写一个简单的网络聊天程序。我几乎没有网络经验。我想知道应该开始查看哪些资源(当然是在这里)。

坚持使用核心Java API是目前最好的选择。

解决方案

我从sun自己的网站上找到了有关网络和Java的出色教程:http://download.oracle.com/javase/tutorial/networking/TOC.html

套接字部分甚至让我们编写了迷你客户端/服务器聊天演示。

Nio或者使用ServerSocket或者Socket的传统方式
见java.net包

Nio文档在这里。

Sun的Java API和官方教程可能是弄湿最佳之地。

Google是朋友。搜索" java套接字编程教程"或者类似的内容,我们将获得很多结果,包括zxcv建议的结果以及以下内容:

http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html

http://www.cafeaulait.org/books/jnp/javanetexamples/index.html

它比我们想像的要简单得多。老实说,我将开始浏览javadocs的nio包。它们甚至应包含微型教程和源代码。

除此之外,java.sun.com还应包含教程。

如果我们不了解套接字,那么我可以给我们提供参考,但告诉我们它会更容易-套接字是2个程序相互通信的一种方式。它们只是一个唯一编号(当与IP地址结合使用时)为我们提供了程序的唯一路径。因此,如果我在端口(套接字)1000上"监听",则另一个程序连接到端口1000,无论连接程序发送什么内容,监听程序都会收到。

使用较高的端口号(大于5000),因为有许多程序分配了自己的端口。

实际上,这就是计算机上所有内容进行通信的方式。

如果API仍然令人困惑,我们可能想阅读套接字通讯的非常简短的介绍。

我建议我们先学习网络。如果我们有时间阅读Tanenbaum书籍,这是网络方面的最大参考。如果我们需要快速学习,可以参考以下路线图:

  • OSI层
  • UDP和TCP / IP
  • 插座
  • 广播和多播
  • 网络安全

然后使用Java:Socket,ServerSocket,DatagramSocket,RMI等。

" Head First Java"是一本很棒的初学者书籍,他们编写了有关创建简单聊天程序的教程。
http://oreilly.com/catalog/9780596004651/

这也是一个非常基本的,易于阅读的Java网络教程:

http://tutorials.jenkov.com/java-networking/index.html