zoukankan      html  css  js  c++  java
  • python学习之socket模块

    socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None)
    使用给定的地址族,套接字类型和协议号创建一个新的套接字。
    family: 地址系列应为AF_INET(默认值),AF_INET6,AF_UNIX,AF_CAN或AF_RDS。
      (AF_UNIX 域实际上是使用本地 socket 文件来通信)

    type: 套接字类型应为SOCK_STREAM(默认值),SOCK_DGRAM,SOCK_RAW或其他SOCK_常量之一。
    SOCK_STREAM 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。
    
    SOCK_DGRAM 是无保障的面向消息的socket , 主要用于在网络上发广播信息。
    
    SOCK_STREAM是基于TCP的,数据传输比较有保障。SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播
    
    SOCK_STREAM 是数据流,一般是tcp/ip协议的编程,SOCK_DGRAM分是数据包,是udp协议网络编程
    proto: 协议号通常为零,可以省略,或者在地址族为AF_CAN的情况下,协议应为CAN_RAW或CAN_BCM之一。
    fileno: 如果指定了fileno,则其他参数将被忽略,导致带有指定文件描述符的套接字返回。
        与socket.fromfd()不同,fileno将返回相同的套接字,而不是重复的。
        这可能有助于使用socket.close()关闭一个独立的插座。
    新创建的套接字是不可继承的。

    版本3.3中更改:添加了AF_CAN系列。添加了AF_RDS系列。
    在版本3.4中更改:添加了CAN_BCM协议。
    在版本3.4中更改:返回的套接字现在不可继承。
    socket.send(bytes [,flags])
    
    

    发送数据到套接字。
    插座必须连接到远程插座。
    可选flags参数与上述recv()的含义相同。
    返回发送的字节数。
    应用程序负责检查所有数据是否已发送;如果只传输了一些数据,则应用程序需要尝试传送剩余的数据。
    有关此主题的更多信息,请参阅Socket Programming HOWTO。

    在版本3.5中更改:如果系统调用中断,并且信号处理程序不引发异常,则该方法现在将重试系统调用,而不是提高InterruptedError异常(请参阅PEP 475的理由)。

    socket.recv(bufsize [,flags])

    从套接字接收数据。
    返回值是表示接收到的数据的字节对象。
    一次性接收的最大数据量由bufsize指定。有关可选参数flags的含义,请参见Unix手册页面recv(2)它默认为零。
    注意
    为了与硬件和网络现实最佳匹配,bufsize的值应该是相对较小的2,例如4096。

    在版本3.5中更改:如果系统调用中断,并且信号处理程序不引发异常,则该方法现在将重试系统调用,而不是提高InterruptedError异常(请参阅PEP 475的理由)。

  • 相关阅读:
    pymongo中的连接操作:Connection()与MongoClient()
    Dynamics CRM2016 新功能之从CRM APP通过电子邮件发送页面链接
    [开发工具]_[Sublime Text 2]_[配置C++编译执行环境]
    struts2 全局拦截器,显示请求方法和參数
    A. Polo the Penguin and Strings
    linux驱动之LED驱动_1
    dbgrid控件如何能在左边显示行号?
    软件提示“没有活动事务”原因以及解决办法
    刷新dbgrid 而不失去当前行位置
    用ClientDataSet更新数据表,怎样自动生成行号? [问题点数:40分]
  • 原文地址:https://www.cnblogs.com/leomei91/p/7612260.html
Copyright © 2011-2022 走看看