网络编程

相关概念

  • OSI七层模型:开放系统互连参考模型。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
  • TCP/IP:在OSI七层模型的基础上简化抽象出来的一套网络协议簇,现在得到了广泛使用。
  • TCP:传输控制协议
    • 有连接的,数据是安全有保障的
    • 传输的速度稍慢,三次握手、四次挥手、数据检查
  • UDP:用户数据报协议
    • 无连接的,数据是不可靠的
    • 传输的速度比较快
  • IP地址:唯一的一台计算标识
    • 查看:ipconfig
  • ping:检查网络连通性
    • 使用:ping IP/域名
  • 端口号:每个应用可以拥有唯一的端口号
    • 范围:0~65535
    • 系统:0~1024,常用的应用所占用
      • http:80
      • https:443
      • smtp:25
      • ftp:21
      • ssh:22
      • mysql:3306
      • redis:6379
    • 自己:大于1024
  • 网络编程核心:
    • IP + 端口
    • 库:socket

TCP协议

  • 说明:面向连接、数据可靠(校验重发)、三次握手、四次挥手、传输速度较慢
  • 原理:见tcp.png
  • 示例:见01-tcp-http.py
  • TCP协议的服务器与客户端:见02-tcp-server.py03-tcp-client.py

UDP协议

  • 说明:面向无连接的、数据不可靠、传输速度较快,适应于对数据要求不严格的情况
  • 原理:见udp.png
  • 示例:模拟飞秋发送数据,见04-udp-feiqiu.py
  • UDP协议的服务器与客户端:见05-udp-server.y06-udp-client.py

StringIO与BytesIO

  • 说明:这些类型的对象可以与open返回的对象一样操作,但是操作的内存中的数据
  • 方法:getvalue用于获取所有数据

Python基础—16-网络编程的更多相关文章

  1. 周末班:Python基础之网络编程

    一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据, ...

  2. python基础(29):网络编程(软件开发架构、网络基础、套接字初使用)

    1. 软件开发架构 我们了解的程序之间通讯的应用可分为两种: 第一种是应用类:qq.微信.百度网盘.腾讯视频这一类是属于需要安装的桌面应用. 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就 ...

  3. Python 基础之----网络编程

    阅读目录 一 客户端/服务端架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 八 基于UDP的套接字 九 粘包现象 ...

  4. python基础:网络编程

    一.网络编程 简而言之,就是通过代码打开一个url,获得返回结果并做处理.通常所说的python爬虫,就属于网络编程 二.urllib模块进行网络编程 这个方法很繁琐,不建议使用.了解 示例1: 获取 ...

  5. 【Python之路】第八篇--Python基础之网络编程

    Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  6. python渗透测试入门——基础的网络编程工具

    <Python黑帽子--黑客与渗透测试编程之道学习>这本书是我在学习安全的过程中发现的在我看来十分优秀的一本书,业内也拥有很高的评价,所以在这里将自己的学习内容分享出来. 1.基础的网络编 ...

  7. Python基础:函数式编程

    一.概述 Python是一门多范式的编程语言,它同时支持过程式.面向对象和函数式的编程范式.因此,在Python中提供了很多符合 函数式编程 风格的特性和工具. 以下是对 Python中的函数式编程 ...

  8. 第六篇:python高级之网络编程

    python高级之网络编程   python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...

  9. python基础之socket编程 (转自林海峰老师)

    python基础之socket编程   阅读目录 一 客户端/服务器架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 ...

  10. Python 基础之socket编程(一)

    Python 基础之socket编程(一) 可以进行通信玩儿了,感觉不错不错,网络通信就像打电话,我说一句你听一句之后,你再说一句,我听一句,就这样.....下去了.不扯淡了,来来来,看看今天都搞了点 ...

随机推荐

  1. [转]Load ASP.NET MVC Partial Views Dynamically Using jQuery

    本文转自:http://www.binaryintellect.net/articles/218ca630-ba50-48fe-af6e-6f754b5894aa.aspx Most of the t ...

  2. 监控节点 xml写入数据库 存储过程

    USE [Appserver] GO /****** Object:  StoredProcedure [AppServer].[ImportNodeRelationData]    Script D ...

  3. mvc表单如何绑定bool类型的属性或变量

    先来看一组代码: 视图代码: @model MvcTest.Controllers.Test @{ Layout = null; } <!DOCTYPE html> <html> ...

  4. DataRow获取数值类型为空或NULL时异常处理

    //获取数据集内容 DataSet ContractDS = dal.GetJHFKStr(jhfubh); //验证数据集是否为空 if (!DataSetUtil.IsNullOrEmpty(Co ...

  5. Html5的localStorage与sessionStorage五种循序渐进的使用方法

    需求:本地记录用户上次输入的内容 使用关键技术:localStorage 第一步:使用jQuery的普通写法 1.JS代码 // 获取window的localStorage对象 var localS ...

  6. EL表达式的内置对象

    在EL表达式中,无需创建就可以使用的对象称之为EL隐藏(隐含.内置)对象.在EL中一共有11个隐藏对象,它们都与Map相似.其中10是Map,一个是 PageContext. 参数隐藏对象 这些隐藏对 ...

  7. 【Spring实战】—— 16 基于JDBC持久化的事务管理

    前面讲解了基于JDBC驱动的Spring的持久化管理,本篇开始则着重介绍下与事务相关的操作. 通过本文你可以了解到: 1 Spring 事务管理的机制 2 基于JDBC持久化的事务管理 Spring的 ...

  8. JSP中include动作与指令

    include指令 JSP中有三大指令:page,include,taglib,之前已经说过了page的用法.这里介绍下include. 使用语法如下: <%@ include file=&qu ...

  9. jQuery插件编写步骤详解

    如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...

  10. SQA1

    客观地验证软件项目产品和工作是否遵循恰当的标准.步骤和需求. 2.将软件质量保证工作及结果通知给相关组别和个人.