公司电脑不让用IM工具聊天?50行代码写个聊天室

公司电脑不让用IM工具聊天?50行代码写个聊天室

作者:小K

来源:麦叔编程

“

今天教大家写个聊天室功能,该程序只有几十行代码,这比动辄几百兆的通讯软件包来说简直就是“神纯净版本”。而且关闭解释环境之后是不会留下任何信息痕迹的,所以可以放心使用。

原理/流程

需要用到TCP/IP协议,Socket技术。

  • 我们需要先建立一个主机,让他监听对应的端口号。
  • 如果有客户端访问该端口号建立TCP连接。
  • 主机收到有客户端上线的提示,并向该客户端发送消息。
  • 客户端收到消息之后也可以向主机发送消息。
  • 先写个主机端(Server)

    import sockethost = socket.gethostname() #获取主机地址port = 8888 #设置端口号nick_name = “麦叔”s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind((host, port)) # 绑定地址s.listen(1) # 设置最多连接数量sock, addr = s.accept() # 被动接收TCP客户端连接print(‘Connected’)info = sock.recv(1024).decode() # 接收Client数据while ‘Quit’ not in info: if info: print(info) send_data = input(‘输入发送内容:’) send_data = nick_name + “: ” + send_data sock.send(send_data.encode()) # 发送TCP数据包 if ‘Quit’ in send_data: break info = sock.recv(1024).decode() # 接收Client数据sock.close() # 关闭客户端Sockets.close() # 关闭服务端Socket

    主机端代码分为三部分,

    第一部分:构建主机的HOST和PORT…创建监听任务;

    第二部分:接收发送 数据;

    第三部分:当输入“Quit”之后,断开连接,程序结束(影响客户端)。

    再写个客户端(Client)

    import sockets = socket.socket() # 创建TCP/IP套接字host = socket.gethostname() # 获取主机地址port = 8888nick_name = “小K”s.connect((host, port)) # 初始化TCP服务器连接print(‘Client Connected’)info = ”while ‘Quit’ not in info: send_data = input(‘输入发送的内容:’) send_data = nick_name + “: ” + send_data s.send(send_data.encode()) # 发送TCP数据 if ‘Quit’ in send_data: break info = s.recv(1024).decode() #接收服务端数据 print(info)s.close() # 关闭Socket连接

    主机端代码分也为三部分,

    第一部分:构建HOST和PORT信息,并与主机端创建连接;

    第二部分:接收发送 数据;

    第三部分:当输入“Quit”之后,断开连接,程序结束(不影响主机端)。

    试试功能

    使用两个命令行终端,分别运行两个代码文件;

    聊天功能;

    体验非常好!

    后记

    上文的两段代码只是实现了最简单的聊天功能,如果想做的更像一个聊天室,可以在上面的代码中对其进行深度开发。

    最后可能会开发出一个QQ一样的程序~

    CDA数据分析师分享案例,欢迎大家留言分享你的建议。

    郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
    用户投稿
    上一篇 2022年6月21日 12:21
    下一篇 2022年6月21日 12:21

    相关推荐

    • 全民K歌升级新版本7.0之后,有哪些隐藏功能?

      作者:高百烈来源:知乎 这个功能,旧版并没有,要升级到全新的全民K歌7.0版本才能发现。 作为朋友圈当代K歌之王,我费了不少功夫才抢到内测版本。有一说一,全民K歌的路子真的很野,新…

      2022年11月25日
    • 上手Reno8 Pro体验跨屏互联 实在太方便!

      11月已经来到了月底,在手机品牌又要推出新一年度的新品手机之前,我们来点评一下今年令人惊喜的产品。如OPPO的Reno8 Pro系列,该系列搭载双芯影像配置获得了很多消费者的认可。…

      2022年11月25日
    • 什么是推广cpa一篇文章带你看懂CPA推广渠道

      CPA渠道 CPA指的是按照指定的行为结算,可以是搜索,可以是注册,可以是激活,可以是搜索下载激活,可以是绑卡,实名认证,可以是付费,可以是浏览等等。甲乙双方可以根据自己的情况来定…

      2022年11月25日
    • 抖音直播带货有哪些方法技巧(抖音直播带货有哪些痛点)

      如今抖音这个短视频的变现能力越来越突显了,尤其是在平台上开通直播,更具有超强的带货属性,已经有越来越多的普通人加入到其中了。不过直播带货虽然很火,但是也不是每个人都能做好的,那么在…

      2022年11月24日
    • 英皇文化产业:结束全部7间英皇UA电影城经营

      11月21日,英皇文化产业发布公告,英皇娱艺影院(广东)有限公司(“中国附属公司”)为英皇UA的全资附属营运公司。 董事会谨此知会公司股东,于2022年11月21日,英皇UA(作为…

      2022年11月24日
    • 今天出入济南最新通知(出入济南政策最新消息今天)

      近日济南疫情感染人数也在不断增加,划分的高风险区也是越来越多了。据最新统计,截止2022年11月24日11时,济南共有低风险地区12处,高风险地区338处。很多朋友都担心现在济南无…

      2022年11月24日
    • 免费清理c盘的软件(清理c盘空间不影响系统)

      电脑用久了慢如龟速,还卡顿,这最大的原因啊就是C盘空间不足造成的。 即使电脑配置再好,或者硬盘再快,如果长时间没有打扫C盘,打开文件或者稳定之类的,都卡得让人头大。 这时候呢不要去…

      2022年11月24日
    • 本人由于个人原因辞职30字(最简单的个人辞职原因)

      做人留一线,日后好相见!我们不断地被职场潜规则着,同时也在制造一些潜规则,每一个离职理由的背后都有一段难以言说的辛酸!离职的时候如果不想说明真实原因,究竟该怎么说合适呢?1、 想读…

      2022年11月24日
    • 华为手机怎么扫一扫连接wifi(手机扫一扫在哪里)

      手机浏览器可以用来浏览网页、看新闻、看视频,还能搜索问题,在我们的工作生活中浏览器占据着非常重要的位置。手机浏览器除了这些作用,其实它隐藏着其他功能,比如:扫一扫。扫一扫可不只是用…

      2022年11月24日
    • 明查|美国新冠后遗症患者中有16%症状严重以致无法工作?

      点击进入澎湃新闻全球事实核查平台 速览 – 网传数据比例无权威信源佐证,该比例有可能是结合了美国疾病防控中心和布鲁金斯学会的数据得出,但这两个机构的调研目的和样本都不同…

      2022年11月24日

    联系我们

    联系邮箱:admin#wlmqw.com
    工作时间:周一至周五,10:30-18:30,节假日休息