Hololens 2: información de WinRT: normalmente, solo se permite un uso de cada dirección de socket (protocolo/dirección de red/puerto)
– UnityAssets3Free
buenas , me llamo josel luis y esta vez os traigo
esta unity pregunta
Fondo
Estoy desarrollando una aplicación en Hololens 2 en Unity (2019.3) usando:
- paquete MRTK
- HoloLensForCV
Estoy siguiendo el ejemplo de ArUcoHololensDetección en Unity. El plan es agregar alguna funcionalidad después de la detección de etiquetas ArUco.
adjunto el guion ArUcoMarkerDetección a un botón para que cada vez que se haga clic en este botón se inicie la detección. Una vez que se detecta la etiqueta, llamo a otra escena con nuevos guiones.
Después de detectar la etiqueta, llamo StopHoloLensMediaFrameSourceGroup()
del anexo ArUcoMarkerDetección que a su vez espera hasta _pvMediaFrameSourceGroup.StopAsync()
Está completo.
Error
Sin embargo, la secuencia de comandos se ejecuta con éxito por primera vez y cuando hago clic en el botón, comienza el proceso nuevamente. No funciona y en su lugar me sale este error:
Excepción lanzada en 0x76E4E2AF en Visual Tag Detector.exe: Microsoft C++ Exception: Platform::COMException ^ en la ubicación de memoria 0x0234F428. HRESULT:0x80072740 Normalmente, solo se permite un uso de cada dirección de socket (protocolo/dirección de red/puerto). Información de WinRT: normalmente solo se permite un uso de cada dirección de socket (protocolo/dirección de red/puerto).
UnityPlayer.Log
Parece que no hay problemas relacionados con las declaraciones al final. Solo detente en:
seguimiento de pila
(Pensé en pegar la imagen porque los punteros de texto interferían con el formato) El depurador se detiene en este archivo excptptr.cpp.
lo que probé
- Intenté eliminar PrivateClientServer e InternetClientServer de los recursos en la configuración del reproductor> configuración de publicación
- Traté de cargar la escena usando
SceneManager.LoadSceneAsync("SceneName")
ySceneManager.LoadSceneAsync("SceneName", LoadSceneMode.Single)
- Verifiqué que la nueva escena estuviera cargada y la vieja escena fuera eliminada, ya que sospechaba que los objetos del juego antiguo podrían interferir con el funcionamiento.
- Parece que hay algún código relacionado con el socket al final del script. ArUcoMarkerDetecciónpero la aplicación tiene los mismos problemas con y sin este bloque de código.
- Se agregaron servidores de símbolos de Microsoft en Herramientas> Depuración> Símbolos
- Adicional
DontDestroyonLoad()
sobre ArUcoMarkerDetección
Continuar
Si hago clic en continuar durante la depuración, el problema desaparece y el script funciona y comienza a detectar otras etiquetas.
No puedo entender dónde está entrando en juego el problema del socket, ya que no he escrito ningún código relacionado con el socket. Las únicas declaraciones de registro relacionadas con sockets que puedo verificar están en UnityPlayer.Log al comienzo del archivo:
Y no puedo verificar dónde se usa exactamente la dirección del socket anterior, como en Hololens 2, no estoy seguro de poder verificar eso.
Mi enrutador no admite multidifusión, por lo que lamentablemente no es posible depurar con Hololens.
Me gustaria saber si alguien ha tenido el mismo problema y si es asi como lo resolvio?
0
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
sin mas,hasta la proxima