套接字加入通讯循环

#解决小bug的server.py
import socket
#生成一个socket对象
soc=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定地址跟端口号
soc.bind(('127.0.0.1',8001))
#监听(半连接池的大小)
soc.listen(5)
#等着客户端来连接,conn相当于连接通道,addr是客户端的地址
conn,addr=soc.accept()    #卡主,如果没有客户端连接,会一直卡在这,当有连接,才继续往下走
print(addr)
while True:
    try:
        #等待接收,最大收取1024个字节
        data=conn.recv(1024)    #会卡主,当客户端有数据过来,才会执行
        print(data)
    except Exception:
        # 关闭通道
        conn.close()
        break


# 关闭套接字
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'))

posted on 2019-09-06 20:47  黑糖A  阅读(98)  评论(0编辑  收藏  举报