socket模块

https://www.jianshu.com/p/b5fb045ec5e8

自己写的,还是觉得CSDN好用,简书的编辑感觉不太顺手,上面的网址是socket模块简单总结。后面应该在这里总结。    #楷体,默认,#000000(注释,底色代码#66FFFF)


tip1: #宋体,18号,#666666,加粗(注释,底色#66FFFF)

     在python3中,利用套接字传输的内容都以byte形式传输,这时候传送时(send/sendto)需要encode,接收(recv)时需要decode。


tip2:  

      socket常用功能函数:

          socket.socket(family=AF_INETtype=SOCK_STREAMproto=0fileno=None)         #创建socket对象

       socket families(地址簇):

      AF_UNIX  ——————————   unix本机之间进行通信

      AF_INET  ——————————    使用IPv4

      AF_INET6  ——————————     使用IPv6

        注:socket.socket()中第一个能使用上述值。

      socket types:

      SOCK_STREAM          # TCP套接字类型

      SOCK_DGRAM   # UDP套接字类型


tip3: 

        socket.connect(("IP",port))              #连接到远程socket(常用于客户端)

           IP   ----- 你所要连接的目标IP

           port ----- 你所要连接的端口

    socket.connect(("IP",port))

           功能与connect(address)相同,但是成功返回0,失败返回errno的值。


tip4:

   socket.send(data)  #将data通过socket发送到IP,python3中只能发送byte型数据 


tip5:

        socket.recv(bufsize[, flags]) #从socket接收数据,返回值是一个代表所收到的数据的字节对象。

           一次性接收的最大数据量由bufsize指定, 参数flags通常忽略。


tip6:

     s.settimeout(timeout)   #设置套接字操作的超时期,timeout是一个浮点数,单位是秒。

          值为None表示没有超时期。一般,超时期应该在刚创建套接字时设置,因为它们可能用于连接的操作(如connect())

    




你可能感兴趣的:(我与python的爱恨情仇,python网络编程)