Python并发编程5——进程间通信(4) 本地套接字

本地套接字

  1. 功能 : 用于本地两个程序之间进行数据的收发

  2. 套接字文件 :用于本地套接字之间通信时,进行数据传输的介质。

  3. 创建本地套接字流程

    【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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值