基于進程內(nèi)通訊的python聊天室實現(xiàn)方法
更新時間:2015年06月28日 15:44:43 作者:不吃皮蛋
這篇文章主要介紹了基于進程內(nèi)通訊的python聊天室實現(xiàn)方法,實例分析了Python聊天室的相關實現(xiàn)技巧,需要的朋友可以參考下
本文實例講述了基于進程內(nèi)通訊的python聊天室實現(xiàn)方法。分享給大家供大家參考。具體如下:
#!/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: %s\n' % 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: %s\n' % 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實現(xiàn)多人聊天室
- python編寫簡易聊天室實現(xiàn)局域網(wǎng)內(nèi)聊天功能
- Python Socket編程之多線程聊天室
- 基于python實現(xiàn)聊天室程序
- Python實現(xiàn)基于C/S架構的聊天室功能詳解
- Python聊天室程序(基礎版)
- Python socket實現(xiàn)簡單聊天室
- python基于twisted框架編寫簡單聊天室
- 小小聊天室Python代碼實現(xiàn)
- python socket多線程通訊實例分析(聊天室)
- Python聊天室實例程序分享
- Python實現(xiàn)的使用telnet登陸聊天室實例
- Python socket C/S結構的聊天室應用實現(xiàn)
- python實現(xiàn)簡單多人聊天室
相關文章
Python中用pycurl監(jiān)控http響應時間腳本分享
這篇文章主要介紹了Python中用pycurl監(jiān)控http響應時間腳本分享,本文腳本實現(xiàn)監(jiān)控http相應碼,響應大小,建立連接時間,準備傳輸時間,傳輸?shù)谝粋€字節(jié)時間,完成時間,需要的朋友可以參考下2015-02-02python爬蟲爬取網(wǎng)頁表格數(shù)據(jù)
這篇文章主要為大家詳細介紹了python爬蟲爬取網(wǎng)頁表格數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03