【幻化万千戏红尘】qianfengDay23-java基础学习:网络编程、TCP IP协议、端口Socket、ServerSocket
2016-08-11 10:01
666 查看
课程回顾:
线程安全的解决
今日内容:
网络:
通过外部的网络设备,将分布在不同区域的计算机连接在一起,
实现不同计算机之间的数据交互
不同的计算机想进行数据的交互,就必须得遵守相同的通信协议
TCP/IP协议:传输控制协议/网际协议
网络模型:
用书糊口
4层模型 五层模型
七层模型
应用层 应用层和表示层和会话层
传输层
互联网层
数据接口层 数据链路层和物理层
网络结构的程序分类:
1、B/S:浏览器/服务器
2、C/S:客户端/服务器
TCP/IP协议:是目前网络中使用最为广泛的通信协议
Transmission Control Protocal 传输控制协议
控制数据的传输
TCP是在不可靠的互联网中提供可靠的数据传输的协议
面向连接的,端到端数据传输client-server
TCP的三次握手(连接):
客户端先向服务端发送请求连接
服务端接收到之后,开辟存储单元,并返回消息
客户端接收到之后,会给服务端发送确认消息
一共是三次
Internet Protocol 网际协议 ip地址
IP地址:网络中计算机的标记,用于区分网络中计算机
32位组成,一般分为4部分,每部分的范围[0,255]
我们日常使用的IP都是十进制
IP的分类:
1类:政府机关:0---126
2类:中等规模的公司128-191
3类:个人192-223
4类:组播224-249
5类:实验室250-255
127.0.0.1或localhost都是指的本机
端口号:具有网络功能的软件的标记
计算机端口数:256*256
端口号的范围[0,65535]
0-1023:目前已经被公认的或即将被公认的软件
1024-65535:任何软件都可以使用
通过IP和端口我们才可以定位计算机的某个软件
InetAddress类:互联网地址
IP地址的描述类
常用方法:
getLocalHost:获取本机的IP对象
getHostAddress:获取对象的IP地址字符串
getHostName:获取对象的主机名称
getByName:获取指定名称的IP对象
getAllByName:获取指定名称的所有IP对象
套接字:程序进行网络连接实现的数据交互,数据交互的一端就是套接字
简而言之:就是用于2个程序之间进行数据交互的端
将数据写入到套接字中,套接字会将数据传输到指定的套接字中
TCP:Client-Server
TCP协议就是将数据在客户端和服务端进行交互的一种协议
Socket:应用客户端
ServerSocket:应用服务端
TCP开发步骤:
1、创建套接字(连接)
2、获取对应的流对象
3、操作对应的流
4、关闭
Socket套接字:实现数据的交互,主要应用在客户端
常用构造:
Socket(String host, int port)
参数说明:
第一个参数:服务器的IP地址
第二个参数:服务端程序的端口号
常用方法:
getInputStream:获取输入流,用于读取信息
getOutputStream:获取输出流,用于发送消息
close:关闭套接字
ServerSocket:服务端套接字
常用构造:
ServerSocket(int port)
创建对象并监听端口号
常用方法:
accept: 监听客户端的连接
close:关闭
1对1聊天
read方法,如果套接字无关闭,无法读取到文件的末尾
文件传输:
流读取要发送的文件内容
将读取到的内容写出到套接字中
接收端从套接字中读取文件的内容
再通过流写出到本地
周四:
Sqlite数据库+反射
周五:
HTML+Servlet
下周内容:
Http协议+Servlet
XML解析
JSON解析
正则表达式
线程安全的解决
今日内容:
网络:
通过外部的网络设备,将分布在不同区域的计算机连接在一起,
实现不同计算机之间的数据交互
不同的计算机想进行数据的交互,就必须得遵守相同的通信协议
TCP/IP协议:传输控制协议/网际协议
网络模型:
用书糊口
4层模型 五层模型
七层模型
应用层 应用层和表示层和会话层
传输层
互联网层
数据接口层 数据链路层和物理层
网络结构的程序分类:
1、B/S:浏览器/服务器
2、C/S:客户端/服务器
TCP/IP协议:是目前网络中使用最为广泛的通信协议
Transmission Control Protocal 传输控制协议
控制数据的传输
TCP是在不可靠的互联网中提供可靠的数据传输的协议
面向连接的,端到端数据传输client-server
TCP的三次握手(连接):
客户端先向服务端发送请求连接
服务端接收到之后,开辟存储单元,并返回消息
客户端接收到之后,会给服务端发送确认消息
一共是三次
Internet Protocol 网际协议 ip地址
IP地址:网络中计算机的标记,用于区分网络中计算机
32位组成,一般分为4部分,每部分的范围[0,255]
我们日常使用的IP都是十进制
IP的分类:
1类:政府机关:0---126
2类:中等规模的公司128-191
3类:个人192-223
4类:组播224-249
5类:实验室250-255
127.0.0.1或localhost都是指的本机
端口号:具有网络功能的软件的标记
计算机端口数:256*256
端口号的范围[0,65535]
0-1023:目前已经被公认的或即将被公认的软件
1024-65535:任何软件都可以使用
通过IP和端口我们才可以定位计算机的某个软件
InetAddress类:互联网地址
IP地址的描述类
常用方法:
getLocalHost:获取本机的IP对象
getHostAddress:获取对象的IP地址字符串
getHostName:获取对象的主机名称
getByName:获取指定名称的IP对象
getAllByName:获取指定名称的所有IP对象
套接字:程序进行网络连接实现的数据交互,数据交互的一端就是套接字
简而言之:就是用于2个程序之间进行数据交互的端
将数据写入到套接字中,套接字会将数据传输到指定的套接字中
TCP:Client-Server
TCP协议就是将数据在客户端和服务端进行交互的一种协议
Socket:应用客户端
ServerSocket:应用服务端
TCP开发步骤:
1、创建套接字(连接)
2、获取对应的流对象
3、操作对应的流
4、关闭
Socket套接字:实现数据的交互,主要应用在客户端
常用构造:
Socket(String host, int port)
参数说明:
第一个参数:服务器的IP地址
第二个参数:服务端程序的端口号
常用方法:
getInputStream:获取输入流,用于读取信息
getOutputStream:获取输出流,用于发送消息
close:关闭套接字
ServerSocket:服务端套接字
常用构造:
ServerSocket(int port)
创建对象并监听端口号
常用方法:
accept: 监听客户端的连接
close:关闭
1对1聊天
read方法,如果套接字无关闭,无法读取到文件的末尾
文件传输:
流读取要发送的文件内容
将读取到的内容写出到套接字中
接收端从套接字中读取文件的内容
再通过流写出到本地
周四:
Sqlite数据库+反射
周五:
HTML+Servlet
下周内容:
Http协议+Servlet
XML解析
JSON解析
正则表达式
相关文章推荐
- 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof
- 【幻化万千戏红尘】qianfengDay01-java基础学习:历史、数据类型
- 【幻化万千戏红尘】qianfengDay22-java基础学习:线程安全、synchronized、死锁
- 【幻化万千戏红尘】qianfengDay14-java基础学习:集合,ArrayList,Iterator,LinkedList
- 【幻化万千戏红尘】qianfengDay10-java基础学习:成员内部类、静态内部类、局部和匿名内部类,设计模式之简单工厂模式
- 【幻化万千戏红尘】qianfengDay15-java基础学习:List,ArrayList,LinkedList,comparable,comparator
- Python基础学习(5)网络编程socket、文件上传、粘包问题、socketserver、IO多路复用、线程与进程、进程池、线程池、上下文管理、协程
- 【幻化万千戏红尘】qianfengDay24-java基础学习:数据库、七大表语句、JDBC反射
- 【幻化万千戏红尘】qianfengDay21-java基础学习:进程、线程、Timer
- 【幻化万千戏红尘】qianfengDay13-java基础学习:String ,StringBuilder,StringBuffer,Date,Calendar
- 【幻化万千戏红尘】qianfengDay17-java基础学习:泛型,路径,File类,IO流
- Java网络编程学习笔记(3)ServerSocket用法详解
- 【幻化万千戏红尘】qianfengDay16-java基础学习:HashMap,HashTable,TreeMap
- 【幻化万千戏红尘】qianfengDay04-java基础学习:for语句.while语句,do-while语句
- 【幻化万千戏红尘】qianfengDay19-java基础学习:转换流、对象流、打印流、三大标准(重定向)
- 【幻化万千戏红尘】qianfengDay08-java基础学习:修饰符、重写、继承、抽象、递归、final
- 【幻化万千戏红尘】qianfengDay12-java基础学习:二维数组、异常、错误
- Java网络编程基础 1 建立一个提供当前时间字符串的ServerSocket
- 【幻化万千戏红尘】qianfengDay06-java基础学习:重载、方法、类、对象、构造方法
- 【幻化万千戏红尘】qianfengDay07-java基础学习:static、设计模式之单例模式