socket套接字
socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的
例如我们每天浏览网页、QQ 聊天、收发 email 等等
在python中如何创建socket套接字呢?
在 Python 中 使用socket 模块的 socket 就可以完成:笔记如下:
1.socket介绍
1.什么是socket?
socket套接字,是进程通信的一种实现方式
2.主要特点
主要针对不同主机之间的通信。即网络进程的通信,
几乎所有的网络都是通过socket来实现的
3.创建socket的基本流程
1. 创建socket流程,实现网络通信
2. 套接字使用流程 与 文件的使用流程很类似
1. 读写数据到文件的流程
- 打开或者创建文件,取得file对象
file=open()
- 通过file对象读写数据
file.read() file.write()
- 关闭file对象
file.close()
2. 创建socket流程,实现网络通信
1. 创建socket对象
2. 通过socket对象实现发送与接收数据
3. 关闭socket对象
2. socket.socket 创建一个 socket对象,该函数带有两个参数:
Address Family:地址族,可以选择 AF_INET(用于 Internet 进程间通信) 或者 AF_UNIX(用于同一台机器进程间通信),实际工作中常用AF_INET
Type:套接字类型,可以是 SOCK_DGRAM(数据报套接字,主要用于 UDP 协议)或者 SOCK_STREAM(流式套接字,主要用于 TCP 协议)
代码实现:
创建一个udp socket(udp套接字)
import socket
# 创建udp的套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# ...这里是使用套接字的功能(省略)...
# 不用的时候,关闭套接字
s.close()
创建一个tcp socket(tcp套接字)
import socket
# 创建tcp的套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# ...这里是使用套接字的功能(省略)...
# 不用的时候,关闭套接字
s.close()