zoukankan      html  css  js  c++  java
  • 网络编程

     网络开发的架构:

    • C/s   client/server

    • B/s    Browser/server

    • B/s架构更好

    认识网络

    • 网卡 -- mac地址

    • 每台机器在网络中除了有一个mac地址生效,还有一个ip地址

    • 有交换机和路由器

    • 端口:通过某一个固定的端口定位到机器上的某一个应用

    • 每一台机器有很多个端口,最大的端口是65535  范围是0--65535

    交换机的工作方式:

    • 单播广播组播

    • arp协议:通过ip找mac

    • 交换机 --->广播  将要找的机器的信息发给局域网内的所有机器

    • 交换机 ---->单播  返回要找的那台机器

    • 交换机的工作机制: 只认识mac地址,广播单播组播

    ip协议:

    • ipv4:  4位点分十进制
    • ipv6: 6位点分十六进制

    路由器的工作机制:

    • 路由表,认识ip地址

    传递信息的方式:

    • Tcp协议: 可靠的面向连接的慢
    • UDP协议: 不可靠的无连接的快

    TCP与UDP的区别

    osi七层模型

     TCP/IP五层协议

     

    套接字(socket)初使用

    • 基于TCP协议的socket

      • server端

        • import socket
          sk = socket.socket()
          sk.bind(('127.0.0.1',8898))  #把地址绑定到套接字
          sk.listen()          #监听链接
          conn,addr = sk.accept() #接受客户端链接
          ret = conn.recv(1024)  #接收客户端信息
          print(ret)       #打印客户端信息
          conn.send(b'hi')        #向客户端发送信息
          conn.close()       #关闭客户端套接字
          sk.close()        #关闭服务器套接字(可选)
      • client端 

        • import socket
          sk = socket.socket()           # 创建客户套接字
          sk.connect(('127.0.0.1',8898))    # 尝试连接服务器
          sk.send(b'hello!')
          ret = sk.recv(1024)         # 对话(发送/接收)
          print(ret)
          sk.close()            # 关闭客户套接字
  • 相关阅读:
    再探最大公约数
    非旋treap
    初赛毒瘤汇总(持续更新中)
    架构漫谈阅读笔记五--以豆瓣得基础架构为例
    架构设计小论文
    第一阶段
    架构漫谈阅读笔记六--以淘宝数据魔方技术架构解析为例
    学习进度第八周
    架构漫谈阅读笔记一
    软件架构之 Refined Architecture阶段
  • 原文地址:https://www.cnblogs.com/pythonz/p/10931856.html
Copyright © 2011-2022 走看看