Python socket编程 协议族(address families)

Python socket()不是一个函数,而是一个类。

为通讯创建一个端点,为套接字返回一个fs文件描述符。 socket() 有三个参数:

  • domain 为创建的套接字指定协议集(或称做地址族 address family)。 例如:
    • AF_INET 表示IPv4网络协议
    • AF_INET6 表示IPv6
    • AF_UNIX 表示本地套接字(使用一个文件)
  • type(socket类型)如下:
    • SOCK_STREAM (可靠的面向流服务或流套接字)
    • SOCK_DGRAM (数据报文服务或者数据报文套接字)
    • SOCK_SEQPACKET (可靠的连续数据包服务)
    • SOCK_RAW (在网络层之上自行指定运输层协议头,即原始套接字)
  • protocol 指定实际使用的传输协议。 最常见的就是IPPROTO_TCPIPPROTO_SCTPIPPROTO_UDPIPPROTO_DCCP。这些协议都在中有详细说明。 如果该项为“0”的话,即根据选定的domain和type选择使用缺省协议,例如socket(AF_INET,SOCK_STREAM)表示IPPROTO_TCP协议。
# c代码
int socket(int domain, int type, int protocol);

#Python 代码

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

 

你可能感兴趣的:(python)