Python 创建 socket 对象

Python 创建 socket 对象
套接字编程的第一步是首先使用 socket 模块的构造函数 socket()创建一个 socket 对象:

socket.socket([family[, type[, proto]]])

其中,

  • family:套接字家族,可以是 AF_UNIX 或 AF_INET,通常是 AF_INET,以用于互联网的
    网络编程。
  • type:套接字类型,可以根据是面向连接的网络通信还是面向无连接的网络通信分为
    SOCKSTREAM 或 SOCKDGRAM。
  • Protocol:默认为 0。

套接字类型分为 SOCKSTREAM 和 SOCKDGRAM,前者用于面向连接的网络通信,后者用于面向无连接的网络通信。而通信双方通常分别扮演两种角色,一种角色是服务器,用于监听来自其他套接字的网络请求;另一种角色是客户,用于发起网络请求,即向服务器请求网络服务。根据是否为面向连接的网络通信,套接字的网络通信主要分为 TCP 和 UDP 两种。
面向连接的 socket 通信要在通信双方之间建立一个可靠的、始终连接的通信管道,这个过程类似人们打电话的过程,数据发送和接收通过这个确定的连接进行:

import socket #导入 socket 模块
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建一个 socket 对象

无连接的 socket 通信无须通信双方建立连接,就可以直接根据对方的地址发送数据,发送的数据中包含了双方的地址,接收方可以从接收的数据中知道发送方的地址。这个过程类似人们发短信或邮寄信件:

import socket #导入 socket 模块
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #创建一个 socket 对象
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值