网络基础相关的知识 socket模块
1、架构
1、C/S架构:client客户端和server服务器端
优势:能充分发挥pc机的性能
2、B/S架构:browser浏览器和server服务器 隶属于C/S架构
B/S架构 统一了应用的接口
2、通信的事
a、同一台电脑上两个py程序通信:打开一个文件
b、两个电脑如何通信:连一个网线
c、多个电脑通信:
ex:电脑1(源)要找电脑2(目标)
电脑1首先发送一个请求帧,其中包含(我的IP地址和mac地址,以及我要找的IP地址的主机),将此请求发送给交换机。
交换机要广播这条消息给其他所有的主机
目标主机接收到消息后,对比发现自己就是被找的主机,回复给交换机信息(IP地址,mac地址请回复给IP地址为XXX,mac地址为XXX的主机)
交换机单播形式返回给源主机
3、知识点
1、mac地址:是一个物理地址
2、IP地址:是一个四位点分十进制,它标识了计算机在网络中的位置。
3、交换机的通信方式:
广播:发送给所有的主机
单播:一对一
组播:一对多
4、arp协议:通过目标IP地址获取目标mac地址的一个协议。
5、端口:操作系统为本机上每一个运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序。
6、路由器:连接不同网段,路由
7、网关:类似于一个局域网的出口和入口
8、网段:一个局域网的IP地址范围
9、子网掩码:子网掩码&IP地址得到网段
10、osi五层模型:
应用层:http,https,ftp
http:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。
https:HTTP的安全版
ftp:FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。
传输层:tcp/udp 四层交换机 四层路由器
tcp:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
udp:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向报文的简单不可靠信息传送服务,(快)
网络层:IP协议 路由器 三层交换机
数据链路层:arp协议 以太网交换机 网卡 网桥
物理层:传输电信号 中继器、集线器、网线、光纤
4、socket 模块 又叫做套接字模块
sk = socket.socket(family = AF_INET, type=SOCK_STREAM)
family:
AF_UNIX基于文件类型的套接字(源自于unix)
AF_INET基于网络类型的套接字
一种是基于TCP协议 SOCK_STREAM
一种是基于UDP协议 SOCK_DGRAM
unix系统的中心思想:一切皆文件
# 客户端
import socket
import time
sk = socket.socket()
sk.connect(("192.168.12.47",8080)) # 8080为端口号
6 sk.send("中文".encode("utf-8")
7 time.sleep(10)
8 sk.close()
# 服务器端
import socket
import time
sk = socket.socket() # 不传参数,默认使用基于网络类型的套接字,协议:TCP
sk.bind(("192.168.12.47",8080))
sk.listen() # 同时能接收的连接
conn,addr = sk.accept() # 等待接收客户端的连接 组赛等待
msg_r = conn.recv(10) # 接收数据,接收10个字节
print("conn:",conn)
print("addr:",type(addr))
print(msg_r.decode("utf-8"),addr)
time.sleep(10)
conn.close()
sk.close()
5、tcp、udp的流程图
tcp流程图:
udp流程图:
网络基础相关的知识 socket模块的更多相关文章
- day 28 网络基础相关的知识
1.网络基础相关的知识 架构 C/S 架构: client 客户端 server服务器端 优势: 能充分发挥PC机的性能 B/S 架构: browser 浏览器 server服务器 隶 ...
- Python网络编程(2)——socket模块(2)
目录: 1. 异常 2. 地址族 3. 套接字类型 4. 模块方法 5. Socket对象与实例方法 socket模块提供了Python中的低层网络连接接口,用于操作套接字操作. 异常 socket模 ...
- 网络基础知识 tcp
网络基础相关的知识(1)架构a. C / S架构: client客户端和server服务器端 优势: 能充分发挥PC机的性能b. B / S架构: browser浏览器和server服务器 隶属于C ...
- 网络基础,tpc,udp
一 , 网络基础相关知识 1. 架构 (重点) C / S 架构 : client 客户端(APP) 和 server 服务器端 能充分发挥pc机的性能 B / S 架构 : browser 浏览器 ...
- Python开发基础-Day23try异常处理、socket套接字基础1
异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...
- 网络编程基础:网络基础之网络协议、socket模块
操作系统(简称OS)基础: 应用软件不能直接操作硬件,能直接操作硬件的只有操作系统:所以,应用软件可以通过操作系统来间接操作硬件 网络基础之网络协议: 网络通讯原理: 连接两台计算机之间的Intern ...
- Python网络编程基础 ❶ 计算机网络基础 初用socket模块
1.计算机网络基础 C/S 客户端/服务器端 B/S 浏览器端/服务器端 mac地址,ip地址,子网掩码,与计算得到网段,端口号每台计算机的网卡都有全球唯一的地址,在生产时已经写进去了. ip地址 ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- Linux运维笔记(一)网络基础知识
网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...
随机推荐
- Spring IOC - 控制反转(依赖注入) - 单例和多例
Spring容器管理的bean在默认情况下是单例的,即一个bean只会创建一个对象,存在map中,之后无论获取多少次该bean,都返回同一个对象. Spring默认采用单例方式,减少了对象的创建,从而 ...
- 去除adb传输中的^M
学习sed过程中,在文本中每行追加内容,发现使用adb会在行末追加一个看不到^M. 场景一:adb保存到文件 adb shell ps|head -n 10 > text.txt,使用sed进行 ...
- python appium增加方法
1.测试过程中发现python client没有拨打电话的方法,因此去添加该方法 1.1查看源码 appium-base-driver/blob/master/lib/protocol/routes. ...
- ios关闭自动更新
iPhone系统更新超级烦人,避免测试机升级的方法 1. 设置禁用网络 设置-网线局域网-使用WLAN与蜂窝移动网的应用,将设置项设置为关闭 2. 一劳永逸,安装证书, 证书https://oldca ...
- Centos 6.5 升级python到版本2.7.12
查看python版本: python --version 1.下载Python-2.7.12 wget https://www.python.org/ftp/python/2.7.12/Python- ...
- override的实现原理
转载 http://blog.csdn.net/fan2012huan/article/details/51007517 基于基类的调用和基于接口的调用,从性能上来讲,基于基类的调用性能更高 .因为i ...
- volotile关键字的内存可见性及重排序
在理解volotile关键字的作用之前,先粗略解释下内存可见性与指令重排序. 1. 内存可见性 Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存,并且线程 ...
- Hadoop2.0构成之HDFS2.0
HDFS2.0之HA 主备NameNode: 1.主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换: 2.主NameNode的信息发生变化后,会将信息写到共享数 ...
- python装饰器(docorator)详解
引言: 装饰器是python面向对象编程三大器之一,另外两个迭代器.生成器只是我现在还没有遇到必须使用的场景,等确实需要用到的时候,在补充资料:装饰器在某些场景真的是必要的,比如定义了一个类或者一个函 ...
- openStack虚拟机error 错误状态基于差异镜像+基镜像做恢复