功能:类似qq群聊
        1.进入聊天室需要输入用户名
        2.有人进入聊天室有提示,其他人会收到提示
           xxx进入聊天室
        3.某人发消息,则其他人都能收到
          xxx说:xxxx
        4.有人退出聊天室其他人会收到提示
          xxx退出聊天室
        5.管理员功能,管理员喊话聊天室所有人都能收到

# -*- coding: utf-8 -*-from __future__ import unicode_literalsimport socketimport threadingsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.bind(('127.0.0.1', 8888))sock.listen(5)print('Server', socket.gethostbyname('127.0.0.1'), 'listening...')mydict = dict()mylist = list()def tellOthers(exceptnum, whattosay):for c in mylist:if c.fileno() != exceptnum:try:c.send(whattosay.encode())except:passdef subThreadIn(myconnection, connNumber):nickname = myconnection.recv(1024).decode()mydict[myconnection.fileno()] = nicknamemylist.append(myconnection)print('connection', connNumber, 'has nickname:', nickname)tellOthers(connNumber, '系统提示:' + mydict[connNumber].rstrip() + '进入聊天室\n')while True:try:recvedMsg = myconnection.recv(1024).decode()if recvedMsg:print(mydict[connNumber], ':', recvedMsg)tellOthers(connNumber, mydict[connNumber].rstrip() + ':' + recvedMsg)else:mylist.remove(myconnection)print(mydict[connNumber], 'exit,', len(mylist), 'person left')tellOthers(connNumber, '系统提示:' + mydict.pop(connNumber).rstrip() + '离开聊天室!\n剩余'+ str(len(mylist)) + '人在聊天室')myconnection.close()returnexcept (OSError, ConnectionResetError):passwhile True:connection, addr = sock.accept()print('Accept a new connection',connection.getsockname(), connection.fileno())try:buf = connection.recv(1024).decode()if buf == '1':a = '首次请输入昵称,才可以接收消息!!!\n'connection.send(a.encode())mythread = threading.Thread(target=subThreadIn, args=(connection, connection.fileno()))mythread.setDaemon(True)mythread.start()else:connection.send(b'please go out')connection.close()except:pass

聊天室小程序服务端源码(客户端接下一条)相关推荐

  1. java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计信用卡增值业务系统小程序用户端源码+mysql数据库+lw文档+系统+调试部 ...

  2. 计算机毕业设计Java课堂管理系统小程序用户端(源码+mysql数据库+系统+lw文档)

    计算机毕业设计Java课堂管理系统小程序用户端(源码+mysql数据库+系统+lw文档) 计算机毕业设计Java课堂管理系统小程序用户端(源码+mysql数据库+系统+lw文档) 本源码技术栈: 项目 ...

  3. 计算机毕业设计Java信用卡增值业务系统小程序管理端(源码+系统+mysql数据库+lw文档

    计算机毕业设计Java信用卡增值业务系统小程序管理端(源码+系统+mysql数据库+lw文档 计算机毕业设计Java信用卡增值业务系统小程序管理端(源码+系统+mysql数据库+lw文档) 本源码技术 ...

  4. 外卖扫码点餐系统源码 后台管理端+商家端+门店端+小程序用户端源码

    外卖点餐 堂食点餐 扫码点餐 本套扫码点餐系统源码基于java语言开发,移动端原生小程序,SaaS模式.代码完整,带部署调试视频. 系统由总后台管理端+商家端+门店端+小程序用户端组成,支持扫码点单. ...

  5. GoEasy小程序即时通讯源码 v1.1.0基于GoEasy提供的websocket通讯服务

    介绍: GoEasy小程序即时通讯源码是一个基于GoEasy提供的websocket通讯服务,实现的小程序即时通讯,支持一对一单聊.群聊.会话列表.上下线提醒.历史消息.离线消息,支持发送图片.视频. ...

  6. 五子棋服务端程序java_9网上五子棋对战(java)服务端源码

    9网上五子棋对战(java)服务端源码 网上五子棋对战(java)服务端源码 /* 五子棋游戏是本人在学习java swing时写的一个程序,程序分两部分:服务器端和客户端.运行程序时先运行服务器端, ...

  7. 最新WordPress微信小程序社区论坛源码多端应用

    WordPress多端应用 WordPress作为后端生成多端小程序.快应用及APP,可用于资讯.新闻.博客.企业官网等 后端 使用开源博客建站系统wordpress和微慕小程序开源版插件 前端使用u ...

  8. 多端合一小程序商城制作系统源码 后台自由DIY+全开源可二开

    分享一个多端合一小程序商城制作系统源码,系统后台自由DIY,含完整前后端+部署教程,源码全开源可二开. 系统支持7个终端+一个后台,省去一个平台开发一个小程序的麻烦,支持微信小程序.支付宝小程序.百度 ...

  9. Live:主流技术构建即时聊天室演示应用,直播源码

    Live :服务端采用 RTMP(Nginx), WebSocket(Socket.io),客户端 VideoCore+IJKPlayer 构建即时聊天室演示应用. 这个项目是为了演示如何建立一个现场 ...

最新文章

  1. codeforces1700数学:E2. Close Tuples (hard version)[组合计数 逆向统计] D. Circle Game[对称博弈考虑对称状态的胜负]
  2. python到底干嘛的-Python是干嘛的?可以做什么?老男孩Python培训班
  3. Linux调试——gdb调试器的简单使用调试coredump文件
  4. mysql 利用binlog增量备份,还原实例
  5. 同志亦凡人第五季/全集BQueer As Folk 5迅雷下载
  6. oracle severity,ORACLE10G如何清除OEM下的历史警告信息
  7. iPhone屏幕尺寸/launch尺寸/icon尺寸
  8. 99乘法表(java版)
  9. 怎么调出全局搜索_局部静态变量只能初始化一次?它是怎么实现的
  10. 11G新特性 -- Expression Statistics
  11. CAPL如何组装自定义报文
  12. LNode *和LinkList的小区分
  13. 春暖花开,放慢脚步,享受生活!
  14. 鸿蒙初开再往前是什么,鸿蒙初开造句,用鸿蒙写一句话
  15. zemax设置 像方远心_像方远心光学系统具有以下特征
  16. Asp.Net Ajax (2)---ScriptManager
  17. Win7 各种语言包下载
  18. 【纪中集训2019.3.30】星辰大海
  19. 精益生产25个必备工具!
  20. windows安装torch_sparse\torch_geometric\torch_cluster

热门文章

  1. 意法半导体 STM32F102C4 芯片解密 芯片特性
  2. 物理木板过河问题java_抖音捡木板过河
  3. QtCreator添加文件夹
  4. ios上传ipa:Xcode导入ipa上传至App Store
  5. uniApp实现热更新
  6. 七、vertical-align属性、透明度属性及兼容、ps常用工具、常见的图片格式、项目规范、命名参考、iconfont的使用
  7. 超星移动图书馆opds_移动图书馆工厂实验室为农村地区带来了新技能
  8. 【前端框架】前端框架学习
  9. 60种提升自身能量的方法
  10. 数据结构第一节课感受