linux 本地套接字

1、本地套接字:

  用于本地进程间通信

2、本地套接字传输流程

  【1】 创建套接字对象

      sockfd = socket(AF_UNIX,SOCK_STREAM)

  【2】 绑定套接字文件,如果文件不存在则自动创建

      sockfd.bind(file)

      套接字文件:下面连接中的套接字文件就是下面代码运行后生成的

            https://www.cnblogs.com/longyuu/p/14224329.html

 

  【3】 监听

      listen

  【4】 消息收发

      recv、 send

3、应用

  【local-socket-server】

from socket import *
import os

#确定使用哪个套接字文件
#sock_file,只是指定一个文件为套接字文件,和具体的值没关系。例如,下面两个都可以
sock_file = "./soc.txt"
#sock_file = "./sock"

#判断文件是否已经存在,存在删除
if os.path.exists(sock_file):
    os.unlink(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 data:
            print(data.decode())
        else:
            break
    c.close()

sockfd.close()

  【local-socket-client】

from socket import *

sock_file = "./soc.txt"
#sock_file = "./sock"

# 创建套接字
sockfd = socket(AF_UNIX,SOCK_STREAM)
#连接另外一端
sockfd.connect(sock_file)

#发送消息
while True:
    msg = input(">>")
    if msg:
        sockfd.send(msg.encode())
    else:
        break
sockfd.close()

 

posted @ 2021-01-05 19:15  昱成  阅读(884)  评论(0编辑  收藏  举报