《Java网络编程与分布式计算》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(澳)David Reilly,(澳)Michael Reilly著;沈凤等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111115783
  • 页数:332 页
图书介绍:本书主要讲述如何用Java进行网络编程和分布式计算。

1.1 什么是网络 1

第1章 联网原理 1

1.2 网络如何通信 2

1.2.1 编址 2

1.2.2 使用包的数据传输 3

1.3 层间通信 3

1.3.1 第一层——物理层 4

1.3.2 第二层——数据链路层 5

1.3.3 第三层——网络层 5

1.3.4 第四层——传输层 5

1.3.5 第五层——会话层 5

1.3.6 第六层——表示层 5

1.3.7 第七层——应用层 5

1.4 分层的优势 5

1.5 Internet体系结构 6

1.6.3 POP3 12

1.6.2 FTP 12

1.6 Internet应用协议 12

1.6.1 Telnet 12

1.6.4 IMAP 13

1.6.5 SMTP 13

1.6.6 HTTP 13

1.6.7 Finger 13

1.6.8 NNTP 13

1.6.9 WHOIS 13

1.7 TCP/IP协议簇层 13

1.8 安全问题:防火墙与代理服务器 14

1.8.1 防火墙 15

1.8.2 代理服务器 16

1.8.3 开发者的防火墙 16

1.9 小结 16

2.2 Java程序设计语言 19

2.2.1 Java的历史和起源 19

第2章 Java概述 19

2.1 Java是什么 19

2.2.2 Java语言的特性 20

2.3 Java平台 23

2.3.1 Java虚拟机 24

2.3.2 Java运行时环境 24

2.4 Java应用程序接口 25

2.5 考虑Java联网问题 26

2.6.1 网络客户 27

2.6 Java网络编程应用 27

2.6.2 游戏 28

2.6.3 软件代理 28

2.6.4 Web应用 29

2.6.5 分布式系统 30

2.7 Java语言问题 30

2.8 系统属性 34

2.8.1 从命令行传递系统属性 34

2.9.1 集成开发环境 35

2.8.2 编程指定新的系统属性 35

2.9 开发工具 35

2.9.2 Java系统开发包 36

2.10 小结 37

第3章 Internet寻址 39

3.1 局域网地址 39

3.2 IP地址 39

3.2.1 IP地址的结构 40

3.2.3 特殊IP地址 41

3.2.2 获取IP地址 41

3.3 除IP地址以外:域名系统 42

3.3.1 域名是什么 42

3.3.2 域名系统的工作方式 42

3.3.3 域名解析 43

3.4 用Java进行Internet寻址 44

3.4.1 java.net.InetAddress类 44

3.4.2 用InetAddress类来确定本地主机地址 45

3.4.3 使用InetAddress类来找出其他地址 46

3.5 小结 47

3.4.4 Java中的其他地址类型 47

第4章 数据流 49

4.1 概述 49

4.1.1 确切地说,流是什么 49

4.1.2 怎样把流和联网技术联系起来 50

4.2 流的工作方式 50

4.2.1 从输入流中读取数据 51

4.2.2 向输出流写入数据 54

4.3 过滤器流 58

4.3.1 连接过滤器流和已有的流 58

4.3.2 有用的过滤器输入流 59

4.3.3 有用的过滤器输出流 62

4.4 读取器和写入器 65

4.4.1 Unicode字符是什么 65

4.4.2 读取器和写入器的重要性 65

4.4.3 从输入流到读取器 66

4.4.4 低级读取器类型 67

4.4.5 过滤器读取器类型 69

4.4.6 从输出流到写入器 71

4.4.7 低级写入器类型 72

4.4.8 过滤写入器类型 75

4.5 对象持久性和对象序列化 76

4.5.1 什么是对象持久性 76

4.5.2 什么是对象序列化 77

4.5.3 序列化的工作方式 77

4.5.4 把对象读写到流中 78

4.5.5 对象的安全序列化 83

4.5.6 对象序列化和版本控制 83

4.6 小结 84

第5章 用户数据报协议 87

5.1 概述 87

5.2 DatagramPacket类 89

5.2.1 创建DatagramPacket实例 89

5.3 DatagramSocket类 90

5.3.1 创建DatagramSocket实例 90

5.2.2 使用DatagramPacket对象 90

5.3.2 使用DatagramSocket对象 91

5.4 监听UDP包 92

5.5 发送UDP包 93

5.6 用户数据包协议范例 94

5.7 构建UDP客户/服务器 99

5.7.1 构建回显服务 99

5.7.2 构建回显客户 101

5.8 关于UDP的其他信息 103

5.7.3 运行回显客户和服务器 103

5.8.1 缺少可靠交付 104

5.8.2 缺乏可靠包定序 104

5.8.3 缺乏流控制 104

5.9 小结 105

第6章 传输控制协议 107

6.1 概述 107

6.1.1 TCP优于UDP之处 108

6.1.2 使用端口在应用程序间通信 109

6.2.1 客户/服务器范型 110

6.1.3 套接字操作 110

6.2 TCP和客户/服务器范型 110

6.2.2 网络客户 111

6.2.3 网络服务器 111

6.3 TCP套接字和Java 111

6.4 Socket类 112

6.4.1 创建Socket实例 113

6.4.2 使用Socket对象 113

6.4.3 从/向TCP套接字中读取/写入数据 115

6.4.4 套接字选项 116

6.5 创建TCP客户 119

6.6 ServerSocket类 120

6.6.1 创建ServerSocket实例 121

6.6.2 使用ServerSocket 122

6.6.3 接受并处理来自TCP客户的请求 123

6.7 创建TCP服务器 123

6.8.3 ConnectException类 125

6.8.2 BindException类 125

6.8.1 SocketException类 125

6.8 异常处理:套接字特定异常 125

6.8.4 NoRouteToHostException类 126

6.8.5 InterruptedIOException类 126

6.9 小结 126

第7章 多线程应用程序 127

7.1 概述 127

7.1.1 单线程程序设计 127

7.1.2 多进程程序设计 128

7.1.3 多线程程序设计 129

7.2 Java中的多线程 130

7.2.1 用Thread类创建多线程应用程序 130

7.2.2 使用Runnable接口创建多线程应用程序 132

7.2.3 控制线程 133

7.3 同步 137

7.3.1 方法级同步 137

7.3.2 代码块级同步 141

7.4.1 线程间的通信管道 142

7.4 线程间通信 142

7.4.2 通知等待中的线程发生了某事件 144

7.5 线程组 145

7.5.1 创建线程组 147

7.5.2 使用线程组 147

7.6 线程优先级 150

7.6.1 分配线程优先级 150

7.6.2 获得当前线程优先级 151

7.6.3 限制线程优先级 151

7.7 小结 151

第8章 实现应用协议 153

8.1 概述 153

8.2 应用协议规范 153

8.3 应用协议实现 154

8.3.1 SMTP客户实现 154

8.3.2 POP3客户实现 162

8.3.3 HTTP/1.0服务器实现 168

8.4 小结 177

第9章 超文本传输协议 179

9.1 概述 179

9.1.1 什么是HTTP 179

9.1.2 HTTP的工作方式 179

9.1.3 Web客户 180

9.1.4 Web服务器 183

9.2 HTTP和Java 186

9.2.1 URL类 186

9.2.2 分析URL对象 188

9.2.3 用URL类检索资源 190

9.2.4 URLConnection类 193

9.2.5 用URLConnection类检索资源 196

9.2.6 使用URLConnection类修改和检查首部域 199

9.2.7 HttpURLConnection类 202

9.2.8 使用HttpURLConnection类访问HTTP特有功能 206

9.3 公用网关接口 209

9.3.1 用GET方法发送数据 209

9.3.3 在Java中发送GET请求 210

9.3.2 用POST方法发送数据 210

9.3.4 在Java中发送POST请求 212

9.4 小结 215

第10章 Java servlet 217

10.1 概述 217

10.2 servlet的工作方式 218

10.3 使用servlet 218

10.3.1 GET和POST 220

10.3.2 PUT和DELETE 221

10.3.3 TRACE 221

10.3.4 OPTIONS 221

10.4 运行servlet 221

10.4.1 下载Java Servlet开发包 222

10.4.2 安装servlet引擎 222

10.5 编写简单的servlet 224

10.6 单线程模型 226

10.7 ServletRequest类和HttpServletRequest类 226

10.8 ServletResponse类和HttpResponse类 228

10.9 ServletConfig类 230

10.10 ServletContext类 231

10.11 servlet异常 232

10.12 cookie 232

10.13 servlet中的HTTP会话管理 235

10.14 小结 237

第11章 远程方法调用 239

11.1 概述 239

11.1.1 什么是远程方法调用 239

11.1.2 比较远程方法调用和远程过程调用 240

11.2 远程方法调用的工作方式 240

11.3 定义RMI服务接口 242

11.4 实现RMI服务接口 243

11.5 创建存根类和骨架类 244

11.6 创建RMI服务器 245

11.7 创建RMI客户 247

11.9 远程方法调用包和类 249

11.8 运行RMI系统 249

11.10 远程方法调用部署问题 264

11.10.1 动态类加载 264

11.10.2 Java虚拟机之间的差异 266

11.10.3 远程方法调用和applet 267

11.11 利用远程方法调用实现回调 268

11.11.1 面向对象的回调 269

11.11.2 RMI回调 270

11.12 远程对象激活 275

11.12.1 什么是远程对象激活 276

11.12.2 远程对象激活的工作方式 276

11.12.3 创建可激活的远程对象 278

11.12.4 注册可激活远程对象 278

11.13 小结 284

第12章 Java IDL和CORBA 285

12.1 概述 285

12.2 CORBA的体系结构 286

12.2.2 CORBA客户 287

12.2.1 CORBA服务 287

12.3 IDL 288

12.3.1 语言概述 288

12.3.2 IDL数据类型 288

12.3.3 IDL接口 289

12.3.4 IDL模块 289

12.3.5 IDL属性 289

12.3.6 IDL操作 290

12.3.7 IDL异常处理 290

12.4 从IDL到Java 291

12.4.1 一个示例模式 291

12.4.2 把IDL模式映射到Java 291

12.4.3 编写服务者代码 292

12.4.4 编写客户代码 295

12.4.5 把所有东西放到一起 297

12.5 小结 298

13.1 概述 301

第13章 JavaMail 301

13.2 安装JavaMail API 302

13.3 测试JavaMail安装 303

13.4 使用JavaMail API 304

13.4.1 Address类 304

13.4.2 Message类 305

13.4.3 Service类 307

13.4.4 Store类 308

13.4.5 Folder类 309

13.4.6 Transport类 313

13.4.7 Session类 314

13.4.8 用JavaMail发送信息 316

13.4.9 用JavaMail检索信息 319

13.5 JavaMail的高级消息收发功能 323

13.5.1 JavaMail事件处理模型 323

13.5.2 编写JavaMail事件处理器 325

13.5.3 把文件作为附件发送 328

13.6 小结 332