《Java网络编程实战》是由机械工业出版社出版的一本关于Java编程方面的书籍,作者是李建英,主要介绍了关于Java、网络编程方面的知识内容,目前在Java编程类书籍综合评分为:7.7分。
书籍介绍
内容简介
本书全面介绍如何使用Java开发网络程序,将学习使用Java的网络类库既快速又轻松地完成常见的网络编程任务。本书共11章,主要内容包括:TCP/IP协议基础、搭建Windows下的Java网络开发环境、搭建Linux下的Java网络开发环境、本机网络信息编程、Java多线程编程、TCP套接字编程、FTP网络编程、UDP编程和即时通信系统的设计、网络服务器设计、网络性能工具IPerf的使用、IPv6编程等。
本书适用于所有Java编程人员,包括Java初学者和资深Java开发人员。本书还可作为高校的Java教材以及企业的Java培训教材。
目录
- 前言
- 第1章TCP/IP基础1
- 1.1什么是TCP/IP1
- 1.2TCP/IP的分层结构1
- 1.3应用层5
- 1.3.1DNS6
- 1.3.2端口6
- 1.4传输层7
- 1.4.1TCP7
- 1.4.2UDP7
- 1.5网络层8
- 1.5.1IP8
- 1.5.2ARP14
- 1.5.3RARP16
- 1.5.4ICMP17
- 1.6数据链路层26
- 1.6.1数据链路层的基本概念26
- 1.6.2数据链路层的主要功能26
- 第2章在Windows下搭建Java开发环境28
- 2.1下载JDK28
- 2.2安装JDK29
- 2.3配置JDK环境变量29
- 2.4在命令行下编译Java程序30
- 2.5在Eclipse中开发Java程序31
- 2.6下载Eclipse31
- 2.7启动Eclipse32
- 2.8个Eclipse下的Java工程33
- 2.9在工作区打开工程36
- 2.10搭建JavaWeb开发环境36
- 2.10.1下载Tomcat36
- 2.10.2安装Tomcat36
- 2.10.3在Eclipse中配置Tomcat38
- 2.10.4个Eclipse下的JSP工程39
- 2.10.5个JavaBean工程43
- 2.11使用JNI47
- 2.12搭建Java图形界面开发环境51
- 第3章在Linux下搭建Java开发环境57
- 3.1部署虚拟机Linux环境57
- 3.1.1在VMware下安装Linux57
- 3.1.2关闭防火墙60
- 3.1.3制作快照61
- 3.1.4以桥接模式连接Linux虚拟机61
- 3.1.5通过终端工具连接Linux虚拟机64
- 3.1.6与虚拟机互传文件66
- 3.2命令行编译运行Java程序66
- 3.3图形化界面开发Java程序67
- 3.3.1个IDEA开发的Java应用程序68
- 3.3.2使用第三方JAR库71
- 3.3.3使用Linux中的SO库75
- 第4章本机网络信息编程79
- 4.1IP地址类InetAddress79
- 4.1.1获取远程Web主机的IP地址81
- 4.1.2获取本地环回地址82
- 4.1.3单网卡下的本机地址83
- 4.2网络接口类NetworkInterface85
- 4.2.1得到所有网络接口87
- 4.2.2得到本机所有网卡的IP地址89
- 第5章Java多线程编程94
- 5.1使用多线程的好处94
- 5.2多线程编程的基本概念95
- 5.2.1操作系统和多线程95
- 5.2.2线程的基本概念96
- 5.2.3操作系统中线程的状态97
- 5.2.4线程函数97
- 5.2.5线程标识98
- 5.3Java中的多线程概述98
- 5.3.1线程的创建98
- 5.3.2线程的状态100
- 5.3.3线程同步100
- 5.3.4线程阻塞101
- 5.3.5守护线程102
- 5.3.6线程组102
- 5.4Thread类103
- 5.4.1构造方法104
- 5.4.2成员方法104
- 5.4.3创建线程107
- 5.4.4线程的属性111
- 5.4.5调度策略113
- 5.4.6Java中线程的状态116
- 5.4.7线程休眠118
- 5.4.8线程让步119
- 5.4.9线程结束122
- 5.4.10等待线程结束126
- 第6章TCP套接字编程128
- 6.1网络程序的架构128
- 6.2套接字的基本概念129
- 6.3套接字地址131
- 6.3.1构造方法131
- 6.3.2getAddress方法132
- 6.3.3getPort方法132
- 6.3.4getHostName方法132
- 6.3.5createUnresolved方法132
- 6.4套接字的类型133
- 6.5TCP套接字编程的基本步骤135
- 6.6服务器的ServerSocket类135
- 6.6.1构造方法136
- 6.6.2accept方法137
- 6.6.3close方法137
- 6.6.4ServerSocket类的其他方法137
- 6.7客户机的Socket类139
- 6.7.1构造方法139
- 6.7.2得到输入流getInputStream139
- 6.7.3得到输出流getOutputStream141
- 6.7.4禁用输出流shutdownOutput141
- 6.7.5连接服务器的connect函数141
- 6.7.6获取和设置读取数据的超时时间142
- 6.7.7Socket类的其他方法142
- 6.8实战TCP通信144
- 6.9深入理解TCP编程149
- 6.9.1数据发送和接收涉及的缓冲区149
- 6.9.2TCP数据传输的特点150
- 6.9.3数据发送的6种情形150
- 6.9.4数据接收时碰到的情形151
- 6.9.5简单情况的数据接收152
- 6.9.6定长数据的接收156
- 6.9.7ObjectInputStream和ObjectOutputStream159
- 6.9.8发送和接收类对象167
- 6.9.9变长数据的接收169
- 6.10带图形界面的登录程序170
- 6.11处理多种接收意外情况173
- 第7章FTP网络编程180
- 7.1FTP概述180
- 7.2FTP的工作原理181
- 7.3FTP的传输方式182
- 7.3.1FTP的工作方式183
- 7.3.2FTP命令184
- 7.3.3FTP应答码186
- 7.4开发FTP客户端程序188
- 7.4.1客户端需求分析188
- 7.4.2概要设计188
- 7.4.3详细设计188
- 7.4.4开发FTP服务端程序193
- 第8章UDP编程和即时通信系统的设计213
- 8.1UDP概述213
- 8.2TCP和UDP的比较214
- 8.3UDP在Java中的实现215
- 8.4UDP通信的流程219
- 8.5个UDP程序219
- 8.6即时通信概述221
- 8.7系统平台的选择222
- 8.7.1应用系统平台模式的选择222
- 8.7.2C/S模式介绍222
- 8.7.3数据库系统的选择223
- 8.8系统需求分析223
- 8.8.1即时消息的一般需求223
- 8.8.2即时消息的协议需求224
- 8.8.3即时消息的安全需求224
- 8.8.4即时信息的加密和鉴别224
- 8.8.5注册需求225
- 8.8.6通信需求225
- 8.9系统总体设计225
- 8.10即时通信系统的实施原理226
- 8.10.1即时通信的工作方式226
- 8.10.2即时通信的基本技术原理226
- 8.10.3即时通信方式227
- 8.11功能模块划分227
- 8.11.1模块划分227
- 8.11.2服务端程序的功能228
- 8.11.3客户端程序的功能228
- 8.11.4服务端程序的多线程229
- 8.11.5客户端程