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读写Excel文件方法介绍
Nov 22 Python
总结Python编程中函数的使用要点
Mar 20 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
Jul 30 Python
python 实现tar文件压缩解压的实例详解
Aug 20 Python
Python中矩阵库Numpy基本操作详解
Nov 21 Python
Python比较2个时间大小的实现方法
Apr 10 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 Python
一文搞懂如何实现Go 超时控制
Mar 30 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
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
python操作日期和时间的方法
2014/03/11 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
python的sys.path模块路径添加方式
2020/03/09 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
人事主管的岗位职责
2013/11/16 职场文书
学校门卫管理制度
2014/01/30 职场文书
社区庆八一活动方案
2014/02/02 职场文书
学校卫生检查制度
2014/02/03 职场文书
本科生自荐信
2014/06/18 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB