java基础----网络协议及网络通讯
2017-03-25 17:13
211 查看
网络协议:
TCP:传输控制协议(传输层),三次握手建立连接,保证连接准确性;四次挥手断开连接,报头最小长度20字节客户端:同步信号SYN=1,随机序列号SEQ=X
服务端:同步信号SYN=1,报文ACK=X+1,随机序列号Y
客户端:同步信号SYN=0,报文ACK=Y+1
UDP:用户数据包协议(传输层),面向无连接的协议,报头8字节
HTTP:超文本传输协议(应用层),基于请求和响应模式、无状态的协议,特点有:
支持C(客户端)/S(服务器)模式
灵活:允许传输任意类型的数据对象
无连接:每次响应一个请求后就断开连接
无状态:对事务处理没有记忆能力
java网络请求:
Socket:tcp/ip协议的封装和应用
TCP编程:对网络通讯质量有要求时,例如传输文件,浏览网页,简单使用过程:服务器端:定义ServerSocket对象ss,传进端口号参数(例如6666),调用ss.accept()方法,等待客户端连接,注意这方法会线程阻塞,连接成功(accept()执行完)会返回一个Socket对象,通过这个对象获取输入输出流就可以和客户端进行通信了
客户端:定义Socket对象s,传进参数(目标主机IP地址,目标端口号),因为是测试,所以IP填自己IP地址(localhost),端口号填上面的6666,在上面实例化s后就已经连接上服务器端ss了,通过s获取输入输出流就可以和服务器端进行通信了
UDP编程:对网络通讯质量要求不高时,例如,实时语音,视频聊天,发生掉包也影响不大
HttpURLConnection:对Http协议的封装和应用,简单使用过程:
实例化URL对象,传入网络地址通过url.openConnection获得HttpURLConnection对象connection
对connection设置GET或者POST方式决定是请求数据,还是想服务器发送数据
设置连接时间和读取时间
获取输入输出流,对流进行转换为容易进行操作的其他流,例如BufferedRead,DataOutPutStream等等
最后一定要记得对流进行关闭,调用close()方法
相关文章推荐
- 我的IM - 基础篇[3] - 基于UDP通讯的IM设计[基于XML格式的网络通讯协议 以及 包解析器和包处理器的基础概念] 【转载】
- 黑马程序员_Java基础_网络编程_UDP传输协议编程,控制台聊天程序
- java网络编程协议与基础1—基本网络概念
- java基础学习网络编程之UDP和TCP协议 十四 -3
- 我的IM - 基础篇[3] - 基于UDP通讯的IM设计[基于XML格式的网络通讯协议 以及 包解析器和包处理器的基础概念]
- javaee学习日记之java基础之网络通讯
- 网络通讯协议简介(网络基础)
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
- 【黑马程序员】Java基础12:UDP和TCP的网络通讯
- Java基础知识强化之网络编程笔记13:TCP之TCP协议上传图片并给出反馈
- java基础整理の网络编程两协议小结
- java网络编程+通讯协议的理解
- 网络通讯更自由 谈Java串行端口技术协议
- java基础_13_网络协议 (UDP_TCP)
- Java基础知识强化之网络编程笔记11:TCP之TCP协议上传文本文件
- 网络-两远程客户端之间的通讯原理-Java基础-Java-编程开发
- Java基础知识强化之网络编程笔记12:TCP之TCP协议上传文本文件并给出反馈
- java基础54 网络通讯的三要素及网络/网页编程的概述
- java 关于网络通讯/Tcp 基础知识
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用