Pregunta

Estoy enviando datos a través de un UDP socket y recibirlo en un bucle con read(). Los datos de entrada se ven así:

String 1
String 2
String 3
....

Escribo datos con send(), cada cadena entre sí (en un bucle). ¿Cómo me aseguro de poder reconstruir los datos sobre el final de recepción de la manera correcta (mientras pongo las cuerdas)?

Los datos recibidos se pueden dividir en cualquier lugar en el medio de las líneas como así:

Packet 0: Stri
Packet 1: ng 1
Packet 2: String 2 St
Packet 3: ring 3
...

¿Tengo que introducir una costumbre? END OF MESSAGE secuencia de bytes para contar? Porque EOF No ayudará aquí.

Necesito poder saber si un paquete está dañado y dónde los bloques de datos que pertenecen juntos comienzan y terminan, mientras los envié a partir de S y terminando con el Number! No puedo usar TCP Porque necesito soporte de transmisión/multidifusión.

¿Fue útil?

Solución

Si desea que lleguen todos los mensajes, y en el mismo orden fueron enviados, y que tengan una indicación de "final de mensaje", tal vez TCP sea mejor :-)

(TCP hace todo esto fuera de la caja).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top