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迭代器的使用方法实例
Nov 21 Python
从Python的源码浅要剖析Python的内存管理
Apr 16 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 Python
详解Python中的分组函数groupby和itertools)
Jul 11 Python
python调用外部程序的实操步骤
Mar 04 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
tensorflow实现训练变量checkpoint的保存与读取
Feb 10 Python
Python利用for循环打印星号三角形的案例
Apr 12 Python
详解python logging日志传输
Jul 01 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
使用python生成大量数据写入es数据库并查询操作(2)
Sep 23 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 mysql索引问题
2008/06/07 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
自己开发Dojo的建议框架
2008/09/24 Javascript
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
Array数组对象中的forEach、map、filter及reduce详析
2018/08/02 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
HTML5重塑Web世界它将如何改变互联网
2012/12/17 HTML / CSS
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
教师节活动主持词
2014/04/02 职场文书
微笑服务演讲稿
2014/05/13 职场文书
化验员岗位职责
2015/02/14 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书