zoukankan      html  css  js  c++  java
  • B/S,C/S架构

    1.tcp通讯

      serve端

    import socket
    
    sr = socket.socket()
    sr.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
    sr.bind(('192.168.16.33',8088))
    sr.listen()
    
    while True:
        try:
            conn,addr = sr.accept()
            while 1:
                msg = input('>>>:').strip()
                conn.send(msg.encode('utf-8'))
                if msg == 'q':
                    break
                msg = conn.recv(1024)
                if msg == b'q':
                    break
                print(msg.decode('utf-8'))
            conn.close()
        except UnicodeDecodeError:
            pass
    sr.close()
    

      client 端

    import socket
    
    sl = socket.socket()
    sl.connect(('192.168.16.33',8088))
    
    while True:
        msg = sl.recv(1024)
        if msg == b'q':
            break
        print(msg.decode('utf-8'))
        msg = input('>>>:')
        sl.send(msg.encode('utf-8'))
        if msg == 'q':
            break
    sl.close()
    

    2.udp协议通讯

      serve 端

    import socket
    
    sk = socket.socket(type=socket.SOCK_DGRAM)
    sk.bind(('192.168.16.33',8088))
    
    while 1:
        msg,addr = sk.recvfrom(1024)
        print(msg.decode('utf-8'),addr)
        msg = input('>>>')
        sk.sendto(msg.encode('utf-8'),addr)
    sk.close()
    

      client 端

    import socket
    
    sk = socket.socket(type=socket.SOCK_DGRAM)
    ip_1 = ('192.168.16.33',8088)
    while 1:
        msg = input('>>>')
        sk.sendto(msg.encode('utf-8'),ip_1)
        msg,addr = sk.recvfrom(1024)
        print(msg.decode('utf-8'),addr)
    sk.close()
    

      

  • 相关阅读:
    linux-文件
    字符串函数
    函数
    内存管理
    静态库、动态库文件制作
    Makefile 待完善
    指针
    开发板GEC6816环境搭建,使用VS code
    C语言数组
    连接开发板下载程序
  • 原文地址:https://www.cnblogs.com/lijinming110/p/9641747.html
Copyright © 2011-2022 走看看