Python基于Socket实现的简单聊天程序示例

发布时间 - 2026-01-11 02:39:31    点击率:

本文实例讲述了Python基于Socket实现的简单聊天程序。分享给大家供大家参考,具体如下:

需求:SCIENCE 和MOOD两个人软件专业出身,厌倦了大众化的聊天软件,想着自己开发一款简易的聊天软件,满足他们的个性化需求,又不失“专业水准”,Talk is easy, try to code it.

技术:socket,详细可参考前文:Python Socket实现简单TCP Server/client功能

语言:python

尽管socket区分服务器和客户端,但是在聊天程序中两者是平等的关系,都是客户端程序。

Server.py

import socket
host = socket.gethostname()
port = 12345
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)
sock,addr = s.accept()
print('Connection built')
info = sock.recv(1024).decode()
while info != 'exit':
  print('MOOD:'+info)
  send_mes = input()
  sock.send(send_mes.encode())
  if send_mes =='exit':
    break
  info = sock.recv(1024).decode()
sock.close()
s.close()

Client.py

import socket
s= socket.socket()
host = socket.gethostname()
port = 12345
s.connect((host,port))
print('Linked')
info = ''
while info != 'exit':
  print('SCIENCE:'+info)
  send_mes=input()
  s.send(send_mes.encode())
  if send_mes =='exit':
    break
  info = s.recv(1024).decode()
s.close()

效果截图:

恩,太low了有木有?连个图形化界面都没有,跟别谈其他个性化功能了。希望他们继续努力,早日做出属于他们自己的聊天软件吧!

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# Python  # Socket  # 聊天程序  # python的tkinter布局之简单的聊天窗口实现方法  # 教你用Python创建微信聊天机器人  # python操作微信自动发消息的实现(微信聊天机器人)  # 基于Python如何使用AIML搭建聊天机器人  # 快速实现基于Python的微信聊天机器人示例代码  # Python实现聊天机器人的示例代码  # Python QQBot库的QQ聊天机器人  # python实现聊天小程序  # 使用Python AIML搭建聊天机器人的方法示例  # python实现简单聊天功能  # 聊天软件  # 自己的  # 客户端  # 都是  # 进阶  # 操作技巧  # 他们的  # 相关内容  # 数据结构  # 给大家  # 又不  # 更多关于  # 所述  # 连个  # 程序设计  # 使用技巧  # 图形化  # 跟别  # 编程技巧  # 但是在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  EditPlus 正则表达式 实战(3)  如何用美橙互联一键搭建多站合一网站?  Laravel如何配置任务调度?(Cron Job示例)  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  ,怎么在广州志愿者网站注册?  LinuxCD持续部署教程_自动发布与回滚机制  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何用花生壳三步快速搭建专属网站?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  高防服务器如何保障网站安全无虞?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  iOS中将个别页面强制横屏其他页面竖屏  网站制作软件有哪些,制图软件有哪些?  ,网页ppt怎么弄成自己的ppt?  微信小程序 五星评分(包括半颗星评分)实例代码  Linux系统命令中tree命令详解  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  七夕网站制作视频,七夕大促活动怎么报名?  Laravel如何实现多对多模型关联?(Eloquent教程)  如何在宝塔面板创建新站点?  Python数据仓库与ETL构建实战_Airflow调度流程详解  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel如何生成API文档?(Swagger/OpenAPI教程)  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何在服务器上三步完成建站并提升流量?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Android okhttputils现在进度显示实例代码  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel如何使用withoutEvents方法临时禁用模型事件  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  百度浏览器如何管理插件 百度浏览器插件管理方法  EditPlus中的正则表达式实战(5)  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  JavaScript模板引擎Template.js使用详解  如何选择PHP开源工具快速搭建网站?  如何快速生成橙子建站落地页链接?  浅谈javascript alert和confirm的美化  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  如何挑选优质建站一级代理提升网站排名?