Errore handshake websocket client con websocket server PHP

Salve,
vorrei utilizzare come meccanismo di comunicazione tra Arduino Uno e un server PHP/Java il websocket.
Ho trovato una libreria molto semplice da usare. Il mio codice è il seguente:

#include <Ethernet.h>
#include <SPI.h>
#include <WSClient.h>

// Ethernet Configuration
EthernetClient client;
byte mac[] = { 
  0x90, 0xA2, 0xDA, 0x00, 0xF2, 0x78 };

// Websocket initialization
WSClient websocket;

void setup() {
  Serial.begin(9600);
  Serial.println(F("Demo example on WSClient usage"));
  Ethernet.begin(mac); // initialize ethernet
  Serial.println(Ethernet.localIP()); // printout IP address for debug purposes
  delay(300); // this is arduino baby ;-)

  // Connect and test websocket server connectivity
  if (client.connect("192.168.1.3", 9300)) {
    Serial.println("Connected");
  } 
  else {
    Serial.println("Connection failed.");
    while(1) {
      // Hang on failure
    }
  }

  // Define path and host for Handshaking with the server
  websocket.path = "/";
  websocket.host = "192.168.1.3";

  if (websocket.handshake(client)) {
    Serial.println("Handshake successful");
  } 
  else {
    Serial.println("Handshake failed.");
    while(1) {
      // Hang on failure
    }
  }

}


void loop() {
  String data;

  if (client.connected()) {
    data = websocket.getData();
    if (data.length() > 0) {
      Serial.print("Received data: ");
      Serial.println(data);
    }

    Serial.println(F("")); Serial.println(F("Sending Data"));
    websocket.sendData("echo test");
  } else {
    Serial.println("Client disconnected.");
    while (1) {
      // Hang on disconnect.
    }
  }

  delay(3000);  // wait to fully let the client disconnect

}

Il problema è che la seriale mi restituisce questo:
Connected
Handshake failed

Non capisco il motivo perché con Javascript funziona e anche con un semplice client Java.
L’url corretto per potersi connettere è ws://192.168.1.3:9300. Il tentativo che sto facendo è all’interno di una rete locale e quindi non c’è alcun problema di porte.

Qualche ha qualche idea del motivo per cui non dovrebbe funzionare?
Grazie in anticipo per il supporto.

ip o dns, nel primo caso si usa un array di 4 byte nel secondo una stringa, fai riferimento a questo alla documentazione ufficiale.

RobertoBochet: ip o dns, nel primo caso si usa un array di 4 byte nel secondo una stringa, fai riferimento a questo alla documentazione ufficiale.

Grazie per la risposta. Il problema non è legato all'oggetto client, ma websocket, in quanto non so cosa mettere come websocket.host e websocket.path.