2.网络概念-scoket

1 OSI七层网络模型

计算机之间的通信也要遵循不同层次的协议,来实现计算机的通信。
-应用层,表示层,会话层/传输层/网络层/数据链路层,物理层
-TCP/IP网络模型-应用层,传输层,网络层,网络接入层

传输层-TCP/UDP
屏幕快照

TCP可以保证数据的正确性,效率比UDP低,UDP校验和可以省略-UDP无法保证数据的正确性

1.1 传输协议

TCP 需要三次握手来连接数据传输服务
UDP不保证可靠,无连接的数据传输服务

2.1 Socket

http协议的底层是Socket ,Socket-套接字,纯c,通过io传输,网络通信是socket之间通信。
语句:运输层和应用层的过度
特性: 跨平台
过程:
1.创建Socket
2.连接到服务器
3.发送数据/接收数据
4.关闭连接


屏幕快照 2017-12-19 15.19.44.png

2.2socket通信过程

2.2.1.头文件声明

#import <sys/socket.h>
#import<netinet/in.h>
#import<arpa/inet.h>

2.2.2.socket函数实现
参数:domain: AF_INET AF_INET6 AF_LOCAL
type: 流失TCP-SOCK_STREAM 数据报UDP-SOCK_DGRAM
protocol: IPPROTO_TCP、IPPROTO_UDP...
return: 失败-1


屏幕快照 2017-12-19 16.02.40.png

2.2.3.connect函数实现
参数1, 套接字描述服
2,指向数据结构socketaddr的指针-端口和ip地址
3,sockeaddr通过sizeof获取
网络字节用大尾顺序-htons


屏幕快照 2017-12-19 16.03.20.png

2.2.4 mac 开模拟器
nc -lk 12345
nc -> Netcat

3 发送数据给服务器

屏幕快照 2017-12-19 16.20.59.png

4 接收服务器的数据

屏幕快照 2017-12-19 16.34.42.png

5.关闭连接

close(clientSocket);

--

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 1,591评论 0 6
  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 1,485评论 0 2
  • iOS网络HTTP、TCP、UDP、Socket 知识总结OSI 七层模型我们一般使用的网络数据传输由下而上共有七...
    蜗牛也有梦想阅读 1,966评论 0 3
  • 一、网络各个协议:TCP/IP、SOCKET、HTTP等 网络七层由下往上分别为物理层、数据链路层、网络层、传输层...
    杯水救车薪阅读 1,643评论 0 17
  • 网络模型 物理层 物理层表示的是比特流传输,通常包括串口/COM口、并行/LPT口、USB、网线接口、电话线接口;...
    秋风弄影阅读 364评论 0 2
  • 前几天利用Express开发了个小项目,开发登录注册模块时,采用bcryptjs进行密码加密,总结了一下内容:Ex...
    码农苏1024阅读 778评论 0 3
  • 时间是最公平的,每个人一天都是24小时,一年都是365天。但是,不同的人的产出却是天差地别。 人和人的差距为什么这...
    乞丐科技阅读 796评论 0 23
  • 导入 Podfile 里面添加pod ‘QZPTool’, :git => 'https://github.com...
    醉影阅读 39评论 0 0
  • 厌学的特征 对学习失去兴趣,产生厌倦的情绪、冷漠的态度。 认为读书无用,消极的面对学习及逃避学习活动。 对学校、老...
    九梁文化阅读 236评论 0 0