文章目录
前言
- 网络交互的
- "智能"聊天机器人
网络分层协议:
OSI 7层协议
应用层:
针对特定应用的协议:HTTP协议 ,DNS协议,SSH协议,FTP协议(文件传输协议)
eg:xshell:SSH协议,xftp:SFTP协议
表示层:
将网络部分的数据转换成程序需要的数据
会话层:
管理会话
传输层:
管理源地址和目标地址的数据传输(确定路线):
5个关键要素:
- 目标IP
- 目标端口号
- 源地址IP(退回信息/反馈信息)
- 源端口号
- 协议
TCP UDP协议:(区别)
UDP:无链接,不稳定,面向数据报 Data gram
UDP没有发送缓冲区,只有接收缓冲区
TCP:有链接,稳定,面向数据流 Data Stream
TCP又有发送缓冲区,又有接收缓冲区
网络层:
管理选择路由(决定交通工具的类型 :IP协议)
数据链路层:
进行相邻节点的数据传输,规划最近运输路线
物理层:
网线,基站,电信号,光信号
TCP/IP 4(5)层协议
应用层:
针对特定应用的协议:HTTP协议,DNS协议,SSH协议,FTP协议
传输层:
管理两个节点间的数据传输(管理源地址和目标地址的数据传输)
网络层:
管理选择路由(决定交通工具的类型:IP协议)
数据链路层:
接收和解析相邻结点的数据,进行相邻节点的数据传输,规划最近运输路线
( 物理层:)
网线,基站,电信号,光信号
数据传输过程:
封装/分用
封装:从应用层一步步到物理层的过程
分用:从物理层一步步到应用层的过程
IP/MAC:缺一不可
eg:IP:学校的地址MAC:你的名字
IP:IPV4/IPV6:32位数值(0/1)组成的,8位的最大值 255 = 2^8 -1
MAC :物理地址/网卡地址
出厂时就生成的全球唯一地址,Windows以 " - " 分隔,Linux以 " : " 分隔
UDP网络编程:
DatagramSocket :
客户端:在需要的时候才发起链接,他是主动性发送请求的一方。
服务器端:一经启动就会对外提供服务,不知道客户端什么时候发送链接,被动接受的一方。
服务器要有一个固定端口号。
DatagramPacket :
send()发送消息
receive()接收消息
TCP网络编程:
服务器端创建:ServerSocket
客户端创建:Socket
读取消息:BufferedReader
写入消息:BufferedWriter
Buffered:缓冲区,作用:高效的收发消息
总结
今天的内容就到这里啦,下篇文章更新代码实现基于UDP的 “智能”(傻瓜 )聊天机器人!和基于TCP的 “智能”(傻瓜 )翻译机器人~~