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;