user52333: I am just a newbie, don't know how to solve this issue
void loop()
{
  UdpSend("Test", "192.168.0.240", 4210);
}

void UdpSend(const char* message, uint8_t * ipaddress, int port){
      Serial.println("Send message: ");
      Udp.beginPacket(ipaddress, port);
      Udp.write(message);
      Udp.endPacket();
}

Arduino IDE can't compile.
The error message:  invalid conversion from 'const char' to 'uint8_t* {aka unsigned char*}' [-fpermissive]*
Trying to change with this code:
void UdpSend(uint8_t * message, uint8_t * ipaddress, int port){
      Serial.println("Send message: ");
      Udp.beginPacket(ipaddress, port);
      Udp.write(message);
      Udp.endPacket();
}

Also doesn't work, the error message: invalid conversion from 'const char' to 'uint8_t* {aka unsigned char*}' [-fpermissive]*
Please help... 

user21371: Not sure why you're using uint8_t at all
The Udp.beginPacket function signature is
int WiFiUDP::beginPacket(const char *host, uint16_t port)

No hint of uint8_t there
and .write is either
WiFiUDP::write(uint8_t byte)
WiFiUDP::write(const uint8_t *buffer, size_t size)
WiFiUDP::write(const char *str)
WiFiUDP::write(const char *buffer, size_t size)

So, your other attempt to use write((uint8_t *)) is also wrong
Try this:
void loop()
{
  UdpSend("Test", "192.168.0.240", 4210);
}

void UdpSend(const char* message, const char * ipaddress, int port){
      Serial.println("Send message: ");
      Udp.beginPacket(ipaddress, port);
      Udp.write(message);
      Udp.endPacket();
}


user37622: In ESP32 Arduino package the WiFiUdp.h doesn't pull in all Print class write functions. As consequence the WiFiUdp class doesn't know write(const char *str).
Use Udp.print(message); if message is a zero-terminated char array
or Udp.write(message, size); if message is a byte array

52333: <p>I am just a newbie, don't know how to solve this issue</p>

<pre><code>void loop()
{
  UdpSend("Test", "192.168.0.240", 4210);
}

void UdpSend(const char* message, uint8_t * ipaddress, int port){
      Serial.println("Send message: ");
      Udp.beginPacket(ipaddress, port);
      Udp.write(message);
      Udp.endPacket();
}
</code></pre>

<p>Arduino IDE can't compile.</p>

<p>The error message:  <strong><em>invalid conversion from 'const char</em>' to 'uint8_t* {aka unsigned char*}' [-fpermissive]*</strong></p>

<p>Trying to change with this code:</p>

<pre><code>void UdpSend(uint8_t * message, uint8_t * ipaddress, int port){
      Serial.println("Send message: ");
      Udp.beginPacket(ipaddress, port);
      Udp.write(message);
      Udp.endPacket();
}
</code></pre>

<p>Also doesn't work, the error message: <strong><em>invalid conversion from 'const char</em>' to 'uint8_t* {aka unsigned char*}' [-fpermissive]*</strong></p>

<p>Please help... </p>
 21371: <p>Not sure why you're using <code>uint8_t</code> at all</p>

<p>The Udp.beginPacket function signature is</p>

<pre><code>int WiFiUDP::beginPacket(const char *host, uint16_t port)
</code></pre>

<p>No hint of uint8_t there</p>

<p>and .write is either</p>

<pre><code>WiFiUDP::write(uint8_t byte)
WiFiUDP::write(const uint8_t *buffer, size_t size)
WiFiUDP::write(const char *str)
WiFiUDP::write(const char *buffer, size_t size)
</code></pre>

<p>So, your other attempt to use <code>write((uint8_t *))</code> is also wrong</p>

<p>Try this:</p>

<pre><code>void loop()
{
  UdpSend("Test", "192.168.0.240", 4210);
}

void UdpSend(const char* message, const char * ipaddress, int port){
      Serial.println("Send message: ");
      Udp.beginPacket(ipaddress, port);
      Udp.write(message);
      Udp.endPacket();
}
</code></pre>
 37622: <p>In ESP32 Arduino package the WiFiUdp.h doesn't pull in all Print class <code>write</code> functions. As consequence the WiFiUdp class doesn't know <code>write(const char *str)</code>.</p>

<p>Use <code>Udp.print(message);</code> if message is a zero-terminated char array</p>

<p>or <code>Udp.write(message, size);</code> if message is a byte array</p>
