zoukankan      html  css  js  c++  java
  • 最简单的网络通讯

    最简单的网络通讯

    server端:

    import socket
    
    sk = socket.socket()          # 创建一个server端的对象
    sk.bind(('127.0.0.1',9001))  # 给server端绑定一个地址
    sk.listen()                   # 开始监听(可以接收)客户端给我的连接了
    
    conn,addr = sk.accept()  # 建立连接 conn是连接
    conn.send(b'hello')
    msg = conn.recv(1024)
    print(msg)
    conn.close()     # 关闭连接
    
    sk.close()
    

    client端:

    import socket
    
    sk = socket.socket()
    sk.connect(('127.0.0.1',9001))
    
    
    msg = sk.recv(1024)
    print(msg)
    sk.send(b'byebye')
    
    sk.close()
    

    tcp 和多个客户端通讯

    #server端
    import socket
    sk = socket.socket()
    sk.bind(('127.0.0.1',8008))
    sk.listen()
    
    while True:
        conn, addr = sk.accept()
        print('conn',conn)
        while True:
            g = input('请输入:')
            conn.send(g.encode('utf-8'))
            if g.upper() == 'Q':
                break
            msg = conn.recv(1024).decode('utf-8')
            print(msg)
        conn.close()
    sk.close()
    #-------------------------
    #Client端
    import  socket
    sk = socket.socket()
    sk.connect(('127.0.0.1',8008))
    while True:
        msg = sk.recv(1024).decode('utf-8')
        if msg.upper() == 'Q':break
        print(msg)
        g = input('>>>')
        sk.send(g.encode('utf-8'))
        if g.upper() == 'Q':break
    sk.close()
    

    UDP协议通讯

    #udp例子
    #server端------------------
    import socket
    sk = socket.socket(type=socket.SOCK_DGRAM)
    sk.bind(('127.0.0.1',8001))
    while True:
        msg,addr = sk.recvfrom(1024)
        print(msg.decode('utf-8'))
        msg_send = input('>>>')
        if msg_send.upper() == 'Q':break
        sk.sendto(msg_send.encode('utf-8'),addr)
    
    
    #client端  ------------------  
    import socket
    sk = socket.socket(type=socket.SOCK_DGRAM)
    server = ('127.0.0.1',8001)
    while True:
        msg = input('>>>')
        if msg.upper() == 'Q':break
        sk.sendto(msg.encode('utf-8'),server)
        msg2 = sk.recv(1024).decode('utf-8')
        if msg2.upper() =='Q':break
        print(msg2)
    
  • 相关阅读:
    图形与文本
    Cookie处理函数练习
    jspSmartUpload上传下载全攻略
    SmartUpload 上传图片
    无下拉菜单
    servlet中使用SmartUpload组件实现上传
    乱码
    DIV+CSS 要兼容 IE8.0 应注意些什么?
    虚拟目录中的web.config不被上级目录的web.config影响的处理
    ASP.NET抓取页面源代码
  • 原文地址:https://www.cnblogs.com/wyh0717/p/13275413.html
Copyright © 2011-2022 走看看