WIZnet Developer Forum

Multiple concurrent connections to same socket?

If I have a telnet server running on the device on port 23. Can multiple clients be connected to and use my system at the same time with the W5200 (for example, people on two different computers connected using HyperTerminal at once)? I need to know if only one connection is allowed or if this will work.

The telnet protocol wants a TCP connection and a continuative bidirectional flow of data then … nUsers=nFlows=nSockets.
On the same or different PC you can open nSockets telnet client that connect to the W5200 nSockets , all open on the same reception telnet port 23 and then depends on the MPU firmware to be able to extricate.

I don’t really understand what you are saying. Are you saying that it is possible but that each concurrent connection consumes one of the 8 “sockets”? Are you saying that you can indeed have multiple TCP connections active at the same time but it just has to be handled in the processor firmware? If that is the case do you have any examples you can refer me to?

  1. The W5200 has 8 sockets? Yes.
  2. Telnet must have a continuous connection? Yes with TCP protocol.
  3. You can have many Telnet streams on the same socket? NO. You can not have multiple streams on the same socket.

Primary Socket parms:

  • Protocol used
  • Source Port Number (Local)
  • Source IP Address (common to all sockets)
  • Source MAC Address (common to all sockets)
  • Destination Port Number (Remote)
  • Destination IP Address (not valid for all protocol… and in some cases packets are sent to all IP)

The socket is a tube, W5200 has 8 sockets then 8 are the possible streams simultaneously and with “MPU firmware” mean the application that drives the W5200 (aka Arduino, PIC or whatever).

You can use the 8 sockets in TCP as you think one or more in Server mode and one or more in Client mode.
You can put one or more Socket listening on the same or different port number.
You can communicate to something else in client mode with one ore more Socket on the same or different port number.
You can use a socket with UDP protocol in the meantime use another socket with TCP protocol , or IPRAW (PING) or MACRAW (DHCP) .

Okay, so you can have as many sockets listening on the same port as you want (up to 8) and they all operate simultaneously? SO if I wanted to allow up to 3 tcp connections on the same port from different PCs I’d have to use 3 sockets on the same port right?

Is there anywhere in the documentation that describes this functionality?

Do outbound connections/request use a socket?

Sorry we posted together … look above.
On Wiznet site you can find c++ general purpose examples like DNS, DHCP or PING that within them use all the features and functions of the W5200 that allow you to use the socket in the various protocols.
In the connection examples of the datasheet there is a pseudo language “macro” fairly exhaustive but if you search the functions already made must know which micro you use.

Thanks, I’m going to try this out and see how it works.

Works great with simultaneous TCP connections for telnet up to 8, then any after are refused. Looks like it’ll work for me!

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.