网络编程

# 网络编程
- 网络模型:
- 七层模型:
- 物理层
- 数据链路层
- 网络层
- 传输层
- 会话层
- 表示层
- 应用层
- 四层模型:实际应用
- 链路层
- 网络
- 传输层
- 应用层

- TCP/IP 协议族
- IP地址: 分为ABCDE类

- 端口
- 范围: 0-65535
- 被使用端口:0-1023
- 未被使用端口:1024-

# TCP/UDP协议:
- UDP: 非安全的不面向链接的传输
- 安全性差
- 大小限制64kb
- 没有顺序
- 速度快
- TCP:
- 基于链接的通信
- SCOKET编程
- socket(套接字):是一个网络通信的端点,能实现不同主机的进程通信,网络大多基于socket通信
- 通过IP+端口定位对方并发送信息的通信机制
- 分为UDP和TCP
- 客户端Client: 发起访问的一方
- 服务器端Server: 接收访问的一方

- UDP编程:
- Server端流程:
1.建立socket,socket是负责具体通信的一个实例
2.绑定,为创建的socket指派固定的端口和IP地址
3.接受对方发送的内容
4.给对方发送反馈,此步骤为非必须步骤

- Client端流程:
1.建立通信的socket
2.发送内容到指定的服务器
3.接受服务器给定的反馈内容

- 服务器案例v02
- 客户端案例v01
- 服务器要求不死,也就是永久运行
- 服务器改造版v03

- TCP编程
- 面向链接的传输,即每次传输之前需要先建立一个链接
- 客户端和服务器端两个程序需要编写
- Server端的编写流程
1. 建立socket负责具体通信,这个socket其实只负责接收对方的请求,真正通信的是链接后重新建立的socket
2. 绑定端口和地址
3. 监听接入的访问socket
4. 接收访问的socket,可以理解接收访问即建立了一个通讯的链接通路
5. 接收对方的发送内容,利用接收到的socket接收内容
6. 如果有必要,给对方发送给反馈信息
7. 关闭链接通路
- Client端的编写流程
1. 建立通信socket
2. 链接对方,请求跟对方建立通路
3. 发送内容到对方服务器
4. 接收对方的反馈
5. 关闭链接通路
- 案例v04 v05

# FTP编程
- FTP(文件传输协议)
- 用途:定制一些特殊的上传下载文件的服务
- 用户分类: 登录ftp服务器必须有一个账号
- Real账户: 注册账户
- Guest账户: 可能临时对某一类人的行为进行授权
- Anonymous账户: 匿名账户,允许任何人
- FTP工作流程
1. 客户端连接远程主机上的FTP服务器
2. 客户端输入用户和密码(或者"anonymous"和电子邮件地址)
3. 客户端和服务器进行各种文件传输和信息查询操作
4. 客户端从远程FTP服务器退出,结束传输

- FTP文件表示
- 分三段表示FTP服务器上的文件
- HOST: 主机地址,类似于ftp.mozilla.org,以ftp开头
- DIR: 目录,表示文件所在本地路径,例如:pub/android/...
- File: 文件名称,例如 **.apk
- 如果想完整精确表示ftp上某一个文件,需要上述三个部分组合在一起

# HTTP响应报文中的状态码
- 1. 通知信息(100): 服务器正在处理客户请求
- 2. 成功(200): 请求成功
- 3. 重定向(301): 页面改变了位置
- 4. 客户错误(403/404): 禁止的页面/页面未找到
- 5. 服务器错误(500/503): 服务器内部错误/以后再试
posted @ 2018-11-27 21:09  承丶承承承  阅读(144)  评论(0编辑  收藏  举报