比如说实现两个手机之间的通信,需要做的几部: 服务端: 1,买手机 2,插卡 3,开机 4,等电话链接 5,基于建立的链接,收发协议 6,挂电话 7,关机 import socket #买手机 phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #插卡 phone.bind(('127.0.0.1',8080)) #开机 phone.listen(5) #等电话链接 print('server start...') conn,client…
网络协议 TCP:网络中传输数据的协议,打电话 解决了我可能在网络中找不到别人(数据无法传输到) 保证数据传输的稳定性,可靠性 保证数据的安全性,完整性 对方要有响应 尝试重新发送 UDP:传输数据的协议 不可靠的 只负责发 效率非常高,视频流:UDP协议 TCP三次握手和四次挥手以及11种状态 三次握手 置位概念:根据TCP的包头字段,存在3个重要的标识ACK.SYN.FIN ACK:表示验证字段 SYN:位数置1,表示建立TCP连接 FIN:位数置1,表示断开TCP连接 三次握手过程说明: …
学习python中使用python进行网络编程,编写简单的客户端和服务器端进行通信,大部分内容来源于网络教程,这里进行总结供以后查阅. 先介绍下TCP的三次握手: 1,简单的发送消息: 服务器端: import socket sk = socket.socket() ip_port = ("127.0.0.1", 8888) sk.bind(ip_port) sk.listen(5) print("正在进行等待接受数据...") conn, address = sk…
Redis网络协议较为简单,易于阅读. 命令或数据已\r\n结尾,但除了状态回复,其他数据都是二进制安全的(包含长度) 头部如下: + 正确的状态信息,具体信息是当前行+后面的字符. -  一条错误信息,具体信息是当前行-后面的字符. * 表示消息共有多少行,不包括当前行,*后面是具体的行数. $ 表示下一行数据长度,不包括换行符长度\r\n,$后面接对应的长度的数据. : 表示返回一个数值,:后面是相应的数字节符. 其中$用于指定长度. 请求和回复都是这种格式. 例子: * $ hi $ he…
前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容.默认端口是80. 1.HTTP 0.9版本 1991年 这个版本就是最初用来向客户端传输HTML页面的,所以只有一个GET命令,然后服务器返回客户端一个HTML页面,不能是其他格式.利用这个版本完全可以构建一个简单的静态网站了. 2.HTTP 1.0版本 1996…
系列文章传送门: 网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网络协议 5 - ICMP 与 ping:投石问路的侦察兵 网络协议 6 - 路由协议:敢问路在何方? 网络协议 7 - UDP 协议:性善碰到城会玩 网络协议 8 - TCP 协议(上):性恶就要套路深 网络协议 9 - TCP协议(下):聪明反被聪明误 网络协议 10 - Socket 编程(上)…
TCP: TCP/IP通过三次握手建立一个连接.这一过程中的三种报文是:SYN,SYN/ACK,ACK. 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始. 如果你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项.选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择.选择合适的flag,tcp.flags.syn并且加上==1.点击Find,之后trace中的第一个SYN报文就会高亮出来了…
OSI七层模型及每层的作用 包括:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层物理层用来建立.维护.断开物理连接数据链路层建立逻辑链接.进行硬件地址寻址.差错校验等功能网络层进行逻辑地址寻址,实现不同网络之间的路径选择传输层定义传输数据的协议端口号,以及流程和差错校验协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层会话层建立.管理.终止回话表示层数据的表示.安全.压缩应用层网路服务于最终用户的一个借口协议有:HTTP FTP TFTP SMTP SNMP DNS TELN…
linux的内核将全部的外部设备都看作一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令 ,返回一个file descriptor(fd.文件描写叙述符).而对一个socket的读写也会有对应的描写叙述符.成为socketfd (socket描写叙述符),描写叙述符就是一个数字,它指向内核中的一个结构体(文件路径.数据区等一些属性). 依据unix编程对I/O模型的分类,unix提供了5种I/O模型.各自是: (1)堵塞I/O模型:最常使用的就是堵塞I/O模型,在默认条件下全部的文件操…
DNS 服务器:域名解析 socket 套接字 : ​ socket 是处于应用层与传输层之间的抽象层,也是一组操作起来非常简单的接口(接受数据),此接口接受数据之后,交由操作系统 为什么存在 socket 抽象层? 如果直接与操作系统数据交互非常的麻烦,繁琐,socket 对这些繁琐的操作高度的封装,简化 socket 在 Python 中就是一个模块 基于 TCP 协议的 socket 的简单通信 serve import socket # 买电话 phone = socket.socket…