Python使用Socket实现简单聊天程序


Posted in Python onFebruary 28, 2020

b2b模式的聊天工具

服务端:

# 链接
while True:
 print('等待连接...')
 sock,adr = server_socket.accept()
 while True:
  try:
   # 接受数据
   data = sock.recv(1024)
   print(adr[0] + '发来消息:', data.decode())
   # 发送数据
   send_msg = input("请输入发送内容>>").strip()
   sock.send(send_msg.encode('utf-8'))
  except ConnectionResetError as e:
   print('%s断开连接!' %adr[0])
   break
 # 关闭本次连接
 sock.close()
# 关闭socket
server_socket.close()

客户端:

import socket

# 设置服务器ip和端口号
host_ip = '192.168.31.207'
port = 8896
client_socket = socket.socket()
client_socket.connect((host_ip,port))

while True:
 send_msg = input('请输入内容>>').strip()
 if send_msg == '':
  continue
 client_socket.send(send_msg.encode())
 recv_data = client_socket.recv(1024)
 print(host_ip+"回复:"+recv_data.decode())

client_socket.close()

目前只支持客户端发一句,服务端发一句这种模式。

超过一句内容后,发出去的内容对方接收不到

结果:

Python使用Socket实现简单聊天程序Python使用Socket实现简单聊天程序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python设计模式之观察者模式实例
Apr 26 Python
初步探究Python程序的执行原理
Apr 11 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 Python
PyQt5每天必学之进度条效果
Apr 19 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
Python异常的检测和处理方法
Oct 26 Python
pybind11和numpy进行交互的方法
Jul 04 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
python如何实现word批量转HTML
Sep 30 Python
python使用bs4爬取boss直聘静态页面
Oct 10 Python
在python3中使用shuffle函数要注意的地方
Feb 28 #Python
Python对称的二叉树多种思路实现方法
Feb 28 #Python
pycharm如何实现跨目录调用文件
Feb 28 #Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 #Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 #Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 #Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 #Python
You might like
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
js onpropertychange输入框 事件获取属性
2009/03/26 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python matplotlib绘制三维图的示例
2020/09/24 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
Ruby如何实现动态方法调用
2012/11/18 面试题
农村婚礼证婚词
2014/01/08 职场文书
软件项目实施计划书
2014/05/02 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
党员对照检查材料
2014/09/22 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL