You are here: Start » Tutorial Exercises » TCP/IP: Shoutbox Server (tcpip_shoutbox_server)

TCP/IP: Shoutbox Server (tcpip_shoutbox_server)

Aim

Create a TCP server which receives text messages and displays them in the HMI.

Input

There will be an incoming connection on the TCP port 12345 and consecutive text messages will be sent as lines of text.

At this stage of the training program we have no client application, so for testing purposes we will use the command-line tool "telnet".

Please, turn it on at Control Panel > Programs > Turn Windows features on or off > Telnet Client.

When the server is ready, we will open the Windows Command Prompt and issue the following command:

telnet localhost 12345

or if accessing the server from another computer:

telnet <ip-address> 12345

Then we will type consecutive text messages.

Output

The server should accept the connection and then display received text messages in the HMI.

Hints

Use the TcpIp_Accept filter to accept the connection from a client. In the default configuration it will wait forever until the client is connected.

Use the TcpIp_ReadLine filter to receive one text message. Its input must be connected with the output of the TcpIp_Accept filter.

Labeling connections is explained in this article.

You can learn how to turn on sections here.

Solution (AVS)

  1. Make sure you have "telnet" command installed.

  2. Turn on sections and add the TcpIp_Accept filter to the INITIALIZE section to accept the connection from the client. Rename the outSocket to Socket.

  3. Add the TcpIp_ReadLine filter and the Loop filter in the PROCESS section.

  4. Connect the inSocket input with the Socket output.

  5. Add a property output outEof.Not and rename it as EofNot.

  6. Connect EofNot output to the Loop filter.

  7. Create a TextBox control in the HMI and connect it with the outText output.

  8. Add a TcpIp_Close filter in the FINALIZE section to close the connection in case the program gets to this point.

Further Readings