problemas con sockets c++ a ver si me iluminan

Iniciado por Solid Water, Febrero 23, 2025, 03:40:51 PM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Febrero 23, 2025, 03:40:51 PM Ultima modificación: Febrero 23, 2025, 04:07:37 PM por AXCESS
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:


Código: text


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.

Febrero 23, 2025, 04:28:22 PM #1 Ultima modificación: Febrero 23, 2025, 06:51:21 PM por Solid Water
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?

Febrero 23, 2025, 07:14:14 PM #2 Ultima modificación: Febrero 23, 2025, 07:33:21 PM por Solid Water
UP a ver si alguien me ayuda ( estoy probando matando explorer.exe y reiniciandolo :/ )

NO FUNCIONÓ

Febrero 26, 2025, 10:49:08 AM #3 Ultima modificación: Febrero 26, 2025, 10:51:05 AM por Forero1
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

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.

no te preocupes por eso por que la funcion on destroy llama a la funcion on close