network_ping 1.0.1 copy "network_ping: ^1.0.1" to clipboard
network_ping: ^1.0.1 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 #

  1. Haz fork del repositorio

  2. Crea tu rama: git checkout -b mi-mejora

  3. Commit cambios: git commit -am 'Agrega nueva funcionalidad' markdown

Agradeceria visitar mi sitio web Ilove-soft

2
likes
0
points
43
downloads

Publisher

verified publishernio.ilove-soft.com

Weekly Downloads

Monitoriza la conectividad de red de manera profesional con esta solución todo-en-uno que combina.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

async

More

Packages that depend on network_ping