美文网首页
python之网络编程

python之网络编程

作者: DarknessShadow | 来源:发表于2020-04-20 22:45 被阅读0次
网络编程基础知识
  • 客户端/服务器架构
    硬件服务器
      1、文件服务器:拥有庞大通用存储容量的计算机,可以被客户端远程访问。客户端计算机会挂载服务器计算机上的磁盘,看起来就像这个磁盘是在本地计算机上一样。
       网络文件系统(NFS):最流行的支持文件服务器的网络操作系统,sun公司开发的
       专用外围设备:磁盘驱动器
      2、打印服务器:处理客户端传入的打印作业然后发送给系统中的打印设备
       专用外围设备:打印机
    软件服务器
      web服务器
       上面安装提供给用户的web页面和web应用程序,然后启动web服务器 =》实现了一个c/s架构
      数据库服务器
      窗体(window)服务器
     思路:服务器无限循环等待客户端的请求,客户端如果有需求就可以向服务器发送请求
     网路编程就是遵循客户端/服务器架构的软件模型

  • 客户端/服务器网络编程大致流程
    服务器端:创建一个通信端点 ---》 无限循环监听服务器 ---》 等待客户端的请求并响应请求
    客户端:创建一个通信端点 ---》与服务器建立一个连接 ---》发送请求
    当请求被服务器处理,且客户端收到结果或某种确认信息,通信终止

  • 套接字(socket):通信端点
    1、它是什么?
     计算机网络数据结构
     在任何类型的通信开始之前,网络应用程序必须创建套接字
    2、创建套接字

socket(socket_family, socket_type, protocol=0)
socket_family是AF_UNIX或AF_INET
socket_type是SOCK_STREAM或SOCK_DGRAM
protocol通常省略,默认为0
创建Tcp/IP套接字
tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
创建UDP/IP套接字
udpSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
套接字对象(内置)方法
服务器套接字方法
s.bind():将地址(主机名、端口号对)绑定到套接字上
s.listen():设置并启动TCP监听器
s.accept():被动接受TCP客户端连接,一直等待直到连接到达(阻塞)
客户端套接字方法
s.connect():主动发起TCP服务器连接
s.connect_ex():connect()的扩展版本,此时会以错误码的形式返回问题,而不是抛出一个异常
普通的套接字方法
s.recv():接受TCP消息
s.recv_into():接受TCP消息到指定的缓冲区(python2.5中新增)
s.send():发送TCP消息
s.sendall():完整的发送TCP消息
s.recvfrom():接受UDP消息
s.recvfrom_info():接收UDP消息到指定的缓冲区
s.sendto():发送UDP消息
s.getpeername():连接到套接字(TCP)的远程地址

python的socket模块具体API查看官方文档:https://docs.python.org/3/library/index.html#library-index

相关文章

  • Python之网络编程

    一、TCP编程 socket用于打开网络连接,打开一个socket需要知道目标计算机的ip地址和端口号,还有协议类...

  • python之网络编程

    网络编程基础知识 客户端/服务器架构 硬件服务器  1、文件服务器:拥有庞大通用存储容量的计算机,可以被客户端远程...

  • python之网络编程

    1. 简介 网络编程主要的工作就是在发送端将信息通过指定的协议进行组装包,在接收端按照规定好的协议对包进行解析并提...

  • 《python核心编程》之“网络编程”

    本文主要是使用socket模块。 模块函数socket() 要创建套接字,必须使用 socket.socket()...

  • tcp和udp

    【Python网络编程】利用Python进行TCP、UDP套接字编程 http://www.cnblogs.com...

  • Linux网络编程篇之ICMP协议分析及ping程序实现

    Linux网络编程系列: Linux网络编程篇之Socket编程预备知识 Linux网络编程篇之TCP协议分析及聊...

  • Python之——网络编程笔记

    1. 套接字 套接字是计算机网络数据结构,它体现了上节中所描述的“通信端点”的概念。在任何类型的通信开始之前,网络...

  • Python学习之网络编程

    互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。如何分层有不同的模型,有的模...

  • 31.Python之网络编程(socket模块)

    Python之网络编程(socket模块) 什么是socket?Socket是应用层与TCP / IP协议族通信的...

  • 从Web解析到网络空间

    -Python库之网络爬虫-Python库之Web信息提取-Python库之Web网站开发-Python库之网络应...

网友评论

      本文标题:python之网络编程

      本文链接:https://www.haomeiwen.com/subject/todamhtx.html