zoukankan      html  css  js  c++  java
  • python 套接字编程

    一,基于tcp协议的套接字编程

    客户端:

    import socket
    
    
    #  1,买手机
    phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    #  2,请求连接
    phone.connect(('127.0.0.1',8082))
    
    #  3,通信
    while True:
        msg=input('请输入发送文字:').strip()
        if len(msg) == 0: continue
        phone.send(msg.encode('utf8'))
        if msg == "q": break
        data=phone.recv(1024)
        print(data.decode('utf8'))
    
    
    #  5,关机
    phone.close()
    

    服务端:

    import socket
    
    #  1,买电话()
    phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    
    #  2,装电话卡
    phone.bind(('127.0.0.1',8082))
    
    #  3,开机
    phone.listen(5)
    
    #  4,等待电话请求
    while True:
        conn,client_addr=phone.accept()
    
        #  5,通信(ulinx系统遇到客户端突然断开连接会进入循环,用break可以打断)
        while True:
            try:
                data=conn.recv(1024)
                if data.decode('utf8') == 'q':break
                conn.send(data.upper())
            except Exception:
                break
    
    
        #  6,挂机
        conn.close()
    
    #  7,关机
    # phone.close()
    

    二,基于udp协议的编程

    服务端:

    
    
    import socket
    sever=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
    sever.bind(('127.0.0.1',8083))
    while True:
        date,user_addr=sever.recvfrom(1024)
        date=date.upper()
        sever.sendto(date,user_addr)
    

    客户端:

    import socket
    
    client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
    while True:
        msg=input('请输入:').strip()
        client.sendto(msg.encode('utf8'),('127.0.0.1',8083))
        res,sever_addr=client.recvfrom(1024)
        print(res.decode('utf8'))
    
  • 相关阅读:
    JAVA并发编程学习笔记之ReentrantLock
    服务架构演进
    Java集群优化——dubbo+zookeeper构建高可用分布式集群
    Dubbo实例
    hessian学习
    JAVA分布式事务原理及应用
    了解AngularJS $resource
    AngularJS Resource:与 RESTful API 交互
    Hibernate解决高并发问题之:悲观锁 VS 乐观锁
    互联网金融高并发方案
  • 原文地址:https://www.cnblogs.com/Franciszw/p/12740192.html
Copyright © 2011-2022 走看看