zoukankan      html  css  js  c++  java
  • 网络编程基础【day09】:socket编程入门(一)

    本节内容

    1、OSI七层模型

    2、概述

    3、关系图

    4、代码逻辑图

    5、socket概念

    一、OSI七层模型

    二、概述   

      socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

      socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)

    三、关系图

    • file模块是针对某个指定文件进行【打开】【读写】【关闭】
    • socket模块是针对 服务器端 和 客户端Socket 进行【打开】【读写】【关闭】

    四、代码逻辑图

    五、socket概念

    4.1 Socket Families(地址簇)

    1. socket.AF_UNIX unix本机进程间通信 
    2. socket.AF_INET IPV4 
    3. socket.AF_INET6  IPV6

    4.2 Socket Types

    1. socket.SOCK_STREAM  #for tcp
    2. socket.SOCK_DGRAM   #for udp 
    3. socket.SOCK_RAW     #原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊的IPv4报文;此外,利用原始套接字,可以通过IP_HDRINCL套接字选项由用户构造IP头。
    4. socket.SOCK_RDM  #是一种可靠的UDP形式,即保证交付数据报但不保证顺序。SOCK_RAM用来提供对原始协议的低级访问,在需要执行某些特殊操作时使用,如发送ICMP报文。SOCK_RAM通常仅限于高级用户或管理员运行的程序使用。
    5. socket.SOCK_SEQPACKET #废弃了
  • 相关阅读:
    模拟两位选手进行n羽毛球比赛(15分赛制)并计算模拟胜率
    Pyton实例
    Python图片处理
    jieba库的使用和好玩的词云
    Python汉诺塔问题
    多线程同时操作一个epoll_fd
    Linux tr命令
    iptables 深入分析
    Linux xtables
    Linux IPC 共享内存
  • 原文地址:https://www.cnblogs.com/luoahong/p/7208471.html
Copyright © 2011-2022 走看看