• 网络编程


    1,C/S架构,B/S架构

    C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。

    这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。

    B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。

    Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。

    2,osi七层模型

    3,socket

    Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

    4,TCP协议,udp协议

    5,基于TCP协议的socket

     1 #服务端
     2 import socket
     3 sk = socket.socket()
     4 sk.bind(('127.0.0.1',8898))  #把地址绑定到套接字
     5 sk.listen()          #监听链接
     6 conn,addr = sk.accept() #接受客户端链接
     7 ret = conn.recv(1024)  #接收客户端信息
     8 print(ret)       #打印客户端信息
     9 conn.send(b'hi')        #向客户端发送信息
    10 conn.close()       #关闭客户端套接字
    11 sk.close()        #关闭服务器套接字(可选)
    server
    1 #客户端
    2 import socket
    3 sk = socket.socket()           # 创建客户套接字
    4 sk.connect(('127.0.0.1',8898))    # 尝试连接服务器
    5 sk.send(b'hello!')
    6 ret = sk.recv(1024)         # 对话(发送/接收)
    7 print(ret)
    8 sk.close()            # 关闭客户套接字
    client

     6: 

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

    TCP协议:安全可靠通信方式,面向连接

    UDP协议:不安全,不可靠的通信方式,快

    TCP:

    三次握手 : 注意必须是client先发起请求
    1 client发送给server我想连接你,可以么
    2 server回复client,可以,我也想连接你,可以吗?
    3 client回复server,可以

    四次挥手 : 谁先发起请求都可以
    1 client发送请求:我准备断开连接了,我没有数据需要发送了,
    如果你有数据可以继续发给我
    2 server回复:确认接收到你的请求,我开始着手准备断开事宜
    3 server回复:我准备好了,可以随时断开连接
    4 client回复:断开连接吧

    协议概述:由多人制定的一种规则

    tcp协议流程:

     1 import  socket
     2 sk = socket.socket(type=socket.SOCK_STREAM) #创建一个套接字
     3 sk.bind(('127.0.0.1',9632))  #把地址绑定到套接字
     4 sk.listen()          #监听链接
     5 conn,addr = sk.accept() #接受客户端链接
     6 ret = conn.recv(1024)  #接收客户端信息
     7 print(ret.decode('utf-8'),conn,addr)       #打印客户端信息
     8 conn.send(b'hi')        #向客户端发送信息
     9 conn.close()       #关闭客户端套接字
    10 sk.close()        #关闭服务器套接字(可选)
    TCP协议流程
  • 相关阅读:
    Delphi 的字符及字符串[4] 字符串、字符指针与字符数组
    Delphi 的字符及字符串[5] 字符串与 Windows API
    WinAPI: FindWindow、FindWindowEx 查找窗口
    java LookAndFeel 美化 Substance使用
    持久化和对象关系映射ORM技术
    java 更换皮肤问题Cannot refer to a nonfinal variable inside an inner class defined in a different method
    java Swing可视化开发工具
    php ORM 持久层框架与简单代码实现
    生成Substance皮肤Menu项的代码
    三层架构实现
  • 原文地址:https://www.cnblogs.com/duanhaoxin/p/9325576.html
Copyright © 2020-2023  润新知