基于Python的多人在线聊天程序

基于Python的多人在线聊天程序 项目简介 本项目的选题为项目六:聊天程序,具体项目任务如下所示: 经过开发,本项目最终实现了项目任务 2

本文包含相关资料包-----> 点击直达获取<-------

基于Python的多人在线聊天程序

项目简介

本项目的选题为项目六:聊天程序,具体项目任务如下所示:

经过开发,本项目最终实现了项目任务 2. 的大体功能,实现了多用户之间的在线聊天室。

项目分析

本项目采用 Django 框架,后端以 Python 为语言搭建 Web 界面作为聊天室的载体。通过借助Django的channels插件,在Django框架中实现基于Websocket 协议的数据传输,实现项目要求的具体任务。

实例展示

进入本地虚拟环境,启动 Django 服务器:

访问 进入项目主页面:

在输入框内输入聊天室名称“test”,进入名为 test 的聊天室:

新开两个网页,分别进入”test”和“anothertest”两个聊天室。在聊天室中发送内容“Hello world!”,检查不同聊天室的收到情况:

可以看到,处在同一聊天室的两个客户端实现了在线聊天,处在不同聊天室的客户端之间无法进行在线聊天。

项目目录:

核心代码: consumers.py: 负责处理通过 websocket 路由转发过来的请求和数据,类似于

“views.py”的功能。

```python import json from asgiref.sync import async_to_sync from channels.generic.websocket import WebsocketConsumer import datetime class ChatConsumer(WebsocketConsumer): def connect(self): self.room_name = self.scope['url_route']['kwargs']['room_name'] self.room_group_name = 'chat_%s' % self.room_name async_to_sync(self.channel_layer.group_add)( self.room_group_name, self.channel_name ) self.accept() def disconnect(self, close_code): async_to_sync(self.channel_layer.group_discard)( self.room_group_name, self.channel_name ) def receive(self, text_data): text_data_json = json.loads(text_data) message = text_data_json['message'] async_to_sync(self.channel_layer.group_send)( self.room_group_name, { 'type': 'chat_message', 'message': message } ) def chat_message(self, event): message = event['message'] datetime_str = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') self.send(text_data=json.dumps({ 'message': f'{datetime_str}:{message}' }))

```

room.html:前端关于即时通信的实现。

```python

{%load static%}

Chat Room

在线聊天室 By SJZ



{{ room_name|json_script:"room-name" }}

参考文献

  • 基于android系统的即时通讯系统设计与实现(山东大学·杜辽)
  • 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
  • 企业级即时通讯系统设计与实现(华南理工大学·余春贵)
  • JSP绘图聊天室系统设计与实现(四川大学·肖兰)
  • 基于Python Web的运动社交微信小程序(大连理工大学·赵兴东)
  • “Things-Cloud-People”:一个“Web of Things”实现方案(华东师范大学·汤承刚)
  • 企业内部即时通讯系统的设计与实现(内蒙古大学·王慧平)
  • 基于.NET自定义控件的社区网站系统研究与实现(武汉理工大学·刘亚)
  • 基于JSP的网上聊天室系统的设计与实现(电子科技大学·任飞)
  • 基于SSH的大学生联谊交友管理系统设计与实现(华中科技大学·王海波)
  • 多媒体通讯平台构建及应用研究(大连海事大学·曲智)
  • 企业级即时通讯系统设计与实现(华南理工大学·余春贵)
  • 基于Web浏览器的实时答疑系统的设计与实现(华中科技大学·李亚星)
  • 基于SSH框架的博客用户分享平台的设计与实现(河北工业大学·刘磊)
  • 基于JSP的网上聊天室系统的设计与实现(电子科技大学·任飞)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设港湾 ,原文地址:https://bishedaima.com/yuanma/36173.html

相关推荐

发表回复

登录后才能评论