zoukankan      html  css  js  c++  java
  • python:初始网络编程

     网络编程:

      软件:

        客户端:cs架构 , client ==> server

        浏览器:bs架构 , browser ==> server

       

       如何实现互相通信.
        需求一:编写两个软件,软件之间相互通信

        需求二:两个人直接连接(网线)

        需求三:家是相互通信(交换机)
        使用IP地址:ipconfig/ ios系统ifconfig

          例如:192.168.12.5

        如果你想要连三亚的女朋友需要用公网IP

        需求四:和三亚的女友通信(交换机+n*路由器)

      总结:
        1,相互通信本质发送 010100011001
        2,交换机的作用
        3,通过ipconfig查看自己的内网IP
        4,公网IP,花钱买

    基于socket模块实现网络通信


      为什么要网络通信发送的是字节?而不是字符串
        py3:send/recv都是字节
        py2:send/recv都是字符串

    多台电脑通信;交换机+路由器

      mac地址:物理地址,全球唯一      相当于  身份证号

      IP地址    :虚拟地址,四位点分十进制     相当于学号

      *如何判断两台主机是否在同一个局域网?

        ip地址 & 子网掩码   =   网段

    *arp协议:通过目标ip地址,获取目标mac地址

      端口:操作系统给与,通过端口号可以确定某一个应用程序

    *ip+端口:唯一确定某一个主机上的耨一个应用程序

      (基础)回环地址:127.0.0.1

    osi五层模型:

      应用层:    PY文件,应用

      传输层:    tcp/udp协议

      网络层:    ip协议

      数据链路层:  arp协议,网卡

      物理层:    网线,集线器,光纤

    *tcp协议:安全可靠面向连接,面向数据流形式的传输

      三次握手:

        首先必须现有客户端发起连接的请求,

        接下来,服务器接收到请求之后,回复给客户端两个表示,一个syn表示

          服务器接收到请求,一个ack表示服务器再做准备工作,变革便是一起回复给客户端

        最后客户端接收到服务器的回复,客户端准备连接的所有资源,开始进行连接发送给服

          务器一个ack表示客户端的连接准备工作已经完成

          (此时表示客户端和服务器可以相互连接了)

          那句代码体现了三次握手:服务器端的accept,客户端connect

      四次挥手:

        (1)首先由连接双方任意一方发起断开连接的请求,发起方发送的请求表示,

          我没有数据要继续发送了,可以断开连接了,但是你如果还有数据

          可以继续向我发送数据

        (2)接收方回复给发起方,表示接到了发起方的断开请求,开始着手准备断开事宜

        (3)接收方准备完成后,给发起方发送一个标识,标识接收方没有数据继续发送了,

          可以断开连接了

        (4)发起方接收到消息,准备断开连接.回收资源!

          那句代码体现了四次握手:close()

    *udp协议:速度快,不安全,不可靠,不面向连接,面向数据包形式的传输

  • 相关阅读:
    记一次不好不坏的数据库优化
    洛谷 P3065 [USACO12DEC]First! G(字典树,环的判断)
    洛谷 P3879 [TJOI2010]阅读理解(trie树)
    洛谷 [USACO08DEC]Secret Message G(01字典树)
    洛谷 P5149 会议座位(归并排序,trie树)
    2019强网杯babybank writeup及浅析
    python多线程的学习
    关于信息安全的学习
    FineCMS v5.4.1 后台getshell
    二次注入的复现
  • 原文地址:https://www.cnblogs.com/while-number/p/9339786.html
Copyright © 2011-2022 走看看