Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Solid Water en Febrero 23, 2025, 03:40:51 PM

Título: problemas con sockets c++ a ver si me iluminan
Publicado por: Solid Water en Febrero 23, 2025, 03:40:51 PM
tengo unos problemas con una aplicacion.
la aplicacion al iniciarse inicia todos los sockets correctamente.
la aplicacion luego de destruirse a si misma y reiniciarse deja de conectar un socket.

pues yo pensé que el socket no se estaba deleteando correctamente por lo que use diversos códigos batch para matar todos los procesos adjuntados a los puertos así de esta manera se liberara el puerto y este disponible nuevamente:




setlocal


set PORT=7134

REM Find the PID of the process using the specified port
for /f "tokens=5" %%a in ('netstat -aon ^| findstr :%PORT%') do (
    set PID=%%a
)

REM Kill the process with the found PID
if defined PID (
    echo Killing process with PID %PID%
    taskkill /PID %PID% /F
) else (
    echo No process found using port %PORT%
)

endlocal





FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :7134') DO TaskKill.exe /PID %%P
FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :3456') DO TaskKill.exe /PID %%P
FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :4587') DO TaskKill.exe /PID %%P

FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :7598') DO TaskKill.exe /PID %%P
FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :9876') DO TaskKill.exe /PID %%P


timeout 5

Claro que primero probe cerrar correctamente los puertos en el programa involucrado pero crashea.
saben algun modo efectivo por el cual podria cerrar el puerto para que mi aplicacion pueda reiniciarse sin problemas? o que es lo que no estoy vindo? ademas de que mi aplicacion al cerrarlo crashea.
Título: Re:problemas con sockets c++ a ver si me iluminan
Publicado por: Solid Water en Febrero 23, 2025, 04:28:22 PM
ya arregle el crash pero algo sigue fallando.
Si reinicio la computadora todo vuelve a funcionar normal si no la reinicio no conectan.

COMO PODRIA HACER DESDE BATCH, EL MISMO EFECTO QUE DA REINICIAR LA COMPUTADORA PARA QUE TODO SALGA CORRECTAMENTE?
Título: Re:problemas con sockets c++ a ver si me iluminan
Publicado por: Solid Water en Febrero 23, 2025, 07:14:14 PM
UP a ver si alguien me ayuda ( estoy probando matando explorer.exe y reiniciandolo :/ )

NO FUNCIONÓ
Título: Re:problemas con sockets c++ a ver si me iluminan
Publicado por: Forero1 en Febrero 26, 2025, 10:49:08 AM
Hola, mala idea matar los procesos, eso sólo se debe hacer en casos muy puntuales, pero en tu caso lo que tenés que hacer es cerrar todos los puertos abiertos, vos los abrís y luego cerras la aplicación, pero primero tenés que cerrar todos los puertos abiertos y luego cerrar la aplicación.


Saludos
Título: Re:problemas con sockets c++ a ver si me iluminan
Publicado por: Solid Water en Marzo 15, 2025, 04:56:21 PM
Lo resolví fixeando todo para que nunca tenga que autodestruirse pero de todos modos me quedo con la duda de por que desp de todo no volvía a construirse.
Título: Re:problemas con sockets c++ a ver si me iluminan
Publicado por: Solid Water en Marzo 16, 2025, 12:15:32 PM
no te preocupes por eso por que la funcion on destroy llama a la funcion on close