【发布时间】:2008-09-18 18:04:02
【问题描述】:
我正在尝试用 Java 编写一个简单的网络聊天程序。我几乎没有网络经验。我想知道我应该开始查看哪些资源(当然除了这里)。
目前最好还是坚持使用核心 Java API。
【问题讨论】:
标签: java networking
我正在尝试用 Java 编写一个简单的网络聊天程序。我几乎没有网络经验。我想知道我应该开始查看哪些资源(当然除了这里)。
目前最好还是坚持使用核心 Java API。
【问题讨论】:
标签: java networking
我在 sun 自己的网站上找到了一个很棒的网络和 java 教程:http://download.oracle.com/javase/tutorial/networking/TOC.html
套接字部分甚至让你编写一个迷你客户端/服务器聊天演示。
【讨论】:
我建议你先学习网络。如果您有时间阅读Tanenbaum book,网络中最大的参考。如果您想快速了解一下,这里有一张路线图:
然后使用 Java:Socket、ServerSocket、DatagramSocket、RMI 等。
【讨论】:
Nio 或ServerSocket 或Socket 的传统方式 见java.net package
Nio 文档here.
【讨论】:
Sun 的 Java API 和 official tutorials 可能是让您的脚湿透的最佳场所。
【讨论】:
这比您想象的要简单得多。老实说,我只是开始浏览 nio 包的 javadocs。它们甚至应该包含迷你教程和源代码。
除此之外,java.sun.com 应该到处都是教程。
如果您不了解套接字——我可以向您发送参考资料,但告诉您更容易——套接字是 2 个程序相互通信的一种方式。它们只是一个唯一编号(与您的 IP 地址结合使用时)为您提供通往程序的唯一路径。因此,如果我在端口(套接字)1000 上“监听”,那么另一个程序连接到端口 1000,连接程序发送的任何内容,监听程序都会接收。
使用较大的端口号(例如,高于 5000),因为有许多程序会分配自己的端口。
这就是您计算机上几乎所有东西的通信方式。
如果 API 仍然令人困惑,您可能需要阅读关于套接字通信的简短介绍。
【讨论】:
这也是一个非常基本、易于阅读的 Java 网络教程:
【讨论】:
Google 是您的朋友。搜索“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/
【讨论】: