network_ping 1.0.4
network_ping: ^1.0.4 copied to clipboard
Monitoriza la conectividad de red de manera profesional con esta solución todo-en-uno que combina.
📡 network_ping #
Librería Dart para diagnóstico de redes con soporte multiplataforma
Monitoriza la conectividad de red de manera profesional con esta solución todo-en-uno que combina:
- Ping tradicional (via terminal del sistema)
- Verificación TCP nativa (conexión directa a puertos)
- Análisis inteligente de respuestas y errores
🚀 Características #
- Multi-plataforma: Soporta Windows, Linux y macOS y de forma nativa para cualquier dispositvo Android o IOs
- Dos modos de ejecución:
- 🛠️ Nativo: Conexión TCP directa
- 💻 Terminal: Usa el comando
ping
del sistema
- 🌍 9 idiomas soportados: ES, EN, FR, DE, IT, PT, RU, ZH, JA
- 📡 Stream en tiempo real: Recibe actualizaciones continuas
- 🚨 Detección automática de errores: Timeout, red, host inalcanzable
Agradeceria visitar mi sitio web Ilove-soft para ver las actualizacion de la libreria que Ver Libreria
📦 Instalación #
Agrega en tu pubspec.yaml
:
dependencies:
network_ping: ^1.0.0
🛠️ Uso Básico #
import 'package:network_ping/network_ping.dart';
// 1. Inicialización
final ping = PingBase();
final config = PingRequire(host: 'google.com');
// 2. Ejecutar ping
bool success = await ping.ping(config);
// 3. Escuchar respuestas
ping.controller.stream.listen((response) {
if (response.conexion) {
print('✅ ${response.ipHost} - ${response.time}');
} else {
print('❌ Error: ${response.errorRed ? "Red" : "General"}');
}
});
// 4. Liberar recursos al finalizar
@override
void dispose() {
ping.dispose();
super.dispose();
}
⚙️ Configuración Avanzada #
Parámetro | Descripción | Default |
---|---|---|
host |
IP/Dominio objetivo (requerido) | - |
port |
Puerto para TCP | 443 |
interval |
Ping continuo | true |
forcePing |
Forzar método nativo | false |
namePing |
Nombre comando ping | 'ping' |
// Ejemplo configuración completa
PingRequire(
host: '192.168.1.1',
port: 80,
interval: false,
forcePing: true,
okConexion: (res) => print('✔ Conectado'),
errorConexion: (res) => print('⛔ Error'),
);
🌍 Soporte de Idiomas #
Detecta automáticamente el idioma del sistema. Soportados:
-
Español (
es
), Inglés (en
), Francés (fr
) -
Alemán (
de
), Italiano (it
), Portugués (pt
) -
Ruso (
ru
), Chino (zh
), Japonés (ja
)
Verificar soporte:
bool soportado = OsLang().checkLang('es');
🚨 Respuestas y Errores #
Estructura de respuesta: #
PingResponse(
bytes: '64', // Tamaño paquete
time: '52ms', // Latencia
ttl: '128', // TTL
ipHost: '...', // IP/Host
conexion: true, // Estado conexión
error: false, // Error general
errorRed: false, // Error de red
timeOut: false // Timeout
)
Manejar errores específicos: #
config.errorConexion = (res) {
if (res.timeOut) print('🕒 Timeout');
if (res.errorRed) print('🌐 Error red');
if (res.errorGeneral) print('⚠ Error general');
};
🛠️ Troubleshooting #
Problema: Comando ping falla #
Solución:
PingRequire(
forcePing: true, // Usar método nativo
host: '10.0.0.1'
);
Problema: No se detecta idioma #
// Forzar idioma manualmente
final lang = OsLang().langWindows['en']!;
Problema: Proceso no finaliza #
Asegurar:
void dispose() {
ping.dispose(); // Liberar recursos
super.dispose();
}
🤝 Contribuir #
-
Haz fork del repositorio
-
Crea tu rama:
git checkout -b mi-mejora
-
Commit cambios:
git commit -am 'Agrega nueva funcionalidad'
markdown
Agradeceria visitar mi sitio web Ilove-soft