美文网首页python百例
97-简单而完整的TCP服务器

97-简单而完整的TCP服务器

作者: 凯茜的老爸 | 来源:发表于2018-08-06 08:42 被阅读4次

    客户端可以通过telnet 127.0.0.1 12345来访问。
    每发送一段文字,将会收到加上当前时间的文字。

    import socket
    from time import strftime
    
    class TcpTimeServer:
        def __init__(self, host='', port=12345):
            self.addr = (host, port)
            self.serv = socket.socket()
            self.serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
            self.serv.bind(self.addr)
            self.serv.listen(1)
    
        def chat(self, c_sock):
            while True:
                data = c_sock.recv(1024)
                if data.strip() == b'quit':
                    break
                data = '[%s] %s' % (strftime('%H:%M:%S'), data.decode('utf8'))
                c_sock.send(data.encode('utf8'))
            c_sock.close()
    
        def mainloop(self):
            while True:
                cli_sock, cli_addr = self.serv.accept()
                self.chat(cli_sock)
    
            self.serv.close()
    
    if __name__ == '__main__':
        s = TcpTimeServer()
        s.mainloop()
    

    相关文章

      网友评论

        本文标题:97-简单而完整的TCP服务器

        本文链接:https://www.haomeiwen.com/subject/gfcwvftx.html