本地套接字
-
功能 : 用于本地两个程序之间进行数据的收发
-
套接字文件 :用于本地套接字之间通信时,进行数据传输的介质。
-
创建本地套接字流程
【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()