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实现截屏的函数
Jul 26 Python
十条建议帮你提高Python编程效率
Feb 16 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
使用Python正则表达式操作文本数据的方法
May 14 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
Python列表倒序输出及其效率详解
Mar 04 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
Django模型层实现多表关系创建和多表操作
Jul 21 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的memcached客户端memcached
2011/06/14 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
PHP is_array() 检测变量是否是数组的实现方法
2016/06/13 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
vue.js的提示组件
2017/03/02 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
Python使用回溯法子集树模板解决迷宫问题示例
2017/09/01 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
python三大神器之fabric使用教程
2019/06/10 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
python带参数打包exe及调用方式
2019/12/21 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
python 通过exifread读取照片信息
2020/12/24 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
图书馆标语
2014/06/19 职场文书
思想品德课教学反思
2016/02/24 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
python 远程执行命令的详细代码
2022/02/15 Python