Java TCP IP Socket编程学习笔记
文章平均质量分 77
往前的
这个作者很懒,什么都没留下…
展开
-
java TCP/IP Socket编程-----纵览全书-----笔记1
概述:网络传输大部分都是遵循TCP/IP协议,本次想系统学习TCP/IP当中socket编程,对于TCP/IP具体细节在本书不深究的。全书分为6章:第一章:简介主要介绍网络传输过程,术语,对网络传输有个整体的印象。例如什么是地址?什么是套接字?第二章:基本套接字主要深入研究套接字,主要分为TCP套接字和UDP套接字的区别和不同第三章:发送和接受数据网络的主要的目的就原创 2017-06-10 10:53:45 · 537 阅读 · 0 评论 -
java TCP/IP Socket编程-----NIO--Buffer-----笔记10
概述:在NIO中,数据的读写操作始终是与缓冲区相关联的。Channel将数据读入缓冲区,然后我们又从缓冲区访问数据。写数据时,首先将要发送的数据按顺序填入缓冲区。基本上,缓冲区只是一个列表,它的所有元素都是基本数据类型(通常为字节型)。缓冲区是定长的,它不像一些类那样可以扩展容量(例如,List,StringBuffer等)。注意,ByteBuffer是最常用的缓冲区,因为:1)它提供了读写其原创 2017-06-15 16:53:28 · 584 阅读 · 0 评论 -
java TCP/IP Socket编程-----NIO--初识-----笔记8
概述:NIO主要包括两个部分:java.nio.channels包介绍了Selector和Channel抽象,java.nio包介绍了Buffer抽象。这都是一些高级的特性,有许多微妙的使用细节,它与socket类似,但是它主要区别,socket是乡村公路,NIO就是高速公路,socket容易阻塞,而NIO可以设置不阻塞。NIO更加充分利用系统的资源。术语:Selector:选择渠原创 2017-06-15 11:01:17 · 459 阅读 · 0 评论 -
java TCP/IP Socket编程-----进阶--多线程-----笔记8
概述:如何充分利用cpu多核资源,以前是开启多进程,现在更加轻量级的多线程来实现,实现多线程,常用就是Thread类和实现Runnable接口,通常采用后者,多线程主要是重写run()方法所以需要开启线程的事情放入到run()方法内,而服务器就是处理客户端请求,所以我们要把处理客户端的工作搬到run方法内1.服务端的线程类 EchoProtocol.javapackage com.tc原创 2017-06-14 12:57:23 · 2604 阅读 · 0 评论 -
java TCP/IP Socket编程-----发送和接受数据---投票例子--笔记7
概述:通过简单投票的例子学习一下,TCP/IP通讯需要注意的那些点,或者这个例子会其他知识,只要是知识就要慢慢捡,捡着捡着就多了。1.它的类的布局 如下:总结:1.在设计TCP/IP传输过程中必须定义好传输的协议(信息如何编排和信息的边界)2.要用接口来实现解耦,方便后期扩展2.开始上代码package com.tcp.ip.chapter3.vote;原创 2017-06-13 19:09:07 · 1204 阅读 · 0 评论 -
JavaNIO
1、javaNIO概述Java NIO核心 Channels、Buffers 、Selectors类似Channels就是出水口、Selectors水闸,Buffers就是蓄水池水闸可以选择不同出水口出水2、Channel通过如果要取水的话,从channel 读取到 Buffers(蓄水池)channel的类型FileChannel 文件DatagramC原创 2017-07-12 17:07:40 · 345 阅读 · 0 评论 -
java TCP/IP Socket编程-----发送和接受数据-----笔记7
概述:socket如何传递数据? 带目的看书会事半功倍效果,这个章我们要回答以下几个问题:1.数据如何进行编排?2.如何解析数据?3.如何高效传输数据?4.如何确定接收方的接受数据是完整的?解决第一个问题:1.数据如何进行编排?数据分为四类八种 byte ,short , int ,long double float char boolean,等,每种数据类型所占的原创 2017-06-11 21:53:52 · 2442 阅读 · 0 评论 -
java TCP/IP Socket编程-----基本套接字-----UDP通讯-----笔记6
概述:UDP协议提供了一种不同于TCP协议的端到端服务。实际上UDP协议只实现两个功能:1)在IP协议的基础上添加了另一层地址(端口),2)对数据传输过程中可能产生的数据错误进行了检测,并抛弃已经损坏的数据。由于其简单性,UDP套接字具有一些与我们之前所看到的TCP套接字不同的特征。例如,UDP套接字在使用前不需要进行连接。TCP协议与电话通信相似,而UDP协议则与邮件通信相似:你寄包原创 2017-06-10 20:27:55 · 425 阅读 · 0 评论 -
java TCP/IP Socket编程-----基本套接字-----TCP套接字通讯-----笔记5
概念:开始进行通讯,需要客户端和服务端1.TCP客户端:客户端向服务器发起连接请求后,就被动地等待服务器的响应。典型的TCP客户端要经过下面三步:1.创建一个Socket实例:构造器向指定的远程主机和端口建立一个TCP连接。2. 通过套接字的输入输出流(I/O streams)进行通信:一个Socket连接实例包括一个InputStream和一个OutputStream,它们的原创 2017-06-10 19:24:09 · 412 阅读 · 0 评论 -
java TCP/IP Socket编程-----基本套接字-----常用API方法解释-----笔记4
概述:java已经提供一些非常方便的API,但是我们需要熟悉它们。1.InetAddress类static InetAddress[] getAllByName (String host) 一个名称可以关联多个数字地址static InetAddress getByName(String host) 根据名称获取数字地址static InetAddress getLocalH原创 2017-06-10 15:52:07 · 554 阅读 · 0 评论 -
java TCP/IP Socket编程-----基本套接字-----获取本机地址-----笔记3
概述:开始上硬菜的了,现在我们可以学习如何编写自己的套接字应用程序了。我们首先通过使用InetAddress类和SocketAddress类来示范Java应用程序如何识别网络主机。然后,举了一个使用TCP协议的客户端和服务器端例子来展示Socket类和ServerSocket类的用法。同样,我们举了一个使用UDP协议的客户端和服务器端例子来展示DatagramSocket类的用法。对于每个类对原创 2017-06-10 14:38:00 · 3371 阅读 · 0 评论 -
java TCP/IP Socket编程-----简介-----笔记2
概述:大家都可以通过网络进行通讯,那么这些通讯是如何实现?主要用java语言的编写程序,这就是本章的目的1.1计算机网络,分组报文和协议这个通讯过程就像以前的打电话的情形,而路由器就是相等于接线员,主机1打过来说我要连接主机2,这时候路由器切换通信信道转到,更恰当比喻就是你应该问过路,路人就是像路由器,因为他知道你要去的地方怎么走。现在有个问题,我开始问路了,可说的是我们那原创 2017-06-10 13:09:05 · 327 阅读 · 0 评论 -
java TCP/IP Socket编程-----NIO--TCP信道-----笔记11
概述:流信道有两个变体:SocketChannel和ServerSocketChannel。像其对应的Socket一样,SocketChannel是相互连接的终端进行通信的信道。1、SocketChannel 创建,连接和关闭static SocketChannel open(SocketAddress remote) 创建一个实例static SocketChannel op原创 2017-06-15 19:17:38 · 403 阅读 · 0 评论