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深入学习之上下文管理器
Aug 31 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
Jun 07 Python
python使用sqlite3时游标使用方法
Mar 13 Python
对numpy中数组元素的统一赋值实例
Apr 04 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
使用python编写udp协议的ping程序方法
Apr 22 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
python smtplib发送带附件邮件小程序
May 22 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
python实现邮件自动发送
Aug 10 Python
python操作yaml说明
Apr 08 Python
python通配符之glob模块的使用详解
Apr 24 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
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
python递归计算N!的方法
2015/05/05 Python
python采集百度百科的方法
2015/06/05 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
Python基础之文件读取的讲解
2019/02/16 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
营业员演讲稿
2013/12/30 职场文书
学生自我评价范文
2014/02/02 职场文书
体育节口号
2014/06/19 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
大四学生个人总结
2015/02/15 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
终止劳动合同通知书
2015/04/16 职场文书
初一年级组工作总结
2015/08/12 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android