Socket套接字

网络编程

1.服务器端与客户端

BS架构(web网站)

CS架构(client+server)

C/S架构与socket的关系:

我们学习socket就是为了完成C/S架构的开发

2.OSI七层模型

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

 

 每层运行常见物理设备

 

 

详细参考:

http://www.cnblogs.com/linhaifeng/articles/5937962.html#_label4

学习socket一定要学习互联网协议:

1.首先:本节课的目标就是会教你如何基于socket编程,来开发一款自己的C/S架构软件

2.其次:C/S架构的软件(软件属于应用层)是基于网络进行通信的

3.然后:网络的核心即一堆协议,协议即标准,你想开发一款基于网络通信的软件,就必须遵循这些标准。

4.最后:就让我们从这些标准开始研究,开启我们的socket编程之旅

 

 TCP/IP协议族包括运输层、网络层、链路层

注:

ICMP:是Internet控制报文协议,是TCP/IP族的一个子协议,用于在IP主机、路由器之间传递控制消息。

其功能主要有:

1.侦测远端主机是否存在

2.建立及维护路由资料

3.重导资料传输路径

4.资料流量控制

ARP:地址解析协议。是根据IP

3.socket是什么

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,已符合指定的协议。

所以,我们无需深入了解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的

扫盲篇:

1 将socket说成ip+port,ip是用来标识互联网中的一台主机的位置,而port是用来标识这台机器上的一个应用程序,ip地址是配置到网卡上的,而port是应用程序开启的,ip与port的绑定就标识了互联网中独一无二的一个应用程序
2 
3 而程序的pid是同一台机器上不同进程或者线程的标识(Google Chrome会有多个PID)
posted @ 2019-12-05 19:33  韩小花  阅读(222)  评论(0编辑  收藏  举报