zoukankan      html  css  js  c++  java
  • 套接字接上链接循环

    套接字接上链接循环

    #加上连接循环的server端
    import socket
    #生成一个socket对象
    soc=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #绑定地址跟端口号
    soc.bind(('127.0.0.1',8001))
    #监听(半连接池的大小),不是连接数
    soc.listen(3)
    #等着客户端来连接,conn相当于连接通道,addr是客户端的地址
    while True:
        print('等待客户端连接')
        conn,addr=soc.accept()    #卡主,如果没有客户端连接,会一直卡在这,当有连接,才继续往下走
        print('有个客户端连接上了',addr)
        while True:
            try:
                #windows如果客户端断开,会报错,加了try
                #linux如果客户端,断开,不会报错,会收到空,所有当data为空时,也break
                #等待接收,最大收取1024个字节
                data=conn.recv(1024)    #会卡主,当客户端有数据过来,才会执行
                if len(data)==0:  #处理linux客户端断开,如果在window下这段代码根本不会执行(即便是客服端发了空,这个地方也不会走到)
                    break
                print(data)
            except Exception:
    
                break
        # 关闭通道
        conn.close()
    
    
    # 关闭套接字
    soc.close()
    
    #client通信循环
    import socket
    
    soc=socket.socket()
    
    soc.connect(('127.0.0.1',8001))
    while True:
        in_s=input('请输入要发送的数据:')
        #发送的数据必须是b格式,in_s.encode('utf-8')  把字符串编码成b格式
        #把b格式转成字符串
        # ss=str(b'hello',encoding='utf-8')
        # ss=b'hello'.decode('utf-8')
        # #把字符串转成b格式
        # by=bytes('hello',encoding='utf-8')
        # by='hello'.encode('utf-8')
    
    
        soc.send(in_s.encode('utf-8'))
    
    
  • 相关阅读:
    NOI2015刷题记录
    [WC2013][UOJ58]糖果公园 莫队算法
    啦啦啦~
    完全平方数
    构建之法
    测试更新
    程序的测试
    程序的封装
    构建之法5.5-6-7章观后感
    给徐侃童鞋的一个汉堡
  • 原文地址:https://www.cnblogs.com/aden668/p/11478266.html
Copyright © 2011-2022 走看看