• Java网络编程实战
  • Java网络编程实战
  • Java网络编程实战
21年品牌 40万+商家 超1.5亿件商品

Java网络编程实战

全新正版 极速发货

61.62 6.9折 89 全新

库存2件

广东广州
认证卖家担保交易快速发货售后保障

作者编者:李建英|责编:迟振春

出版社机械工业

ISBN9787111700630

出版时间2022-03

装帧平装

开本其他

定价89元

货号31397304

上书时间2024-06-11

大智慧小美丽

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

用Java开发的人越来越多,但是市面上介绍Java网络编程的书不多,而且所讲述的内容大多比较老旧(和一线开发关系不大),所以迫切需要一本紧贴一线实战的网络编程书。编者长期从事一线Java开发,知道哪些内容是初学者和中级开发者必须要掌握的,哪些是开发过程中的痛点和难点,所以编写了本书将这些经验转化成一个个精心设计的小实例来展现给读者。 
  本书对套接字编程的重点知识进行简单介绍,以使读者能够迅速掌握,并且能够迅速将所学的技能应用到日常工作中。除了基本的套接字编程外,本书还设计了较为复杂的综合案例,使读者能灵活地应用套接字编程(包括TCP编程和UDP编程)。另外,本书还重点阐述了网络服务器的设计,比如如何设计并发服务器。本书所选的都是典型、主流的方法和库,既高效又实用,同时精心打磨技术细节,以提高读者的学习效率。
  本书的一大特色是实例丰富,读者可以跟着实例进行实战练习。同时本书讲解细致,从基本的开发环境搭建到基本的网络编程技术,再逐步过渡到网络服务器的设计,学习曲线非常平缓,这样可以使读者持续保持学习热情,一步一步往前走。通过阅读本书,读者不仅可以掌握网络编程的实用技术,还可以进一步提高用面向对象的思想来设计和编写Java软件的能力。 
  本书的资源文件可以登录机械工业出版社华章公司的网站(www.hzbook.com)下载,方法是:搜索到本书,然后在页面上的“资源下载”模块下载即可。如果下载有问题,请发送电子邮件至booksaga@126.com。如果读者有兴趣,也可以加入QQ技术交流群(492823357)参与讨论 
  虽然编者尽了努力,但是书中依旧可能会出现疏漏之处,恳请读者批评指正。另外,如果阅读本书的过程中遇到问题,可以发送邮件(3189505006@qq.com)进行咨询,编者也会将本书的勘误放到QQ(3189505006)空间中。

  编 者
  2021年9月



 
 
 
 

商品简介

本书全面介绍如何使用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.2  TCP/IP的分层结构1
1.3  应用层5
1.3.1  DNS6
1.3.2  端口6
1.4  传输层7
1.4.1  TCP7
1.4.2  UDP7
1.5  网络层8
1.5.1  IP8
1.5.2  ARP14
1.5.3  RARP16
1.5.4  ICMP17
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  搭建Java Web开发环境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.1  IP地址类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.3  Java中的多线程概述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.4  Thread类103
5.4.1  构造方法104
5.4.2  成员方法104
5.4.3  创建线程107
5.4.4  线程的属性111
5.4.5  调度策略113
5.4.6  Java中线程的状态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.2  getAddress方法132
6.3.3  getPort方法132
6.3.4  getHostName方法132
6.3.5  createUnresolved方法132
6.4  套接字的类型133
6.5  TCP套接字编程的基本步骤135
6.6  服务器的ServerSocket类135
6.6.1  构造方法136
6.6.2  accept方法137
6.6.3  close方法137
6.6.4  ServerSocket类的其他方法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.7  Socket类的其他方法142
6.8  实战TCP通信144
6.9  深入理解TCP编程149
6.9.1  数据发送和接收涉及的缓冲区149
6.9.2  TCP数据传输的特点150
6.9.3  数据发送的6种情形150
6.9.4  数据接收时碰到的情形151
6.9.5  简单情况的数据接收152
6.9.6  定长数据的接收156
6.9.7  ObjectInputStream和ObjectOutputStream159
6.9.8  发送和接收类对象167
6.9.9  变长数据的接收169
6.10  带图形界面的登录程序170
6.11  处理多种接收意外情况173
第7章  FTP网络编程180
7.1  FTP概述180
7.2  FTP的工作原理181
7.3  FTP的传输方式182
7.3.1  FTP的工作方式183
7.3.2  FTP命令184
7.3.3  FTP应答码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.1  UDP概述213
8.2  TCP和UDP的比较214
8.3  UDP在Java中的实现215
8.4  UDP通信的流程219
8.5  第一个UDP程序219
8.6  即时通信概述221
8.7  系统平台的选择222
8.7.1  应用系统平台模式的选择222
8.7.2  C/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  客户端程序的多线程229
8.12  数据库设计229
8.12.1  数据库的选择230
8.12.2  准备MySQL230
8.12.3  下载JDBC驱动233
8.12.4  聊天系统数据库设计236
8.13  服务端程序的设计238
8.14  客户端程序的设计251
第9章  网络服务器设计263
9.1  概述263
9.2  操作系统的IO模型264
9.2.1  基本概念264
9.2.2  同步和异步264
9.2.3  阻塞和非阻塞266
9.2.4  同步、异步和阻塞、非阻塞的关系268
9.2.5  为什么要采用套接字的IO模型269
9.2.6  同步阻塞IO模型270
9.2.7  同步非阻塞IO模型271
9.2.8  同步多路复用IO模型271
9.2.9  同步信号驱动IO模型272
9.2.10  异步IO模型273
9.2.11  5种IO模型比较274
9.3  Java IO流275
9.3.1  输入流和输出流275
9.3.2  字符流276
9.3.3  运行机制276
9.4  传统服务器模型BIO277
9.4.1  单线程模型278
9.4.2  多线程模型280
9.4.3  线程池模型281
9.5  NIO及高性能网络模型的构建287
9.5.1  通道288
9.5.2  缓冲区292
9.5.3  选择器299
9.5.4  实战NIO服务器303
第10章  网络性能工具Iperf的使用310
10.1  Iperf概述310
10.2  Iperf的特点310
10.3  Iperf的工作原理311
10.4  Iperf的主要功能312
10.5  Iperf在Linux下的使用312
10.5.1  在Linux下安装Iperf312
10.5.2  Iperf的简单使用314
10.6  Iperf在Windows下的使用315
10.6.1  命令行版本315
10.6.2  图形用户界面版本315
第11章  IPv6编程316
11.1  IPv4的现状和不足316
11.1.1  地址空间、地址方案与路由问题317
11.1.2  网络管理与配置问题321
11.1.3  服务类型问题322
11.1.4  IP选项问题323
11.1.5  IPv4的安全性问题323
11.2  是增加补丁还是彻底升级改进323
11.3  IPv6的发展历史324
11.4  IPv6的特点325
11.5  IPv6地址326
11.5.1  IPv6地址表示方法326
11.5.2  IPv6前缀327
11.5.3  IPv6地址的类型328
11.6  IPv6数据报格式331
11.7  为系统设置IPv6地址336
11.8  Java对IPv6的支持336
11.8.1  IPv6地址的校验337
11.8.2  正规化IPv6地址342
11.8.3  获取本机IPv6地址343

内容摘要
本书全面介绍如何使用Java开发网络程序,将学习使用Java的网络类库既快速又轻松地完成常见的网络编程任务。本书共11章,主要内容包括:TCP/IP协议基础、搭建Windows下的Java网络开发环境、搭建Linux下的Java网络开发环境、本机网络信息编程、Java多线程编程、TCP套接字编程、FTP网络编程、UDP编程和即时通信系统的设计、网络服务器设计、网络性能工具IPerf的使用、IPv6编程等。
本书适用于所有Java编程人员,包括Java初学者和资深Java开发人员。本书还可作为高校的Java教材以及企业的Java培训教材。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP