本地套接字-本地socket


本地套接字簡單應用場景 一
#服務端--簡單
import socket
import os
a='sock_file'
if os.path.exists(a):
    os.remove(a)

s=socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
s.bind(a)
s.listen(3)
while True:
    c,addr = s.accept()
    while True:
        date=c.recv(1024)
        if not date:
            c.close()
            break
        else:
            c.send(date)
#客戶端--簡單
import socket,time
a='sock_file'
s = socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
s.connect(a)
while True:
    msg='你好1'.encode()
    s.send(msg)
    date=s.recv(1024)
    print(date.decode())
    time.sleep(2)
 

 

本地套接字循環發送信息示例應用場景2
#服務端
import socket,time,threading
import os,select
a='sock_file'
if os.path.exists(a):
    os.remove(a)

s=socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
s.setblocking(False)
s.bind(a)
s.listen()
rlist=[s,]
wlist=[]
erlist=[]
def accept_():
    while True:
        rs,ws,er=select.select(rlist,wlist,erlist)
        print(ws)
        time.sleep(2)
        print(1)
        for i in rs:
            if i is s:
                con,add=s.accept()
                rlist.append(con)

        for i in erlist:
            print(i)

def send_():
    while True:
        time.sleep(2)
        for i in rlist:
            if i is s:
                pass
            else:
                date='你好'.encode()
                try:
                    i.send(date)
                except:
                    i.close()
                    rlist.remove(i)
t1=threading.Thread(target=accept_,)
t1.start()
t2=threading.Thread(target=send_,)
t2.start()
t1.join()
t2.join()
#客戶端---
import socket,time
a='sock_file'
s = socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
s.connect(a)
while True:
    # msg='你好2'.encode()
    # s.send(msg)
    date=s.recv(1024)
    print(date.decode())
    # time.sleep(2)

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM