Connects to a WebSocket server and establishes a synchronous bidirectional communication channel.
webapi.bdh
WebSocketConnectSync( in sUrl : string ): number
| Parameter | Description | 
|---|---|
| sUrl | The URL of the WebSocket server. A WebSocket URL in JavaScript usually looks like this: 
                              ws://echo.websocket.org In Silk Performer, you have to specify http instead of ws, for example: http://echo.websocket.org | 
transaction TMain
  var
    hWebSocket0 : number;
    sMessage : string;
    nMessageKind : number;
  begin
    
    // SYNCHRONOUS: Messages from server via WebSocketReceiveMessage
    
    hWebSocket0 := WebSocketConnectSync("http://lnz-testsite:90/websocketechoexample/websocketecho");
      
    ThinkTime(2.1);
    WebSocketSendTextMessage(hWebSocket0, "Rock it with HTML5 WebSocket");
    
    WebSocketReceiveMessage(hWebSocket0, sMessage, nMessageKind);
    
    Print("Received message: '" + sMessage + "'");
    if (nMessageKind = WEBSOCKET_MESSAGEKIND_TEXT) then
      Print("Message Kind: TEXT");
    elseif (nMessageKind = WEBSOCKET_MESSAGEKIND_BINARY) then
      Print("Message Kind: BINARY");
    end;
    
    ThinkTime(3.8);
    WebSocketSendTextMessage(hWebSocket0, "Hello World!");
    WebSocketReceiveMessage(hWebSocket0, sMessage, nMessageKind);
    Print("Received message: '" + sMessage + "'");
    if (nMessageKind = WEBSOCKET_MESSAGEKIND_TEXT) then
      Print("Message Kind: TEXT");
    elseif (nMessageKind = WEBSOCKET_MESSAGEKIND_BINARY) then
      Print("Message Kind: BINARY");
    end;
    
    ThinkTime(2.8);
    WebSocketSendTextMessage(hWebSocket0, "Bye");
    WebSocketReceiveMessage(hWebSocket0, sMessage, nMessageKind);
    
    Print("Received message: '" + sMessage + "'");
    if (nMessageKind = WEBSOCKET_MESSAGEKIND_TEXT) then
      Print("Message Kind: TEXT");
    elseif (nMessageKind = WEBSOCKET_MESSAGEKIND_BINARY) then
      Print("Message Kind: BINARY");
    end;
    
    // NO MESSAGE FROM SERVER => Timeout, expect error to be raised for the following WebSocketReceiveMessage() (after 4.0 seconds of waiting)
    WebSocketReceiveMessage(hWebSocket0, sMessage, nMessageKind, 4.0); // specify 4.0 seconds timeout, default is infinite
    ThinkTime(1.0);
    WebSocketClose(hWebSocket0);
  end TMain;