Tarafından desteklenir
Varsayılan olarak sgcWebSocket, protokol olarak WebSocket'i kullanır, ancak istemci ve sunucu bileşenlerinde düz TCP protokolünü kullanabilirsiniz.
Client Bileşeni
WebSocket protokolünü devre dışı bırakın.
Client.Specifications.RFC6455 := False;
Sunucu Bileşeni
OnUnknownProtocol olayını işleyin ve Transport'u trpTCP olarak ayarlayıp bağlantıyı kabul edin.
procedure OnUnknownProtocol(Connection: TsgcWSConnection; var Accept: Boolean);
begin
Connection.Transport := trpTCP;
Accept := True;
end;
Ardından bir istemci sunucuya bağlandığında, bu bağlantı TCP olarak tanımlanır ve WebSocket'ler yerine düz TCP protokolünü kullanır. Düz TCP bağlantıları metin ve ikili mesajlar arasında ayrım yapmaz, bu nedenle alınan tüm mesajlar OnBinary olayı tarafından işlenir.
Mesaj Sonu
Mesajlar büyükse, bazen parçalanmış olarak alınabilirler. Hangi baytların aranacağını belirterek bir mesajın sonunu algılamak için bir yöntem vardır. Örnek: STOMP protokolünde, tüm mesajlar 0 ve 10 baytlarıyla biter.
procedure OnWSClientConnect(Connection: TsgcWSConnection);
begin
Connection.TCPEndOfFrameScanBuffer := eofScanAllBytes;
Connection.AddTCPEndOfFrame(0);
Connection.AddTCPEndOfFrame(10);
end;