首页 > 解决方案 > 如果网络发生变化,UDP 客户端套接字是否仍然可用?

问题描述

我有一个通过 UDP 传输数据并在手机上运行的程序。我发现当网络发生变化时(例如加入了另一个wifi),socket将无法使用,如果我调用send(),会出现“Network is unreachable”的错误。

由于UDP是无状态的,我认为网络变化似乎对过渡无害,但现在我怀疑我是否错了。

那么,如果网络发生变化,UDP 客户端套接字是否仍然可用?如果是,什么可能导致“网络无法访问”错误?如果不是,“重新创建套接字”是恢复过渡的唯一方法吗?

PS该程序使用linux socket API并用C编写。

标签: clinuxsocketsudp

解决方案


推荐阅读