theta-client icon indicating copy to clipboard operation
theta-client copied to clipboard

theta-client-react-native initialize() Error: Failed to connect to InetSocketAddress(hostname=192.168.1.1, port=80).

Open mirabo-trunghoang opened this issue 2 years ago • 4 comments

When I call initialize(), sometimes it throws this error:

HttpClient: REQUEST http://192.168.1.1/osc/info failed with exception: kotlin.IllegalStateException: Failed to connect to InetSocketAddress(hostname=192.168.1.1, port=80).
Error: Failed to connect to InetSocketAddress(hostname=192.168.1.1, port=80).

Note that the iPhone is connected to the Theta camera Wifi already, and if I tried to call this function several times, it was successful (maybe the second time or third time,...). Almost the time, it failed when trying to connect after the first time installing the app.

The code I implemented. I use WifiManager to connect to the Theta Wifi first then call initialize()

 try {
      await WifiManager.connectToProtectedSSID(thetaSsid, password, false, false)
      await initialize();
    } catch (error) {
      console.warn(`${error}`)
    }

I know it may encounter some error when connecting but in the production, it seems not acceptable. Please help to figure out the season why this issue happens. Thanks.

mirabo-trunghoang avatar Apr 03 '24 08:04 mirabo-trunghoang

@mirabo-trunghoang React Native WifiManager.connectToProtectedSSID() calls NEHotspotConfigurationManager internally. I found NEHotspotConfigurationManager issue that may be helpful for your issue.

simago avatar Apr 09 '24 01:04 simago

Hi @simago It seems the connection is not completely established after calling WifiManager.connectToProtectedSSID(), then Theta function initialize() would not have enough data to perform initialization, right? Do you have any suggestions for us to handle this situation? How does the Theta mobile app (the official app) handle this? Thanks for supporting.

mirabo-trunghoang avatar May 22 '24 07:05 mirabo-trunghoang

@mirabo-trunghoang I think there is a delay between the completion of WifiManager.connectToProtectedSSID() and the completion of WiFi connection. I could not find Theta application using WifiManager.connectToProtectedSSID() .

simago avatar May 22 '24 23:05 simago

@simago Yes, I'm just curious about how the Theta mobile app handles the connection. Regarding the connection not being fully established after calling the WifiManager function, I'm thinking of solving it by adding a delay (3 seconds) before calling the Theta initialization function, but it's also not guaranteed to work 100%.

mirabo-trunghoang avatar May 23 '24 01:05 mirabo-trunghoang