2010-03-11 19 views

Respuesta

6

Leer el socket TCP y buscar un delimitador son dos cosas diferentes.

Puede leer todos los datos disponibles en un socket sin bloqueo, en una matriz de bytes, luego escanear la matriz de bytes para su delimitador. Haga lo que tenga que hacer, incluso quizás guardar datos después del delimitador para el siguiente intento de lectura.

Lo mejor es usar algún tipo de búfer para agregar datos entrantes, de modo que las operaciones del zócalo no dictan exactamente el manejo de los datos.

+0

Lo secundaré. Leerlo más despacio no cambiará lo que viene a ti de todos modos, solo hace una lectura ineficiente del socket/stream. – spender

+1

Sí. Leer desde un socket TCP de un byte a la vez es muy ineficiente. Lea los datos del socket en una matriz de bytes y luego procese la matriz de bytes. –

Cuestiones relacionadas