Los métodos proporcionados por FB_TCPClient2 cumplen prácticamente la misma función que los métodos correspondientes proporcionados por el bloque de funciones FB_TCPClient. Las diferencias se describen en la siguiente tabla.
Método |
FB_TCPClient |
FB_TCPClient2 |
---|---|---|
x |
x |
|
x |
x |
|
- |
x |
|
- |
x |
|
x |
x |
|
x |
x |
|
x |
x |
|
x |
x |
|
x |
- |
|
x |
x |
|
x |
x |
|
x |
x |
|
x |
- |
|
x |
x |
|
x |
x |
|
- |
x |
|
x Compatible con el bloque de funciones. - No compatible con el bloque de funciones. |
Cuando es necesario que haya una cantidad determinada de datos disponible para poder realizar un proceso correcto, la aplicación tiene dos caminos posibles:
El método Peek se utiliza para copiar los datos disponibles en un búfer vacío que proporciona la aplicación. Estos datos se pueden utilizar para evaluar si hay datos suficientes en el búfer. Si es así, el método Receive se utiliza para mover los datos desde el búfer de recepción del sistema hasta la aplicación donde se procesan.
Sólo se llama al método Receive, pero siempre en el mismo búfer que proporciona la aplicación y se especifica el nivel de llenado de dicho búfer. De este modo, los datos sólo se copian una vez y la aplicación puede evaluar si hay suficientes datos y procesarlos en una llamada del método, puesto que los datos ya están en el búfer que utiliza la aplicación.
Con este segundo enfoque, se evita copiar datos en la memoria varias veces.