python 网络内容: 初识socket
一 C\S架构,客户端服务端架构
客户端(client) : 享受服务端提供的服务 服务端(server) : 给客户端提供服务 B\S 浏览器和服务端 B(browser)
二 网络通信的整个流程(硬件\名词) 集线器:将咱们所有的插上集线器的电脑连通起来
交换机: 升级版集线器
网卡: 接收电信号,网络插口:插网线
mac地址(物理地址): 8C-EC-4B-87-99-D7 16进制的6个数表示,前三位厂商编号,后三位生产流水号
全球唯一的,相当于身份证 广播\单播 广播风暴:首先不安全,拥堵信息 IP地址: 192.168.15.113 四个点分十进制组成
192.168.15.0 -- 192.168.15.255 256 划分广播域
IPv4 :
IPv6 : 6个冒号分十六进制
IPv6 地址: fe80::48c3:8f81:8474:c7d0%2
DHCP协议:自动分配IP地址 子网掩码: 255.255.255.0,
例外一个班的同学的IP地址为:192.168.14.12
192.168.14.12
255.255.255.0 11000000.10101000.00001110.00001100
11111111.11111111.11111111.00000000
11000000.10101000.00001110.00000000
192.168.14.0
计算是否属于同一网段
属于同一个网段的,我们成为属于同一子网 #powerdesigner 制图软件,processon
DNS服务器:域名:www.jd.com -->ip地址
路由器:管理网络,联通外网,并且路由转发,就是转发消息
路由协议:计算最优路径
网关:把关用的,公网IP,也可以说是路由器的IP地址
NAT:网络地址转换,将你局域网的IP地址转换为公网的IP地址,也就是网关的IP地址
局域网\内网
端口:电脑给你创建的标识电脑上的程序用的.
0-65535 ,0-1024 属于电脑内部的一些服务用的,千万别用,8000一般自己写程序的时候都不用. 三.初识socket
例:
服务端:
import socket
#创建了一个socket对象
server = socket.socket() #创建一个手机
ip_port = ('192.168.15.113',8001) #创建了一张电话卡
#绑定IP地址和端口
server.bind(ip_port) #插上电话卡
#监听IP地址和端口 server.listen() #开机
print(11111)
#等待客户端的链接
conn, addr = server.accept() #等着别人给我打电话,阻塞住 #接收消息
from_client_msg = conn.recv(1024) #1024为消息大小,单位B,MB = 1024KB,1KB = 1024B
#接收的消息是bytes类型,需要转换为字符串
from_client_msg = from_client_msg.decode('utf-8')
print(from_client_msg) conn.send('死鬼,十点'.encode('utf-8'))
#关闭链接
conn.close()
server.close() # print(conn)
# print('>>>>',addr)
客户端:
import socket
client = socket.socket() server_ip_port = ('192.168.15.113',8001) #链接服务端
client.connect(server_ip_port) #发消息
client.send('约吗'.encode('utf-8')) #send里面的消息必须是字节类型的 from_server_msg = client.recv(1024) #阻塞住,等待接收消息
from_server_msg = from_server_msg.decode('utf-8')
print(from_server_msg) client.close()
python 网络内容: 初识socket的更多相关文章
- Python网络编程之socket应用
1 引言 本篇主要对Python下网络编程中用到的socket模块进行初步总结.首先从网络基础理论出发,介绍了TCP协议和UDP协议:然后总结了socket中的常用函数:最后通过实际代码展示基本函数的 ...
- python 网络编程:socket(二)
上节地址:Python网络编程:socket 一.send和sendall区别 send,sendall ret = send('safagsgdsegsdgew') #send 发送 ...
- day9学python 类+异常处理+初识socket
类+异常处理+初识socket 类的特点: 1.封装-同其他语言 2.继承 py2 经典类深度优先 新式类类名(object)广度优先py3 都是广度优先 3.多态-python本身无多态 可用方法调 ...
- python学习笔记 - 初识socket
socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- python 网络编程(Socket)
# from wsgiref.simple_server import make_server## def RunServer(environ,start_response):# start_resp ...
- Python网络编程之Socket的简单实现
一.引入 关于Python的网络编程,最基础莫过于socket了. socket,又称“套接字”,网络上的两个程序如果想要实现双向的数据通信,需要建立连接,这个连接的一端就称为一个socket. py ...
- python 网络编程:socket
在学习socket之前,我们先复习下相关的网络知识. OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.OSI七层模型是由国际标准化组织ISO定义的网络的基本结构,不仅包括一 ...
- python网络编程之socket
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Python网络编程之socket编程
什么是Socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...
随机推荐
- 网络编程-----IO
IO模型介绍 阻塞IO 非阻塞 多路复用 异步 IO模型比较分析 selectors 阻塞IO:之前写的所有的socket,recv,accput都是 阻塞原理: 其实多数时间多用到了等待数据那里. ...
- PHP常见错误级别及错误码
数字 常量 说明 1 E_ERROR 致命错误,脚本执行中断,就是脚本中有不可识别的东西出现 举例: Error:Invalid parameters. Invalid parameter name ...
- 《Linux内核原理与分析》第四周作业
课本:第3章 MenuOS的构造 内容总结 计算机的"三大法宝" 存储程序计算机 函数调用堆栈 中断 操作系统的"两把宝剑" 中断上下文切换:保存现场和恢复现场 ...
- 【SpringBoot】数据库操作之整合Mybaties和事务讲解
========================8.数据库操作之整合Mybaties和事务讲解 ================================ 1.SpringBoot2.x持久化数 ...
- oracle-data-mining
create user datamine identified by 123456 QUOTA UNLIMITED ON users; 然后在sqldeveloper工具界面-data miner中, ...
- mysql下载以及安装
因为xampp怎么都连接不上mysql,我感觉有可能是因为装mysql的时候试了很多次才安装成功,之前的mysql没有卸载干净造成的,今天把mysql卸载干净,又重新安装配置环境,但是还是连接不上,然 ...
- golang 写日志到syslog
应用程序可以通过 UNIX domain sockets, UDP or TCP,向syslog守护进程发送日志.syslog守护进程可以在远端. 这样,就可以不用单独收集应用程序的日志了. gola ...
- hadoop 安装过程记录
1)首先配置好了四个linux虚拟机 root pwd:z****l*3 关闭了防火墙 开通了 sshd服务 开通了 ftp服务 配置了 jdk 1.8 配置好了互信 (之前配置的过程忘了!--检查了 ...
- oracle表被锁(delete或update一直处于执行状态)的处理办法。
--首先查看有哪些锁 select /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',null) lock ...
- Android批量验证渠道、版本号(windows版)
功能:可校验单个或目录下所有apk文件的渠道号.版本号,此为windows版,稍后整理Linux版使用说明:1.copy需要校验的apk文件到VerifyChannelVersion目录下2.双击运行 ...