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 布尔操作实现代码
Mar 23 Python
详解详解Python中writelines()方法的使用
May 25 Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 Python
python占位符输入方式实例
May 27 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
Jul 01 Python
Django重设Admin密码过程解析
Feb 10 Python
pytorch中图像的数据格式实例
Feb 11 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
Mar 01 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 Python
Python使用BeautifulSoup4修改网页内容
May 20 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功能多于Memcache
2011/06/14 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
深入理解Python中装饰器的用法
2016/06/28 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
django框架ModelForm组件用法详解
2019/12/11 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
Python连接Impala实现步骤解析
2020/08/04 Python
竞选部长演讲稿
2014/04/26 职场文书
工地标语大全
2014/06/18 职场文书
银行先进个人总结
2015/02/15 职场文书
使用Apache Camel表达REST服务的方法
2022/06/10 Servers