python网络编程

套接字

套接字是“通信端点”慨念的计算机网络数据结构,网络化的应用程序在开始任何通讯之前都必须创建套接字。
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网络编程)