-
功能 : 本地两个程序之间的数据交换
-
通信原理:对一个内存对象进行读写操作,完成两个程序间的数据交互
-
创建本地套接字
【1】 创建本地套接字: sockfd = socket(AF_UNIX,SOCK_STREAM) 【2】 绑定套接字文件 sockfd.bind(file) 【3】 监听,连接,收发消息 listen accept recv/send #具体执行过程与网络套接字相差不大
发送端代码:
from socket import *
# 两边使用同一个套接字文件
sock_file = './sock'
sockfd = socket(AF_UNIX,SOCK_STREAM)
sockfd.connect(sock_file)
while True:
msg = input(">>")
if not msg:
break
sockfd.send(msg.encode())
sockfd.close()
接收端代码:
```from socket import *
import os
# 本地套接字文件
sock_file = './sock'
# 判断文件存在
if os.path.exists(sock_file):
os.remove(sock_file) # 删除文件
# 创建本地套接字
sockfd = socket(AF_UNIX,SOCK_STREAM)
# 绑定文件
sockfd.bind(sock_file)
sockfd.listen(3)
while True:
c,addr = sockfd.accept()
while True:
data = c.recv(1024)
if not data:
break
print(data.decode())
c.close()
sockfd.close()