python day27

今日内容


知识点补充

import json
from datetime import datetime,date
""" res = {'c1':datetime.today(),'c2':date.today()} print(json.dumps(res)) 返回结果:TypeError: Object of type 'datetime' is not JSON serializable """
class MyJson(json.JSONEncoder):
def default(self, o):
if isinstance(o,datetime):
return o.strftime('%Y-%m-%d %X')
elif isinstance(o,date):
return o.strftime('%Y-%m-%d')
else:
return super().default(self,o)
res
= {'c1':datetime.today(),'c2':date.today()}
print(json.dumps(res,cls=MyJson))

# 多看看源码吧

 

网络编程


软件开发架构

c/s架构(client/server)

  • c:客户端--什么时候想体验服务了,就去找服务端寻求服务
  • s:服务端--24小时不间断提供服务

b/s架构(browser/server)

  • b:浏览器
  • s:服务器

PS:b/s架构本质上也是c/s架构

总结:

  • 手机端看上去CS架构比较火,实际上BS已经在悄悄崛起,手机端之后肯定也是BS比较火
  • 微信支付宝都在做一件事:统一接口
  • 学习网络编程,就可以开发一个cs架构的软件
  • 学习并发,数据库,前端,Django就可以开发一个bs架构的软件

网络编程发展史

任何先进的技术最早都来源于军事

总结:

  • 要实现远程通信第一个需要具备的条件是:物理连接介质
    • 1.早期的电话----电话线

    • 2.老式电脑----网线

    • 3.笔记本电脑/无线电话----网卡

  • 人要想实现无障碍交流,必须要说统一的语言,而计算机与计算机之间要想实现远程通信除了有物理连接介质之外还需要有一套公共的标准/协议

OSI协议

OSI七层协议
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层
OSI五层协议
应用层
传输层
网络层
数据链路层
物理连接层
OSI五层协议详述

1.物理连接层

  基于电信号传输二进制数据

2.数据链路层

  • 1.规定的电信号的分组方式
  • 2.规定了任何一台接入互联网的计算机都必须有一块网卡,且每一块网卡上面都刻有世界上独一无二的编号(mac地址)
    • mac地址(12位16进制数)
      • 前6位是厂商编号
      • 后6位是流水线编号

PS:以上两点合称为"以太网协议"

3.网络层

  IP协议:规定了只要是接入互联网的计算机都必须有一个IP地址

  ip地址特点:点分十进制

  ip地址最小:0.0.0.0

  ip地址最大:255.255.255.255

  ip地址目前有两个版本:IPV4 IPV6

 

4.传输层

  • TCP\UDP都是基于端口工作的协议
  • 端口(port):用来唯一标识一台计算机上的某个应用程序
    • 端口号的范围:0~65535
    • 注意:0~1024这些都是操作系统默认使用的端口号
    • 建议:使用8000之后的端口
      • MySQL默认端口:3306
      • Redis默认端口:6379
      • django默认端口:8000
      • flask默认端口:5000
    • 端口号是动态分配的
    • 程序被分配到端口号后,重新启动时会被重新分配另一个端口号

5.应用层

  • HTTP协议
  • FTP协议

局域网与交换机:

交换机

广域网与路由器:

路由器

 


总结:

  • 由于IPV4已经不够表示目前存在的计算机了 所以推出了IPV6版本
  • 互联网是由若干个局域网互相连接而成的
  • 计算机与计算机之间其实是计算机上的应用程序与应用程序之间的通信
  • 交换机:基于以太网协议通信,不能跨局域网通信
  • ip地址:用来唯一标识接入互联网的一台计算机
  • port端口:用来唯一标识一台计算机上的某个应用程序
  • ip+port:唯一标识接入互联网一台计算机上的某个应用程序
  • TCP协议:
    • 流式协议,可靠协议
    • 基于TCP协议通信,必选先建立双向通道
    • TCP协议传输数据之所以可靠的原因就在于有双向通道这句话是错误的,因为正确的原因是因为TCP协议的传输具有反馈机制

基于TCP协议传输数据:三次握手四次挥手

三次握手四次挥手(图解)

其中TIME_WAIT就是Client客户端等待Server服务端返回消息数据的等待时间

且建立连接时有两步操作:

  • ACK=x + 1传输数据
  • SYN seq=y允许传输操作

上面两步操作可合为一步

三次握手建连接 (图解)

四次挥手断连接(图解)

转载于:https://www.cnblogs.com/zhukaijian/p/11311454.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

I must be strong and carry on

扔掉的东西,特别是在时间里丢掉的,永远也回不来了。如我的正在逝去青春。 相信命运和缘分的东西。为什么自己会在这里,会认识周围的人,会和他们成为很好的朋友。努力完成自己的事情,不管成败。成则不骄,败则…

动态css语言less,less让css具有动态语言的特性

Less 是一种样式语言,它将 css 赋予了动态语言的特性,如变量、 继承、 运算、 函数。less 既可以在客户端上运行(支持IE 6, Webkit, Firefox),也可以借助 Node.js 或者 Rhino 在服务端运行。Less 做为 css 的一种形式的扩展,它并没…

硬件_LED

LED 平台&#xff1a;全志A64 源码&#xff1a;Android 7.1 Linux 3.1 led.c 1 //没有使用平台总线2 3 #include <linux/init.h>4 #include <linux/module.h>5 #include <linux/fs.h>6 #include <linux/device.h>7 #include <linux/slab.h>8 #i…

思科考试报名流程

有考生经常来信来电咨询&#xff0c;关于认证注册和考试报名流程的相关内容&#xff0c;针对这点中国思科注册网就为大家整理了以下详细的解释。 1、报名地点及联系方式&#xff1a;思科考试报名地点&#xff1a;a.选择您所在城市报名点报名&#xff1b;b.选择中国思科注册网报…

水星路由器DNS服务器未响应,水星路由器进不去设置怎么办

摘 要水星路由器进不去设置怎么办&#xff1f;这里要分两种情况&#xff0c;旧版水星路由器与新版水星路由器一、旧版水星路由器 1、当打开水星路由器设置页面&#xff0c;如果提示你输入用户名和密码&#xff0c;如下图所示。说明这是一台旧版本的水星路由器水星路由器进不去设…

DotNet程序员是不是最不幸福?

自我学C#和ASp.net时就来逛DotNet区&#xff0c;总是时不时有人问“学.net是不是没有前途&#xff1f;”&#xff0c;总是有人“报怨.net程序人收入比某某要低”。还有人说“在中国&#xff0c;程序人干不到老。”我也曾心动过&#xff0c;想过放弃。 但是&#xff0c;冷静下来…

zookeeper 简介

什么是ZookeeperZookeeper是一个分布式开源框架&#xff0c;提供了协调分布式应用的基本服务&#xff0c;它向外部应用暴露一组通用服务——分布式同步&#xff08;Distributed Synchronization&#xff09;、命名服务&#xff08;Naming Service&#xff09;、集群维护&#x…

discuz的ajax,discuz分页函数改成基于jqueryd的ajax分页函数

/***AJAX分页*$num 为总共的条数 比如说这个分类下共有15篇文章*$perpage为每页要显示的条数*$curpage为当前的页数*$url为请求路径&#xff0c;*$obj为html对象&#xff0c;返回给jqery处理*$page为$multipage这个字符串中要显示的表示页数的变量个数*$maxpages为最大的页数…

北大青鸟:比尔盖茨:我在微软的10大失误

北大青鸟&#xff1a;比尔盖茨&#xff1a;我在微软的10大失误来源&#xff1a;[url]http://www.accp-teem.com.cn/ArticleView/2007-7-11/Article_View_1172.Htm[/url] 微软上周四宣布&#xff0c;从2008年7月开始&#xff0c;董事会主席比尔盖茨将不再负责公司的日常管理&…

网格 优化光顺

简介 网格光滑在计算机图形学中广泛应用。因为从自然界采集的雕像带有很多的噪声。本文对 论文 Laplacian Mesh Optimization 当然错误难以避免&#xff0c;本人水平不足造成错误&#xff0c;希望读者能给予我及时的反馈&#xff0c;本人感激不尽 使用简介 Laplacian Mesh Opti…

2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)

在.NET Framework中&#xff0c;System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换&#xff1a; Convert.ToInt32(string value, int fromBase)&#xff1a; 可以把不同进制数值的字符串转换为数字&#x…

小程序的服务器怎么与数据库连接,小程序怎么连接服务器数据库

小程序怎么连接服务器数据库 内容精选换一换“数据导出”章节适用于MRS 3.x及后续版本。Loader是实现MRS与关系型数据库、文件系统之间交换数据和文件的ETL工具&#xff0c;支持将数据或者文件从MRS系统中导出到关系型数据库或文件系统中。Loader支持如下数据导出方式&#xff…

iPad软件提交注意事项

这是CocoaChina会员 "stlau"根据自己的iPad软件提交经验总结的注意事项&#xff0c;希望大家留意一下&#xff0c;避免软件被苹果审核人员拒绝放行。帖 子地址 http://www.cocoachina.com/bbs/read.php?tid-17119.html肯 定会被拒的情况&#xff1a;1. app命名&…

SQL Assistant v2.5.12 序列号

715253-4G50IRL-1L44-5055 715253-4G50IRL-SL44-5055 715253-4G50IRL-EL44-5055转载于:https://www.cnblogs.com/hzuIT/articles/830208.html

啪啪三国2获取服务器信息,啪啪三国2怎么快速的获得资源?

啪啪三国2&#xff1a;在啪啪三国2手游中有很多特色的玩法&#xff0c;还有很多资源&#xff0c;游戏中有很多地方需要用到&#xff0c;有点供不应求的感觉&#xff0c;很多玩加都想要快速的获得各种资源。小伙伴们知道该怎么快速获得吗&#xff1f;这里小编就给大家来详细的介…

git上传文件过大如何删除

参考链接 https://my.oschina.net/jfinal/blog/215624?fromerrZTZ6c38X 转载于:https://www.cnblogs.com/eat-too-much/p/11318085.html

向Window窗体发送消息,控制程序的运行.

下面是对Windows Media Player进行控制的操作示例.1.运行Windows Media Player;2.运行spyxx.exe,点击"日志消息"图标,在弹出的"消息选项" 窗体中,将"查找程序 工具"图标拖至 Windows Media Player 窗体上;3.点击" 消息"选项卡,选取W…

更新MySQL复制 自动监控脚本

具体代码请见&#xff1a; MySQL复制 自动监控脚本增加了判断slave落后于master多少秒的机制。本文出自 “MySQL中文网”博客 http://www.imysql.cn/转载于:https://blog.51cto.com/imysql/308256

网格参数化和网格的形变,同实验室的人实现。

简介 网格参数化和网格的形变&#xff0c;同实验室的人实现。 参考链接 gitee 转载于:https://www.cnblogs.com/eat-too-much/p/11319920.html

Prototype1.5.1源代码解读分析-3

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> BrowserFeatures BrowserFeatures&#xff08;浏览器特征&#xff09;的值也是一个对象。内容如下&#xff1a; { XPath: !!document.evaluate, ElementExtensions: !!window.HTMLEl…