搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Java TCP/IP Socket编程
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111257561
  • 作      者:
    (美)Kenneth L. Calvert, (美)Michael J. Donahoo著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2009
收藏
编辑推荐
  《Java TCP/IP Socket编程(原书第2版)》适合作为Java Socket编程的入门教程,也可供从事网络相关专业的技术人员参考。
展开
作者简介
  Kenneth L.Calvert,肯塔基大学(University of Kentucky)的教授,他的教学和研究方向是计算机网络系统。他已经有近20年的TCP/IP Socket编程经验。
  Michael J.Donahoo,贝勒大学(Baylor University)的副教授,为大学生或大学研究生讲授计算机网络课程。他已经编著了在各种编程语言下进行Socket编程的多本书籍和一本有关SQL的书籍。
展开
内容介绍
  在7CP/IP Socket首次发布时,Java作为一个新的未被关注的编程语言刚出现。然而,自2001年以来,Java的网络编程能力已经得到了很大程度的扩展,而且持续的应用优势已经使其成为了一个占主导地位的平台。考虑到Java受欢迎程度和近期在形式上和功能上令人兴奋的创新,本书的新版涵盖了Java的当前最新版本的内容(7.5版至1.7版),以及一些新的重要的抽象,包括NetworkInterface,InterfaceAddress,Inet4/6Address抽象、SocketAddress InetSocketAddressf1]Executor等。现在几乎所有互联网应用程序都使用Java Socket进行通信,而本书专注的、教导式的方法,使读者能够快速掌握所有计算机通信的任务和技术要点。
  本书特点
  对Socket编程的重点进行了集中简明的介绍,以使读者能够迅速掌握;并且使工程师们能够迅速地将所学的技能应用到他们的日常工作中。
  对最新的Java平台(1.7)进行了简明而紧随其发展的介绍,使开发者即使在最新的技术面前也能处理大量未探究的陷阱。
  配套网站(books.elsevier.com/companonS/9780123742551)为所有的示例程序提供了源码,从而使读者能够在上下文中查看重要的对象和方法,并理解每行代码的作用。
展开
精彩书评
  我觉得本书做了很好的工作,包括简明扼要地抓住关键问题,提供了非常好的实例,因此可以作为重要主题的参考资料。我认为本书适合希望快速地掌握Java网络编程的开发者,也可以作为学生的补充读物。
  ——Robere Brunner,美国国家超级计算应用中心(NCSA)
展开
精彩书摘
  通常情况下,在程序中使用套接字是因为需要向其他程序提供信息,或使用其他程序提供的信息。这并不是什么魔法:任何要交换信息的程序之间在信息的编码方式上必须达成共识(如将信息表示为位序列),以及哪个程序发送信息,什么时候和怎样接收信息都将影响程序的行为。程序间达成的这种包含了信息交换的形式和意义的共识称为协议,用来实现特定应用程序的协议叫做应用程序协议。前面章节中的回馈程序示例中的应用程序协议都过于简单:客户端和服务器的行为都不受它们之间所交换的信息内容的影响。而在绝大部分实际应用中,客户端和服务器的行为都要依赖于它们所交换的信息,因此应用程序协议通常更加复杂。
  TCP/IP协议以字节的方式传输用户数据,并没有对其进行检查和修改。这个特点使应用程序可以非常灵活地对其传输的信息进行编码。大部分应用程序协议是根据由字段序列组成的离散信息定义的,其中每个字段中都包含了一段以位序列编码的特定的信息。应用程序协议中明确定义了信息的发送者应该怎样排列和解释这些位序列,同时还要定义接收者应该怎样解析,这样才使信息的接收者能够抽取出每个字段的意义。TCP/IP协议的唯一约束是,信息必须在块(chunk)中发送和接收,而块的长度必须是8位的倍数,因此,我们可以认为在TCP/IP协议中传输的信息是字节序列。鉴于此,我们可以进一步把传输的信息看作数字序列或数组,每个数字的取值范围是0~255。这与8位编码的二进制数值范围是一致的:00000000代表0,00000001代表1,00000010代表2等,最多到11111111,即255。
  如果你建立了一个程序使用套接字与其他程序交换信息,通常符合下面两种情况之一:要么是你设计和编写了套接字的客户端和服务器端,这种情况下你能够随心所欲地定义自己的应用程序协议;要么是你实现了一个已经存在的协议,或许是一个协议标准。
展开
目录
译者序
前言
第1章  简介
1.1  计算机网络、分组报文和协议
1.2  关于地址
1.3  关于名字
1.4  客户端和服务器
1.5  什么是套接字
1.6  练习
第2章  基本套接字
2.1  套接字地址
2.2  TCP套接字
2.2.1  TCP客户端
2.2.2  TCP服务器端
2.2.3  输入输出流
2.3  UDP套接字
2.3.1  DatagramPacket类
2.3.2  UDP客户端
2.3.3  UDP服务器端
2.3.4  使用UDP套接字发送和接收信息
2.4  练习
第3章  发送和接收数据
3.1  信息编码
3.1.1  基本整型
3.1.2  字符串和文本
3.1.3  位操作:布尔值编码
3.2  组合输入输出流
3.3  成帧与解析
3.4  Java特定编码
3.5  构建和解析协议消息
3.5.1  基于文本的表示方法
3.5.2  二进制表示方法
3.5.3  发送和接收
3.6  结束
3.7  练习
第4章  进阶
4.1  多任务处理
4.1.1  Java多线程
4.1.2  服务器协议
4.1.3  一客户一线程
4.1.4  线程池
4.1.5  系统管理调度:Executor接口
4.2  阻塞和超时
4.2.1  accept()、read()和receive()
4.2.2  连接和写数据
4.2.3  限制每个客户端的时间
4.3  多接收者
4.3.1  广播
4.3.2  多播
4.4  控制默认行为
4.4.1  Keep-Alive
4.4.2  发送和接收缓存区的大小
4.4.3  超时
4.4.4  地址重用
4.4.5  消除缓冲延迟
4.4.6  紧急数据
4.4.7  关闭后停留
4.4.8  广播许可
4.4.9  通信等级
4.4.10  基于性能的协议选择
4.5  关闭连接
4.6  Applet
4.7  结束
4.8  练习
第5章  NIO
5.1  为什么需要NIO
5.2  与Buffer一起使用Channel
5.3  Selector
5.4  Buffer详解
5.4.1  Buffer索引
5.4.2  创建Buffer
5.4.3  存储和接收数据
5.4.4  准备Buffer:clear()、flip()和rewind()
5.4.5  压缩Buffer中的数据
5.4.6  Buffer透视:duplicate()和slice()等
5.4.7  字符编码
5.5  流(TCP)信道详解
5.6  Selector详解
5.6.1  在信道中注册
5.6.2  选取和识别准备就绪的信道
5.6.3  信道附件
5.6.4  Selector小结
5.7  数据报(UDP)信道
5.8  练习
第6章  深入剖析
6.1  缓冲和TCP
6.2  死锁风险
6.3  性能相关
6.4  TCP套接字的生存周期
6.4.1  连接
6.4.2  关闭TCP连接
6.5  解调多路复用揭秘
6.6  练习
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证