我正在尝试用 Java 编写一个简单的网络聊天程序。我几乎没有网络经验。我想知道我应该开始查看哪些资源(当然在这里)。
目前最好还是坚持使用核心 Java API。
我正在尝试用 Java 编写一个简单的网络聊天程序。我几乎没有网络经验。我想知道我应该开始查看哪些资源(当然在这里)。
目前最好还是坚持使用核心 Java API。
我从 sun 自己的网站上找到了一个很棒的网络和 java 教程:http: //download.oracle.com/javase/tutorial/networking/TOC.html
套接字部分甚至让您编写一个迷你客户端/服务器聊天演示。
我建议你先学习网络。如果您有时间阅读Tanenbaum 书,这是网络中最大的参考。如果您想快速了解一下,这里有一张路线图:
然后使用 Java:Socket、ServerSocket、DatagramSocket、RMI 等。
Nio还是传统方式用ServerSocket或Socket 见java.net 包
Nio 文档在这里。
Sun 的 Java API 和官方教程可能是您开始学习的最佳场所。
它比你想象的要简单得多。老实说,我只是开始浏览 nio 包的 javadocs。它们甚至应该包含迷你教程和源代码。
除此之外,java.sun.com 应该到处都是教程。
如果您不了解套接字——我可以向您发送参考资料,但告诉您更容易——套接字是 2 个程序相互通信的一种方式。它们只是一个唯一编号(当与您的 IP 地址结合使用时)为您提供通往程序的唯一路径。因此,如果我在端口(套接字)1000 上“监听”,那么另一个程序连接到端口 1000,连接程序发送的任何内容,监听程序都会接收。
使用较高的端口号(例如,高于 5000),因为有许多程序会分配自己的端口。
这就是您计算机上几乎所有东西的通信方式。
如果 API 仍然令人困惑,您可能需要阅读关于套接字通信的简短介绍。
这是一个非常基本的、易于阅读的 Java 网络教程:
谷歌是你的朋友。搜索“java socket 编程教程”或类似的东西,你会得到很多结果,包括 zxcv 建议的结果以及这些:
http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html
http://www.cafeaulait.org/books/jnp/javanetexamples/index.html
“Head First Java”是一本很棒的初学者书籍,他们提供了有关创建简单聊天程序的教程。
http://oreilly.com/catalog/9780596004651/