zoukankan      html  css  js  c++  java
  • 本地套接字-本地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)


  • 相关阅读:
    scapy学习笔记(4)简单的sniffing 嗅探
    scapy学习笔记(3)发送包,SYN及TCP traceroute 扫描
    Linux查看CPU和内存使用情况
    MySQL关于根据日期查询数据的sql语句
    JSON 数据格式
    利用PyCharm进行Python远程调试
    pycharm远程调试配置
    Linux终端使用技巧
    每天一个linux命令(60):scp命令
    python-docx 使用教程
  • 原文地址:https://www.cnblogs.com/Skyda/p/9617926.html
Copyright © 2011-2022 走看看