最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 14:34:09
文档

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

基于进程内通讯的python聊天室实现方法:本文实例讲述了基于进程内通讯的python聊天室实现方法。分享给大家供大家参考。具体如下: #!/usr/bin/env python # Added by import sys import os from multiprocessing import connection ADDR = ('', 9997)
推荐度:
导读基于进程内通讯的python聊天室实现方法:本文实例讲述了基于进程内通讯的python聊天室实现方法。分享给大家供大家参考。具体如下: #!/usr/bin/env python # Added by import sys import os from multiprocessing import connection ADDR = ('', 9997)


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

#!/usr/bin/env python
# Added by 
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
' % 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
' % 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聊天室实现方法

基于进程内通讯的python聊天室实现方法:本文实例讲述了基于进程内通讯的python聊天室实现方法。分享给大家供大家参考。具体如下: #!/usr/bin/env python # Added by import sys import os from multiprocessing import connection ADDR = ('', 9997)
推荐度:
标签: 聊天室 实现 python
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top