8.6 day27 네트워크 프로그래밍 OSI 일곱 개 계층 프로토콜 모듈 추가 지식 시간

Time Module을 추가 지식


어떤 날짜와 날짜의 차이는 무엇입니까?

date 就是年月日

datetime就是年月时时分秒

다음 코드는 왜 불평 할 것이다?

import json
from datetime import datetime,date

print(datetime.today())
print(date.today())
"""
TypeError: Object of type 'datetime' is not JSON serializable
"""

때문에datetime 和 data所传出的类型并不是json默认能处理的 不能被json序列化

원칙json 处理数据类型用的类是JSONEcoder 你不往dumps里面传cls的类 他就默认用JSONEcoder

JSONEcoder这个类的方法default 定义了他不能序列化时返回的内容

당신은 자신의 JSONEcoder을 상속하는 클래스를 작성하고 기본 메소드를 오버라이드 (override) 할 수있는

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))

# {"c1": "2019-08-06 20:38:50", "c2": "2019-08-06"}

기본 방법 만 해당) (프로세스 json으로 datetime.todat ()와 date.today을하지 다시 작성

당신은 지정된 형태의 출력을 제어 할 수 있습니다

네트워크 프로그래밍


소프트웨어 개발 프레임 워크

C / S 아키텍처 (클라이언트 / 서버)

C : 클라이언트

S : 서버

B / S의 아키텍처 (브라우저 / 서버)

B : 브라우저

S : 서버

추신 : B / s의 아키텍처의 요점은 C / S 아키텍처

모바일 터미널은 / s의, B (APP는 브라우저의 역할을 휴대 전화의 즉 말, 웹 페이지의 모든 서비스) 증가하고있다, 사실, C / s의 아키텍처 (전화 설치, 즉 클라이언트) 더 불을 보인다.

마이크로 채널 Alipay의 한 일을하고있다 : 통합 인터페이스를

휴대 전화의 종료 후 확실히 B / s의 더 불 ​​것으로 예측이다.

서비스 및 고객 특성?

서버 : 24 시간 서비스

클라이언트 : 서비스를 체험 할 않은 경우, 서비스를 요청하기 위해 해당 서버를 갔다

어떤 학습 네트워크 프로그래밍을 사용하고, B / s의 아키텍처 소프트웨어 요구 사항의 개발?

는 C / S 아키텍처 소프트웨어를 개발할 수있는 학습 네트워크 프로그래밍

동시성, 데이터베이스 프론트 엔드, 장고는 B / s의 아키텍처 소프트웨어를 개발할 수 있습니다

네트워크 프로그래밍의 역사

초기의 어떤 첨단 기술은 군에서 파생 된

위로 과거

  1. 초기 전화 전화선
  2. 큰 엉덩이 인터넷 회선
  3. 노트북 무선 전화

원격 최초의 필요성을 달성하기입니다 : 물리적 연결 미디어

사람들은 원활한 커뮤니케이션 통합 언어를 달성하기 위해 말을해야

>>> 英文

원격 컴퓨터와 컴퓨터 사이의 통신에 물리적 인 매체를 더 필요로 또한 연결된다

>>> 一套公共的标准/协议

OSI 일곱 계약

应表会传网数物

응용 프로그램 계층

프리젠 테이션 층

세션 계층

전송 계층

네트워크 계층

데이터 링크 계층

물리적 연결 층

Osi五层协议

응용 프로그램 계층

전송 계층

네트워크 계층

데이터 링크 계층

물리적 연결 층

1. 물리적 연결 층

전기 신호 전송에 기초하여 이진 데이터 010101

2. 데이터 링크 계층

그룹화가. 소정의 전기 신호

나. 인터넷에 연결된 컴퓨터는 네트워크 카드가 있어야합니다

카드의 각 조각은 세계에서 고유 번호가 새겨 져 있습니다

12 진수

상위 여섯 업체 번호

여섯 줄 번호 후

이 12 자리라고 MAC 주소

추신 : 위의 두 점 모두 "이더넷 프로토콜"이라

스위치

이더넷 기반 통신 프로토콜은
로컬 영역 네트워크를 통해 통신 할 수 없습니다

3. 네트워크 계층

IP 프로토콜

한 IP 주소가 있어야 인터넷에 연결된 컴퓨터의 규정으로
IP 주소 특징 : 점으로 구분 된 십진수
IP 주소 최소 : 0.0.0.0
IP 주소 최대 : 255.255.255.255
IP 주소를 두 가지 버전이 있습니다 : IPV4 IPV6(현재 IPV4 그 때문에 충분하지 그래서) 컴퓨터 버전 출시 IPV6가

IP地址是动态分配的

4. 전송 계층

프로토콜 TCP \ UDP 포트의 작업을 기반으로
포트 (포트)

사실, 컴퓨터와 컴퓨터 사이의 응용 프로그램과 함께 컴퓨터의 응용 프로그램 사이의 통신입니다

포트 : 응용 프로그램에서 컴퓨터를 식별자
포트 번호의 범위 : 0 ~ 65535
주 : 0 1024이 운영 체제의 기본 포트 번호 사용되지
권장 사항 : 8000 이후의 포트를 사용하여
MySQL의 기본 포트 : 3306
레디 스 기본 포트 : 6379
장고의 기본 포트 : 8000
5000 : 플라스크 기본 포트

포트 번호가 동적으로 할당
전분기에 할당 된 8989 년 이후 처음으로
다시 시작됩니다 폐쇄 포트 번호를 변경했을 수 있습니다 전분기

요약
ip地址: 인터넷에 액세스 할 수있는 컴퓨터의 식별자
port端口컴퓨터에서 응용 프로그램에 대한 식별자는 :
ip+port: 고유 컴퓨터에서 인터넷에 액세스 할 수있는 응용 프로그램을 식별

응용 계층

HTTP 프로토콜

FTP 프로토콜

TCP 프로토콜

스트리밍 프로토콜, 신뢰할 수있는 프로토콜

TCP 기반 프로토콜 채널

TCP 프로토콜이 안정적으로 데이터를 전송하는 이유는, 두 개의 양방향 채널을 사용하는 것입니다

네 흔들며 세 방향 핸드 셰이크

연결을 설정하는 세 방향 핸드 셰이크

네 흔들며 분리

추천

출처www.cnblogs.com/PowerTips/p/11312089.html