python实现聊天

转:https://www.cnblogs.com/nulige/p/6297829.html

server.py

import socket
import select
sk=socket.socket()
sk.bind(("127.0.0.1",8801))
sk.listen(5)
inputs=[sk,]
while True:  #监听sk和conn
    r,w,e=select.select(inputs,[],[],5) #conn发生变化,sk不变化就走else
    print(len(r))
    #判断sk or conn 谁发生了变化
    for obj in r:
        if obj==sk:
            conn,add=obj.accept()
            print(conn)
            inputs.append(conn)
        else:
            data_byte=obj.recv(1024)
            print(str(data_byte,‘utf8‘))
            inp=input(‘回答%s号客户>>>‘%inputs.index(obj))
            obj.sendall(bytes(inp,‘utf8‘))

    print(‘>>‘,r)

client.py

import socket
sk=socket.socket()
sk.connect((‘127.0.0.1‘,8801))

while True:
    inp=input(">>>>")
    sk.sendall(bytes(inp,"utf8"))
    data=sk.recv(1024)
    print(str(data,‘utf8‘))

相关推荐