• 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的理由)。

  • 相关阅读:
    第0次作业 成绩统计
    助教第一次作业
    二进制协议 vs 文本协议
    Android TimeAnimator && TimeListener翻译
    Android 利用属ObjectAnimator,AnimatorSet性动画绘制一个弹球,加速下落,到底部时挤压,然后减速上弹
    Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色
    Android 绘制一个Loading动画__向图片中缓慢填充颜色,从而形成动画效果
    at android.view.Surface.unlockCanvasAndPost(Native Method)
    WebView之javascript与android交互基础加强
    WebView之加载网页时增加进度提示
  • 原文地址:https://www.cnblogs.com/leomei91/p/7612260.html
Copyright © 2020-2023  润新知