美文网首页
python网络编程

python网络编程

作者: shadowflow | 来源:发表于2018-09-25 08:51 被阅读0次

    套接字

    套接字是“通信端点”慨念的计算机网络数据结构,网络化的应用程序在开始任何通讯之前都必须创建套接字。
    Python支持:AF_UNIX、AF_NETLINK和AF_INET,其中AF_INET是基于网络的套接字

    socket模块

    socket模块的socket()函数用来创建套接字。

    方法:

    socket(socket family, socket_type, protocal=0)

    创建一个TCP/IP套接字的方法:

    tcpsock = socket(socket.AF_INET, socket.SOCKET_STRING)

    套接字对象方法

    服务端套接字函数:

    s.bind()-----------------------------------绑定地址(主机,端口)到套接字
    s.listen()-----------------------------------开始TCP监听
    s.accept()---------------------------------被动接受TCP客户端连接,(阻塞式)等待连接到来

    客户端套接字函数:

    s.connect()-----------------------------主动初始化TCP服务器连接
    s.connect_ex()------------------------Connect函数的扩展版本,出错时返回错误代码

    公共用途套接字函数:

    s.recv()------------------------------------接受TCP数据
    s.send()-----------------------------------发送TCP数据
    s.sendall()--------------------------------完整发送TCP数据
    s.recvfrom()------------------------------接受UDP数据
    s.sendto()---------------------------------发送UDP数据
    s.getpeemame()-------------------------连接到当前套接字的远端地址
    s.getsockname()------------------------当前套接字的地址
    s.getsockopt()---------------------------返回指定套接字的参数
    s.setsockopt()---------------------------设置指定套接字的参数
    s.close()----------------------------------关闭套接字

    创建一个TCP服务器
    ss = socket()                       #创建服务器套接字
    ss.bind()                           #把地址绑定到套接字上
    ss.listen()                         #监听连接
    inf_loop:                           #服务器无限循环
        cs=ss.accept()                  #接受客户端连接
    common_loop:                        #通信循环
        cs.recv()/cs.send()             #对话(接受与发送)
    cs.close()                          #关闭客户端套接字
    
    创建一个TCP客户端
    cs.socket()                    #创建客户端套接字
    cs.connect()                  #尝试连接套接字
    common_loop:                  #通信循环
        cs.recv()/cs.send()       #对话(接受与发送)
    cs.close()                    #关闭客户端套接字

    相关文章

      网友评论

          本文标题:python网络编程

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