Why do I get the error "WebTelnetSendCommand(WinSock: 10053 - Software caused connection abort)" and how do I resolve this?

Why do I get the error "WebTelnetSendCommand(WinSock: 10053 - Software caused connection abort)" and how do I resolve this?

Note:  This is specific to SilkPerformer 7.4 and earlier versions

 

When using the Terminal Emulation (or GreenScreen) feature of SilkPerformer you may, in rare circumstances, rncounter the following error when replaying your script:

"WebTelnetSendCommand(WinSock: 10053 - Software caused connection abort)"

 

This error can be caused by a known issue in SilkPerformer 7.4 and earlier versions; in which the scripted synchronization function calls time out. The time out occurs because of a race condition of the initial telnet setting sent by the client and the server (at the same time). This has the affect that the second "WebTelnetSendCommand" function deletes the previously received commands and thus causing any subsequent synchronizations command to time out.

A workaround this problem you should move the first group of synchronization functions (WebTelnetSyncCommand) to before the first WebTelnetSendCommand call in the BDF script.

For example, the following code at the start of the script:

begin WebTcpipConnect(hWeb0, "10.250.14.20", WEB_PORT_TELNET); // Port: 23 WebTcpipSetTelnetMode(hWeb0, TERMINAL_TYPE_VT200, 80, 24, true, TELNET_MODEOPT_RFC_1576 | TELNET_MODEOPT_SYNC); WebTelnetSetTerminalConfigString(hWeb0, ""); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_SuppressGoAhead); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_NegotiateWindowSize); WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SuppressGoAhead); WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_Echo); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalType); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NegotiateWindowSize); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_RemoteFlowControl); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SendLocation); WebTelnetSyncCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Echo); WebTelnetSyncCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_SuppressGoAhead); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalSpeed); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_XDisplayLocation); WebTcpipScreenRecvPacketsUntilCursor(hWeb0, 11, 5); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SuppressGoAhead);

 

Should be changed to:

begin WebTcpipConnect(hWeb0, "10.250.14.20", WEB_PORT_TELNET); // Port: 23 WebTcpipSetTelnetMode(hWeb0, TERMINAL_TYPE_VT200, 80, 24, true, TELNET_MODEOPT_RFC_1576 | TELNET_MODEOPT_SYNC); WebTelnetSetTerminalConfigString(hWeb0, ""); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalType); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NegotiateWindowSize); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_RemoteFlowControl); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SendLocation); WebTelnetSyncCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Echo); WebTelnetSyncCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_SuppressGoAhead); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalSpeed); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_XDisplayLocation); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_SuppressGoAhead); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_NegotiateWindowSize); WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SuppressGoAhead); WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_Echo); WebTcpipScreenRecvPacketsUntilCursor(hWeb0, 11, 5); WebTelnetSyncCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SuppressGoAhead);

 

Please note: That this issue was addressed in SilkPerformer 7.5.

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Top Contributors
Version history
Revision #:
1 of 1
Last update:
‎2013-02-15 18:39
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.