ESP8266 and Easymesh for Mesh networking Receiving issues.

I am trying to make Mesh network using easymesh and 2 ESPs. The problem is I am not able to receive anything on the receiver side. the transmitter is sending the data I can see on the LEDs and Also serial monitor. I am uploading both the codes.

I have tried various variations in the receiver’s code…the routine to receive the data is receivecallback();

//The file ON the Client ESP side to receive the sensor data sent from the server side.
  
#include <easyMesh.h>
#include <easyMeshSync.h>
#include <SimpleList.h>
#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

#define   MESH_PREFIX     "WKI"
#define   MESH_PASSWORD   "WKI1234"
#define   MESH_PORT       5555

//Adafruit_BME280 bme; // I2C

const char* ssid = "AndroidAP";
const char* password = "sadbhavna12";

uint32_t ID;
String msg,msg1,msg2,msg3,msg4,msgFinal,xyz;

// Web Server on port 80
WiFiServer server(80);

easyMesh mesh;

//static void (*receivedCallback)( uint32_t ID, String &msgFinal);
static void (*newConnectionCallback);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  delay(10);
  Wire.begin(D3, D4);
  Wire.setClock(100000);
  mesh.setDebugMsgTypes( ERROR | STARTUP );  // set before init() so that you can see startup messages

  mesh.init( MESH_PREFIX, MESH_PASSWORD, MESH_PORT);  
  ID=1409332;
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 //mesh.setReceiveCallback( &receivedCallback ); // mesh.setNewConnectionCallback(newConnectionCallback);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  
  // Starting the web server
  server.begin();
  Serial.println("Web server running. Waiting for the ESP IP...");
  delay(10000);
  
  // Printing the ESP IP address
  Serial.println(WiFi.localIP());
     
}

void receivedCallback( uint32_t ID, String &msgFinal);
void receivedCallback( uint32_t ID, String &xyz) ;


void loop() {

  // put your main code here, to run repeatedly:
  mesh.update();
  void newConnectionCallback( bool adopt );             
  delay(100);
    delay(100);

    //Serial.printf("startHere: Received from %d",ID);
    //Serial.println(msgFinal);

  Serial.println(msgFinal);
  msg=msgFinal.substring(0,7);
  msg1=msgFinal.substring(7,13);
  msg2=msgFinal.substring(13,19);
  msg3=msgFinal.substring(19,26);
  msg4=msgFinal.substring(26,32);
  Serial.println(xyz);
  Serial.println(msg);
  Serial.println(msgFinal);

   // Listenning for new clients
  WiFiClient client = server.available();
  
  if (client) {
    Serial.println("New client");
    // bolean to locate when the http request ends
    boolean blank_line = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        
        if (c == '\n' && blank_line) {
//            getWeather();
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connection: close");
            client.println();
            // your actual web page that displays temperature
            client.println("<!DOCTYPE HTML>");
            client.println("<html>");
            client.println("<head><META HTTP-EQUIV=\"refresh\" CONTENT=\"15\"></head>");
            client.println("<body><h1>ESP8266 Weather Web Server</h1>");
            client.println("<table border=\"2\" width=\"456\" cellpadding=\"10\"><tbody><tr><td>");
            client.println("<h3>Temperature = ");
            client.println(msg);
            client.println("&deg;F</h3><h3>Humidity = ");
            client.println(msg1);
            client.println("%</h3><h3>Approx. Dew Point = ");
            client.println(msg2);
            client.println("&deg;F</h3><h3>Pressure = ");
            client.println(msg3);
            client.println("hPa (");
            client.println(xyz);
            client.println("Inch)</h3></td></tr></tbody></table></body></html>");  
            break;
        }
        if (c == '\n') {
          // when starts reading a new line
          blank_line = true;
        }
        else if (c != '\r') {
          // when finds a character on the current line
          blank_line = false;
        }
      }
    }
    // closing the client connection
    delay(1);
    client.stop();
    Serial.println("Client disconnected.");
  }
}

Now Transmitter

//file to server side to connect the sensor data and send them to the Client side 
#include <easyMesh.h>
#include <easyMeshSync.h>
#include <SimpleList.h>
#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

#define   MESH_PREFIX     "WKI"
#define   MESH_PASSWORD   "WKI1234"
#define   MESH_PORT       5555

Adafruit_BME280 bme; // I2C

const char* ssid = "AndroidAP";
const char* password = "sadbhavna12";
float h, t, p, pin, dp;
char temperatureFString[6];
char dpString[6];
char humidityString[6];
char pressureString[7];
char pressureInchString[6];
uint32_t ID;
String msg,msg1,msg2,msg3,msg4,msgFinal;
String xyz="hello";
// Web Server on port 80
WiFiServer server(80);

easyMesh mesh;

static void (*receivedCallback)( uint32_t ID, String &msg);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  delay(10);
  Wire.begin(D3, D4);
  Wire.setClock(100000);
  mesh.setDebugMsgTypes( ERROR | STARTUP );  // set before init() so that you can see startup messages

  mesh.init( MESH_PREFIX, MESH_PASSWORD, MESH_PORT);  
  ID=system_get_chip_id();  
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  mesh.setReceiveCallback(receivedCallback);  
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  
  // Starting the web server
  server.begin();
  Serial.println("Web server running. Waiting for the ESP IP...");
  delay(10000);
  
  // Printing the ESP IP address
  Serial.println(WiFi.localIP());
  Serial.println(F("BME280 test"));

  if (!bme.begin()) {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
    while (1);
  }
}
void getWeather() {
  
    h = bme.readHumidity();
    t = bme.readTemperature();
    t = t*1.8+32.0;
    dp = t-0.36*(100.0-h);
    p = bme.readPressure()/100.0F;
    pin = 0.02953*p;
    dtostrf(t, 5, 1, temperatureFString);
    String msg(temperatureFString);
    dtostrf(h, 5, 1, humidityString);
    String msg1(humidityString);
    dtostrf(p, 6, 1, pressureString);
    String msg2(pressureString);
    dtostrf(pin, 5, 2, pressureInchString);
    String msg3(pressureInchString);
    dtostrf(dp, 5, 1, dpString);
    String msg4(dpString);
    msgFinal=msg+msg1+msg2+msg3+msg4;
    delay(100); 
}
void loop() {

  // put your main code here, to run repeatedly:
  getWeather();
  mesh.update();
  
 // void receivedCallback( uint32_t ID, String &msg ) ;
  void newConnectionCallback( bool adopt );            
  mesh.sendBroadcast(msgFinal);
  if (mesh.sendBroadcast(msgFinal)){
    Serial.println("success");
    }
   
  delay(100);
  mesh.sendBroadcast(xyz);
  Serial.println(msgFinal);
  
}