Python网络编程——socket模块

socket 套接字模块用于TCP、UDP、IP等协议的通讯。

 

基本使用方法有:

1.  创建socket对象

socket.socket(family=socket.AF_INETtype=socket.SOCK_STREAMproto=0, fileno=None) 

使用方法举例

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

说明:    

(1)socket families(地址簇):

  AF_UNIX  # unix本机之间进行通信

  AF_INET  #使用IPv4

  AF_INET6  #使用IPv6

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

(2)socket types:

  SOCK_STREAM     # TCP套接字类型

  SOCK_DGRAM    # UDP套接字类型

  SOCK_RAW            #原始套接字类型,功能强大

  SOCK_RDM             #是一种可靠的UDP形式,即保证交付数据报但不保证顺序。

  SOCK_SEQPACKET  #可靠的连续数据包服务

  注:这些常量都是套接字类型,应用于socket()函数中的第二个参数中,根据系统的不同,可能有更多的常数。虽然SOCK_STREAMSOCK_DGRAM更常见,但原始套接字SOCK_RAW也经常用于某些特殊的网络操作。SOCK_RAM原始套接字用来提供对原始协议的低级访问,可以处理特殊的IPv4报文,在需要执行某些特殊操作时使用,例如普通的套接字无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以。创建这种套接字可以监听网卡上的所有数据帧;此外,利用原始套接字,可以通过IP_HDRINCL套接字选项由用户构造IP头。SOCK_RAM通常仅限于高级用户或管理员运行的程序使用。

(3)proto协议

0                    (默认,可不写)与特定的地址家族相关的协议,如果是 0 ,则系统就会根据地址格式和套接类别,自动选择一个合适的协议

1                    等价于IPPROTO_ICMP,ICMP协议

6                    等价于IPPROTO_TCPTCP协议

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值