Problem send data from adafruit camera by TCP/IP

Dear Forum

I’m being problem with my TCP/IP connect, I don’t know why I the program working by UART command but when I connect by TCP/IP doesn’t work, Here I put my code:

char datos[16] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
int count;

TCPServer server = TCPServer(23);
TCPClient client;

void setup() {
    
    // start listening for clients
    server.begin();
    
    //initialize serial camera
    Serial1.begin(57600);
    Serial.begin(57600);
    
    Serial.println(WiFi.localIP());
    Serial.println(WiFi.subnetMask());
    Serial.println(WiFi.gatewayIP());
    Serial.println(WiFi.SSID());
    
    count = 0;
}

void loop() {
    
    //control cameral
    while (Serial.available()) {  
        //Serial1.write(Serial.read()); 
        if(((char)Serial.read()) == 0xFF){
            //Serial.write("stop");
            stopFrame();
        }
     }
     
    if (client.connected()) {
        // echo all available bytes back to the client
        while (client.available()) {
            Serial.write(client.read());
            server.write("Recibiendo datos desde el servidor TCP/IP");
        }
        stopFrame();
    } else {
        // if no client is yet connected, check for a new connection
        client = server.available();
    }
     
    while (Serial1.available() > 0){
        char sd = (char)Serial1.read();
        Serial.write(sd);
        
        //llenamos array char
        if(count < 16){
            datos[count] = sd;
            ++count;
        }
    }
    
    if(datos[0] == 0x76 && datos[2] == 0x36){
        clearBuffer();
        getBuffer();
    }
    
    if(datos[0] == 0x76 && datos[2] == 0x34){
        clearBuffer();
        readFBUF();
    }
}

void clearBuffer(){
    
    count = 0;
    datos[0] = 0x00;
    datos[1] = 0x00;
    datos[2] = 0x00;
    datos[3] = 0x00;
    datos[4] = 0x00;
}

void stopFrame(){
    
    Serial1.write(0x56);
    Serial1.write(0x00);
    Serial1.write(0x36);
    Serial1.write(0x01);
    Serial1.write(0x00);
}

void getBuffer(){
    
    Serial1.write(0x56);
    Serial1.write(0x00);
    Serial1.write(0x34);
    Serial1.write(0x01);
    Serial1.write(0x00);
}

void readFBUF(){
    
    Serial1.write(0x56);
    Serial1.write(0x00);
    Serial1.write(0x32);
    Serial1.write(0x0C);
    Serial1.write(0x00);
    Serial1.write(0x0A);
    Serial1.write(0x00);
    Serial1.write(0x00);
    Serial1.write(0x00);
    Serial1.write(0x00);
    Serial1.write(datos[5]);
    Serial1.write(datos[6]);
    Serial1.write(datos[7]);
    Serial1.write(datos[8]);
    Serial1.write(0x10);
    Serial1.write(0x00);
}

void setImagenSize(){
    
    Serial1.write(0x56);
    Serial1.write(0x00);
    Serial1.write(0x53);
    Serial1.write(0x01);
    Serial1.write(0x22);
}

I am very grateful for any hint!

Carlos