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 文件操作实现代码
Oct 07 Python
Python中的filter()函数的用法
Apr 27 Python
Python列表和元组的定义与使用操作示例
Jul 26 Python
python数字图像处理之高级形态学处理
Apr 27 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
django 外键model的互相读取方法
Dec 15 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
面向对象学习之pygame坦克大战
Sep 11 Python
python 监测内存和cpu的使用率实例
Nov 28 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 Python
Python如何使用ConfigParser读取配置文件
Nov 12 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 中的一些经验积累
2006/10/09 PHP
php编写一个简单的路由类
2011/04/13 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
Python中的tuple元组详细介绍
2015/02/02 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
python中map的基本用法示例
2018/09/10 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
教师演讲稿大全
2014/05/16 职场文书
心理学培训心得体会
2016/01/22 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python