python:如何在服务器端检测客户端断开连接?

2024-01-03

我正在用 python 进行套接字编程,我想在服务器端检测客户端套接字断开连接。

Client:

socket.connect(host, port)
try:
    """ send something to server and get response from the server"""
except KeyboardInterrupt:
    socket.shutdown(socket.SHUT_RDWR)
    socket.close()

Server:

conn, address = socket.accept()
try:
    conn.send(message)
except:
    print "-1"

但是当我第一次运行这段代码时,我通过键盘中断关闭客户端,服务器不会在屏幕上打印-1。当我再次尝试时,服务器将捕获异常并打印-1。

我想知道我的代码是否有问题。为什么服务器不能第一时间检测到断线?

Thanks.


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python:如何在服务器端检测客户端断开连接? 的相关文章

  • 让 VoiceChannel.members 和 Guild.members 返回完整列表的问题

    每当我尝试使用 VoiceChannel members 或 Guild members 时 它都不会提供适用成员的完整列表 我从文本命令的上下文中获取 VoiceChannel 和 Guild 如下所示 bot command name
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • 在 Celery 任务中调用 Google Cloud API 永远不会返回

    我正在尝试拨打外部电话Google Cloud Natural Language API从一个内Celery任务 使用google cloud python包裹 问题是对 API 的调用永远不会返回 挂起 celery task def g
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • Protobuf 如何编码 oneof 消息结构

    对于这个 python 程序 在编码时运行 protobuf 编码会给出以下输出 0a 10 08 7f8a 0104 08 02 10 0392 0104 08 02 10 03 18 01 我不明白的是为什么8a后面有一个01 为什么9
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2

随机推荐

  • 如何在flutter中将来自api的复杂json响应存储在本地数据库中?

    我想保存来自 api 的整个 json 响应 我尝试使用 SQFLITE 库来存储 但无法实现存储完整的 json 因为它需要以表格式存储 我对扑动很陌生 任何人都可以建议我如何实现这一目标 下面我附上我的示例 json 供您参考 resu
  • 从 std::string_view 派生的对象的比较在 MSVC 中不明确

    TL DR 我是否可以期望下面的代码可以在任何符合 c 17 的 c 工具链 基于当前的 c 17 提案 上进行编译 而 MSVC 未能这样做是其实现中的一个错误 include
  • Zeromq:如何在 C++ 中访问 tcp 消息

    我是 ZeroMQ 的新手 正在学习 echo 客户端 服务器模式 请求 回复 的 C hello world 示例 服务器看起来像 Hello World server in C Binds REP socket to tcp 5555
  • 核心数据性能:NSPredicate 比较对象

    If my Author NSManagedObject模型有一个authorID属性 由服务器确定 将NSFetchRequest表现更好 如果NSPredicate过滤依据authorID而不是完整的Author目的 假设我正在获取所有
  • Web.config 中的程序集

    我从事 NET开发大约有一年了 但我仍然不知道这样做的目的是什么
  • Flutter 中是否可以监听系统语言的变化?

    当用户更改系统语言时是否可以收听 当用户更改语言时 我需要清除一些列表 现在我正在检测中的语言void main 启动时运行 void main async Firebase Push Notifications initializatio
  • 如何处理 HTTP 响应中的多个 Set-Cookie 标头

    我正在尝试出于某种目的编写简单的代理服务器 在其中我使用 httplib 来访问远程 Web 服务器 但有一个问题 Web 服务器在一个响应中返回两个 Set Cookie 标头 而 httplib 在 httplib HTTPRespon
  • 更改 UINavigationBar 高度

    有人可以告诉我如何更改导航栏高度吗 这是我到目前为止所拥有的 CGFloat navBarHeight 10 self navigationController navigationBar frame size width navBarHe
  • 使用 EGit 进行合并会导致提交合并所做的所有更改

    我正在使用带有 EGit 的 Eclipse 并且我的 origin master 位于 github 上 这个项目有 3 名程序员工作 当我将更改拉到本地 git 使用 EGit 并且存在冲突时 我会解决它们 没有问题 问题是 当我提交时
  • 按值而非引用将对象属性复制到映射

    我不确定哪里出了问题 但似乎我无法从对象实例复制属性并将它们分配给映射 而在保存实例后不更改值 这是一个示例类 class Product String productName String proudctDescription int q
  • Django 中相同表单的两个不同的提交按钮

    我在 Django 中有一个 UpdateView 我只有一个普通的提交按钮 当对象正确更新时 它会通过以下方式重定向到对象列表success url 我可以制作两个不同的提交按钮 一个提交并重定向到对象列表页面 ListView 的按钮
  • 在 django 中通过一个查询获取多行?

    如何构建一个从 django 获取多行的 QuerySet 我认为 filter 会起作用 但它似乎更糟 例如 我在模型 Car 中有两行 具有两个文本属性 许可证和 vin 现在假设我想打印这些汽车的执照和车辆证明 我怎样才能通过一次数据
  • 使用 JavaFX 制作 Eclipse 插件? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划为 Eclipse 开发一组丰富的插件 其中涉及 Eclipse 内的 3D 图形渲染 JavaFX 是开发 Eclipse 插件的良好技
  • 如何在基于类的视图中返回 JSON 响应,而不是 HTTP 响应

    我有一个基于阶级的观点 我在引导模式上使用 Ajax 为了避免页面刷新 我想使用基于类的视图返回 JSON 响应而不是 HTTP 响应 但我只看到了如何为基于函数的视图返回 JSON 响应 视图 py from django contrib
  • 努力将 Objective C 选择器和目标签名转换为 Swift

    再会 我正在尝试将 Objective C 代码片段转换为 Swift 我知道选择器可以通过将其放入字符串中来直接翻译 但我无法理解 Objective C 签名 Objective C 选择器 第二个参数 UIImageWriteToSa
  • React Native FAILURE:构建失败并出现异常。无法解析“:classpath”。找不到 com.android.tools.build:gradle:3.0.1

    当我发出命令 react native run android 时 它发生了 失败 构建失败并出现异常 What went wrong A problem occurred configuring root project AsomePro
  • 同时写入同一个文件

    好的 我知道这个网站上有关于这个问题的类似问题 但是这些问题和提供的答案都不是我所需要的 我正在构建基于平面文件的 CMS 例如 如果 2 3 10 追加模式下的fwrite请求同时到达同一个php文件 contact form messa
  • 将变量声明为无符号的重要性

    如果您知道变量永远不应该为负数 那么将变量声明为无符号是否重要 它是否有助于防止除负数之外的任何内容被输入到不应该包含负数的函数中 将语义上非负值的变量声明为unsigned是一种良好的风格和良好的编程实践 但是 请记住 这并不能阻止您犯错
  • PHP 解析 .dat 文件

    我有一个 dat 文件 本质上是 分隔文件 我正在尝试将其转换为制表符分隔的 txt 我不确定的问题是新文件的每一行将是原始文件的 3 行的组合 每个原始行都有不同数量的数据 第一列仅标识分组中的每一行 最好的方法是什么 原始数据样本 01
  • python:如何在服务器端检测客户端断开连接?

    我正在用 python 进行套接字编程 我想在服务器端检测客户端套接字断开连接 Client socket connect host port try send something to server and get response fr