欢迎来到山村网

基于进程内通讯的python聊天室实现方法

2019-03-02 14:20:40浏览:753 来源:山村网   
核心摘要:  本文实例讲述了基于进程内通讯的python聊天室实现方法。分享给大家供大家参考。具体如下:  ? 12345678910111213141516171

  本文实例讲述了基于进程内通讯的python聊天室实现方法。分享给大家供大家参考。具体如下:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 #!/usr/bin/env python # Added by <ctang@redhat.com> import sys import os from multiprocessing import connection ADDR = ('', 9997) AUTH_KEY = '12345' class Server(object): def __init__(self, username): self.auth_key = AUTH_KEY self.addr = ADDR self.username = username self.listener = connection.Listener(self.addr, authkey=self.auth_key) def listen(self): while True: conn = self.listener.accept() while True: try: request = conn.recv() response = self.response(request) conn.send(response) except EOFError: break conn.close() def reply(self): message = raw_input("%s: " % self.username) return message def output_request(self, request): sys.stdout.write('%s says: %sn' % request) def response(self, request): self.output_request(request) response = (self.username, self.reply()) return response class Client(object): def __init__(self, username): self.auth_key = AUTH_KEY self.addr = ADDR self.username = username self.display_name = self.make_display_name(username) def make_display_name(self, username): return "%s: " % username def connect(self): self.conn = connection.Client(self.addr, authkey=self.auth_key) while True: message = raw_input(self.display_name) self.send(message) response = self.conn.recv() self.output_response(response) def send(self, message): self.conn.send((self.username, message)) def output_response(self, response): sys.stdout.write('%s says: %sn' % response) def main(): mode = sys.argv[1] if mode == 'server': username = raw_input("Your name please: ") server = Server(username) server.listen() elif mode == 'client': username = raw_input("Your name please: ") client = Client(username) client.connect() if __name__ == '__main__': main()

  希望本文所述对大家的Python程序设计有所帮助。

(责任编辑:豆豆)
下一篇:

python实现简单ftp客户端的方法

上一篇:

python实现的简单RPG游戏流程实例

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com