计算机网络(九)——简述Socket
简介
上图即为网络的基本层级结构
应用层:各种网络应用软件,有其对应的端口(浏览器、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相关推荐
- 分时系统是计算机网络嘛,简述计算机网络与分时多用户系统多机系统分布式系统的区别...
简述计算机网络与分时多用户系统多机系统分布式系统的区别 简述计算机网络与分时多用户系统.多机系统.分布式系统的区别一.计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路 ...
- 【计算机网络】python——socket编程(TCP/UDP)
前言 以前做了实验都是直接分享实验报告.反思了一下,实验报告又臭又长,最多只有同做这个实验的朋友会耐着性子看一看.为了提供更有效的知识分享,能为更多的朋友提供一些参考,以后的文章我都会尽量主题鲜明,简 ...
- 【计算机网络 23】Socket技术详解
一.什么是Socket 在计算机通信领域,socket 被翻译为"套接字",它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台计算机可以接收其他计算机的 ...
- 计算机网络课程设计-Socket网络通信(C++, MacOS)
实验要求: 利用Socket实现双机通信 实验目的: 利用Socket编程,采用其中的TCP面向连接方式,实现计算机数据的交换 具体要求: 操作系统:可在Linux或Windows操作系统下实现 编程 ...
- 《计算机网络自顶向下》Socket Lab2 UDP Pinger Lab
文章目录 前引 Lab2 UDP Pinger Lab Lab2 文档查阅 创建Client 客户端代码 Lab2 检验Lab实验成果 前引 各位好 第二个Lab 刚刚才做完 第二个Lab就是实现一个 ...
- 计算机网络实验设计-利用Socket实现双机通信
文章目录 实验目的: 具体要求: 我的实现程度 思路 关键代码和解释 实验目的: 利用 Socket 来实现双机通信,理解 TCP 状态机图 实验内容:使用 Socket 编程,采用其中的 TCP 面 ...
- 计算机网络定义简述。
计算机网络的定义 网络是一个统称,泛指把人或物互连在一起而形成的系统. 主流的三大类网络便包括:电信网络,有线电视网络,以及计算机网络.而计算机网络又融合了电信网络和有限电视网络. 计算机网络定义并未 ...
- 计算机网络(九)-物理层(补充)-傅里叶变换-信道复用
一.几个术语 1.码元------在使用时间域(时域)的波形表示数字信号时,代表不同离散数值的基本波形. 2.调制------把数字信号转换为模拟信号的过程. 3.解调------把模拟信号转换为数字 ...
- 计算机网络九:IP地址、子网掩码、默认网关、DHCP服务器、DNS服务器、WINS服务器...
一.IP地址与子网掩码 1.IP地址 ipv4下,ip地址=网络号+主机号. 2.子网掩码 子网掩码(subnet mask)又叫网络掩码.地址掩码.子网络遮罩,它是一种用来指明一个IP地址的哪些位标 ...
最新文章
- 近期工作:Updater Application Block (UAB)继续
- iOS 正则表达式使用的三种方式语法
- LiveVideoStackCon 2021北京站 9月再次启航!
- CodeForces 468 CHack it!
- 2021福州地区高考成绩排名查询,2021年福州各高中高考成绩排名及放榜最新消息...
- 【5分钟Paper】Fast强化学习和Slow强化学习
- 大有可为,忍不住再说下 !
- linux如何查看python的版本_Python基础知识:如何检查 Python 版本
- 如何在Mac电脑中获取最高权限删除顽固文件?
- 6.28lol服务器维护,LOL6月28日无法连接至验证服务怎么回事 6.28进不去游戏怎么办?...
- Windows10系统迁移
- .net mysql 博客_asp.net搭建博客,使用BlogEngine.NET+MySql搭建博客
- 用了python抢购京东茅台脚本,为什么你还是抢不到茅台?教你这样设置时间,提升成功概率
- 如何用计算机控制ipad,躺在床上玩电脑,使用ipone ipad远程控制LAN计算机-ipad如何连接到计算机...
- PVM and MPI 比较
- 王者服务器维护8月四日,王者荣耀体验服弈星重做上线 8月4日停机更新
- if(!ispostback)其用法和作用 什么时候该用?
- CND(内容分发网络)前端的使用
- bool变量的使用(整理)
- 【ceph】什么是Ceph?------(MinIO和ceph的区别|GFS(GlusterFS)、MFS、Ceph、Lustre|文档)...
热门文章
- 使用transforms.Compose套件做图像数据变换
- 部署可道云_可道云-快速搭建个人用云网盘
- 简述python常用的函数模块_Python学习笔记(十三)—函数常用模块
- 不设置DIV的宽高,让它相对于页面水平垂直居中
- Python学习之路—初识Python
- iOS开发日记46-倒计时效果的实现
- 强大的PHP给图片加水印
- log4j.appender.stdout.layout.ConversionPattern
- 超外差和超再生模块有何区别?
- 终端安装解决svn cannot set LC_CTYPE locale的问题