Red de conocimiento informático - Aprendizaje de programación - iOS especifica el uso de la red celular en entorno wifi

iOS especifica el uso de la red celular en entorno wifi

Recientemente, he solicitado acceder a la función de verificación de número de teléfono móvil de Telecom, la API de verificación de número de teléfono móvil de Telecom. A través de la comunicación con el personal de telecomunicaciones, el terminal móvil debe utilizar datos celulares de telecomunicaciones para obtener con éxito el código de acceso y verificarlo con el número local. Es decir, si tanto el wifi como los datos móviles están activados, las solicitudes de red que utilizan datos móviles se realizarán correctamente. ¿Qué diablos está pasando? ¿No se trata de utilizar en secreto el tráfico de datos del usuario? Esta función no se puede realizar en absoluto, por lo que solo podemos encontrar las soluciones correspondientes.

Buscando información en Internet, inspirado en esta tarjeta de red conmutada, intenté usar getifaddrs() para obtener toda la información de la dirección de la máquina, donde "pdp_ip0" es la dirección de datos del móvil. Luego, el socket asigna esta dirección como salida de la tarjeta de red y listo.

Para implementar solicitudes http a través de sockets, consulte la demostración de http en CocoaAsyncSocket

En startSocket, puede ver que el socket especifica la dirección y el puerto de la conexión. Es necesario especificar la salida de la tarjeta de red local, por lo que debemos cambiar el método de acceso, como la siguiente interfaz para que podamos especificar la interfaz local, el resto es obtener la IP local y pasarla a este método.

Obtener la dirección IP local

Después de establecer la conexión, organice y envíe paquetes de solicitud http de acuerdo con el protocolo.

La conexión se ha establecido.