我有一个通过WebSocket不断连接到服务器的应用程序。
我注意到,当首次通过移动网络建立连接时(由于缺少WiFi),我稍后将设备连接到WiFi网络,WebSocket连接仍将通过移动网络进行通信。
如何检测出这种情况,以便我明确地重新连接到服务器?
我知道我可以收听WifiManager.SUPPLICANT_STATE_CHANGED_ACTION / SupplicantState.COMPLETED
以触发重新连接,但只有当我确定目前有一个使用移动网络的WebSocket连接时,我才会这样做。如何查询正在使用的网络的TCP连接?
我还注意到,如果我立即重新连接作为对WifiManager.SUPPLICANT_STATE_CHANGED_ACTION / SupplicantState.COMPLETED
的回复,似乎仍然认为Mobile是首选频道。好像需要花费几秒钟才能意识到它可以使用WiFi进行连接。有没有人对此有更多的了解?