c - 如果网络发生变化,UDP 客户端套接字是否仍然可用?
问题描述
我有一个通过 UDP 传输数据并在手机上运行的程序。我发现当网络发生变化时(例如加入了另一个wifi),socket将无法使用,如果我调用send()
,会出现“Network is unreachable”的错误。
由于UDP是无状态的,我认为网络变化似乎对过渡无害,但现在我怀疑我是否错了。
那么,如果网络发生变化,UDP 客户端套接字是否仍然可用?如果是,什么可能导致“网络无法访问”错误?如果不是,“重新创建套接字”是恢复过渡的唯一方法吗?
PS该程序使用linux socket API并用C编写。
解决方案
推荐阅读
- ios - 在 swiftui 中构建用户模型
- html - 用于响应式卡片图像和内容的 Flexbox - 博客
- python - 将两个 matplotlib 滑块合并为一个
- node.js - Axios 写入 Firebase 时返回 401 错误
- next.js - 将 Next.js 应用程序中的 Pages 文件夹移动到 src 文件夹
- java - 计算文件中每一行的总数
- algorithm - 计算 A 的子序列的数量,使得子序列的每个元素都可以被它的索引整除(从 1 开始)
- flutter - 为什么我的单元测试失败但代码在手动测试中有效 - 通过 pumpAndSettle 在测试中状态似乎没有改变
- tensorflow - 如何使并行自定义层快速训练?
- database - 哪个 Firebase 数据库更快用于移动应用程序?