Keil Logo

Technical Support

On-Line Manuals

RL-ARM User's Guide (MDK v4)

RL-RTX RL-FlashFS RL-TCPnet TCP Socket Opening TCP Connection TCP Active Open TCP Passive Open Sending TCP Data Example for Sending Data Multiple TCP Connections UDP Socket Opening UDP Connection Sending UDP Data When DHCP Enabled When ARP Cache Empty Example for Sending Data IP Multicasting Multiple UDP Connections Configuring RL-TCPnet Static Configuration System Definitions Ethernet Network Interface PPP Network Interface SLIP Network Interface UDP Socket TCP Socket BSD Socket HTTP Server Telnet Server TFTP Server TFTP Client FTP Server FTP Client DNS Client SMTP Client SNMP Agent SNTP Client Error Function Runtime Configuration Library Files Using RL-TCPnet Stand Alone With RTX Kernel Event Driven Operation IP Address Assignment Ethernet Interface PPP Interface SLIP Interface Localhost Applications HTTP Server Script Language CGI Functions Ajax Support Using XML XML Example How it works SOAP Support SOAP Interface Large POST Messages Web Pages Default Page Error Pages Web on SD Card Web Update File System Interface Http Caching How it works Internal Web External Web Multi-user Authentication Using RAM File System FCARM File Converter PRINT Directive NOPRINT Directive PAGEWIDTH Directive PAGELENGTH Directive ROOT Directive Telnet Server Command Line Interface Multi-user Authentication Sending Reply Message Short Reply Long Reply Continuous Screen Update TFTP Server File System Interface TFTP Client File System Interface FTP Server File System Interface Multi-user Authentication Supported Commands FTP Client File System Interface SMTP Client SNMP Agent MIB Database MIB Interface MIB Entry MIB Table DNS Resolver Starting DNS Device Drivers Ethernet Driver Interrupt Mode Modem Driver Serial Driver Using Serial Link Cable Connection Modem Connection Windows Dial-up Add Direct Serial Link New Dial-up Connection Configure PPP Dial-up Configure SLIP Dial-up Debugging Enabling Debug Debug Level Redirecting Output Function Overview BSD Routines CGI Routines Ethernet Routines FTP Routines HTTP Routines IGMP Routines Miscellaneous Routines Modem Routines PPP Routines Serial Routines SLIP Routines SMTP Routines SNMP Routines System Functions TCP Routines Telnet Routines TFTP Routines UDP Routines RL-CAN RL-USB Example Programs Library Reference Appendix

TCP Socket

The Transmission Control Protocol (TCP) is a connection oriented reliable protocol. TCP is much more complex than UDP and introduces more protocol overhead. It implements a number of protocol timers to ensure reliable and synchronized communication between the two end systems. It is thus suitable to use on WANs.

The following TCP options are configurable:

  • TCP Sockets switch enables or disables the TCP Socket service in your application. It is enabled when this value is set to 1. It should be set to 0 when the TCP connections are not used.
    #define TCP_ENABLE     1
  • Number of TCP Sockets specifies the number of available TCP sockets. This number is usually set to the maximum number of simultaneously opened TCP connections.
    #define TCP_NUMSOCKS   5
  • Number of Retries specifies the number of retransmissions before the TCP module gives up. Data is retransmitted if it is not acknowledged within the timeout frame defined by the TCP_RETRYTOUT.
    #define TCP_MAXRETRY   5
  • Retry Timeout in seconds is the timeout, after which the TCP module retransmits the data. This is the initial timeout value. When the data exchange is going on, the system measures the response time and corrects this timeout.
    #define TCP_RETRYTOUT  4
  • Default Connect Timeout in seconds is the default Keep Alive timeout. After this timeout has expired, the TCP link is disconnected. This parameter is used by applications like HTTP Server and Telnet Server.
    #define TCP_DEFTOUT    120
  • Maximum Segment Size specifies the maximum number of bytes in the TCP segment's data field. Acceptable values for this parameter are in the range from 536 to 1460 bytes. The default value for ethernet network is 1460 bytes.
    #define TCP_MAXSEGSZ   1460
  • Receive Window Size specifies the amount of data the socket is able to buffer. The default value is 4380 bytes.
    #define TCP_RECWINSZ   4380


  • When the TCP Sockets are not enabled, the ARM linker does not link the TCP support modules to your application and thus reduces the code size and memory usage.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.