Meta

curl_ws_recv() ve curl_ws_meta() işlevlerinin ikisi de, gelen WebSocket verileri hakkında bilgi sağlayan bir curl_ws_frame yapısına bir işaretçi döndürür. Bu durumda bir WebSocket "çerçevesi", bir WebSocket parçasının bir bölümüdür. Bütün bir parça olabilir, ancak yalnızca bir parçası da olabilir. curl_ws_frame, size ayrıntıları anlatmak için çerçeve hakkında bilgi içerir.

struct curl_ws_frame {
  int age;              /* sıfır */
  int flags;            /* CURLWS_* tanımlarına bakın */
  curl_off_t offset;    /* bu verinin çerçeve içindeki ofseti */
  curl_off_t bytesleft; /* yükün kalan bekleyen bayt sayısı */
};

age

Bu sadece bu yapının yaşını tanımlayan bir sayıdır. Şimdi her zaman 0'dır, ancak gelecekte artabilir ve o zaman yapı büyüyebilir.

flags

flags alanı, veri ayrıntılarını tanımlayan bir bit maskesidir.

CURLWS_TEXT

Tampon metin verisi içerir. Bunun WebSocket için bir fark yarattığını ancak libcurl'ün içeriğin herhangi bir doğrulamasını yapmadığını veya gerçekte geçerli UTF-8 içeriği aldığınıza dair önlemler almadığını unutmayın.

CURLWS_BINARY

Bu ikili veridir.

CURLWS_FINAL

Bu mesajın son parçasıdır, bu ayarlanmamışsa, aynı mesajın bir parçası olarak başka bir parçanın geldiği anlamına gelir.

CURLWS_CLOSE

Bu transfer artık kapatıldı.

CURLWS_PING

Bu, bir pong yanıtı bekleyen gelen bir ping mesajıdır.

offset

İletilen veriler yalnızca daha büyük bir parçanın bir bölümü olduğunda, bu, bu parçanın ait olduğu daha büyük parça içindeki bayt sayısı cinsinden ofseti tanımlar.

bytesleft

Bu çerçeveden sonra, bu parçayı tamamlamak için kalan bekleyen yük baytlarının sayısı.

Bir WebSocket parçasının maksimum boyutu 63 bittir.