简介


上图即为网络的基本层级结构
应用层:各种网络应用软件,有其对应的端口(浏览器、QQ……)
运输层:为数据从一个主机传输到另一个主机制定的协议(TCP(三次握手)、UDP)
网络层:定义IP地址,明确了主机所在的网段
链路层:定义了MAC地址,局域网内部寻址

何为Socket?
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。个人理解:Socket将TCP/IP协议的实现放入了黑箱,无论是硬件实现还是软件实现,对应用层而言,只需传入传入协议、目标IP、目标端口等一些参数即可。

上图将Socket的作用描绘得很清楚。

Socke的应用流程


服务器与客户端交换信息的过程:
1.初始化Socket
2.与端口绑定bind()(作为服务器,提供什么样的服务,端口号就必须固定下来。web服务:80,FTP服务:21……端口号小于1024的是Internet标准服务的端口,端口号大于1024的,可以随便使用)
3.对端口进行监听listen()
4.如果客户端的Socket连接服务器connect(),若连接成功,客户端与服务器的连接就建立了(TCP三次握手)
5.客户端发送数据请求,服务器接收请求并处理请求,把回应数据发送给客户端,客户端读取数据
Ps:大致读了读w5500的数据手册,硬件上来说,Socket可以存在多个,故服务器其实可以提供多种服务,客观来说,w5500确实方便,硬件集成的网络通信协议省了不少事,近期抽空研究研究。

Reference:https://www.cnblogs.com/goodcandle/archive/2005/12/10/294652.html

计算机网络(九)——简述Socket相关推荐

  1. 分时系统是计算机网络嘛,简述计算机网络与分时多用户系统多机系统分布式系统的区别...

    简述计算机网络与分时多用户系统多机系统分布式系统的区别 简述计算机网络与分时多用户系统.多机系统.分布式系统的区别一.计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路 ...

  2. 【计算机网络】python——socket编程(TCP/UDP)

    前言 以前做了实验都是直接分享实验报告.反思了一下,实验报告又臭又长,最多只有同做这个实验的朋友会耐着性子看一看.为了提供更有效的知识分享,能为更多的朋友提供一些参考,以后的文章我都会尽量主题鲜明,简 ...

  3. 【计算机网络 23】Socket技术详解

    一.什么是Socket 在计算机通信领域,socket 被翻译为"套接字",它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台计算机可以接收其他计算机的 ...

  4. 计算机网络课程设计-Socket网络通信(C++, MacOS)

    实验要求: 利用Socket实现双机通信 实验目的: 利用Socket编程,采用其中的TCP面向连接方式,实现计算机数据的交换 具体要求: 操作系统:可在Linux或Windows操作系统下实现 编程 ...

  5. 《计算机网络自顶向下》Socket Lab2 UDP Pinger Lab

    文章目录 前引 Lab2 UDP Pinger Lab Lab2 文档查阅 创建Client 客户端代码 Lab2 检验Lab实验成果 前引 各位好 第二个Lab 刚刚才做完 第二个Lab就是实现一个 ...

  6. 计算机网络实验设计-利用Socket实现双机通信

    文章目录 实验目的: 具体要求: 我的实现程度 思路 关键代码和解释 实验目的: 利用 Socket 来实现双机通信,理解 TCP 状态机图 实验内容:使用 Socket 编程,采用其中的 TCP 面 ...

  7. 计算机网络定义简述。

    计算机网络的定义 网络是一个统称,泛指把人或物互连在一起而形成的系统. 主流的三大类网络便包括:电信网络,有线电视网络,以及计算机网络.而计算机网络又融合了电信网络和有限电视网络. 计算机网络定义并未 ...

  8. 计算机网络(九)-物理层(补充)-傅里叶变换-信道复用

    一.几个术语 1.码元------在使用时间域(时域)的波形表示数字信号时,代表不同离散数值的基本波形. 2.调制------把数字信号转换为模拟信号的过程. 3.解调------把模拟信号转换为数字 ...

  9. 计算机网络九:IP地址、子网掩码、默认网关、DHCP服务器、DNS服务器、WINS服务器...

    一.IP地址与子网掩码 1.IP地址 ipv4下,ip地址=网络号+主机号. 2.子网掩码 子网掩码(subnet mask)又叫网络掩码.地址掩码.子网络遮罩,它是一种用来指明一个IP地址的哪些位标 ...

最新文章

  1. 近期工作:Updater Application Block (UAB)继续
  2. iOS 正则表达式使用的三种方式语法
  3. LiveVideoStackCon 2021北京站 9月再次启航!
  4. CodeForces 468 CHack it!
  5. 2021福州地区高考成绩排名查询,2021年福州各高中高考成绩排名及放榜最新消息...
  6. 【5分钟Paper】Fast强化学习和Slow强化学习
  7. 大有可为,忍不住再说下 !
  8. linux如何查看python的版本_Python基础知识:如何检查 Python 版本
  9. 如何在Mac电脑中获取最高权限删除顽固文件?
  10. 6.28lol服务器维护,LOL6月28日无法连接至验证服务怎么回事 6.28进不去游戏怎么办?...
  11. Windows10系统迁移
  12. .net mysql 博客_asp.net搭建博客,使用BlogEngine.NET+MySql搭建博客
  13. 用了python抢购京东茅台脚本,为什么你还是抢不到茅台?教你这样设置时间,提升成功概率
  14. 如何用计算机控制ipad,躺在床上玩电脑,使用ipone ipad远程控制LAN计算机-ipad如何连接到计算机...
  15. PVM and MPI 比较
  16. 王者服务器维护8月四日,王者荣耀体验服弈星重做上线 8月4日停机更新
  17. if(!ispostback)其用法和作用 什么时候该用?
  18. CND(内容分发网络)前端的使用
  19. bool变量的使用(整理)
  20. 【ceph】什么是Ceph?------(MinIO和ceph的区别|GFS(GlusterFS)、MFS、Ceph、Lustre|文档)...

热门文章

  1. 使用transforms.Compose套件做图像数据变换
  2. 部署可道云_可道云-快速搭建个人用云网盘
  3. 简述python常用的函数模块_Python学习笔记(十三)—函数常用模块
  4. 不设置DIV的宽高,让它相对于页面水平垂直居中
  5. Python学习之路—初识Python
  6. iOS开发日记46-倒计时效果的实现
  7. 强大的PHP给图片加水印
  8. log4j.appender.stdout.layout.ConversionPattern
  9. 超外差和超再生模块有何区别?
  10. 终端安装解决svn cannot set LC_CTYPE locale的问题