I also forgot to respond to first question on multiple connections on one port and I’ve looked around and found that it is impossible to connect multiple connections on one port. But there is a way to do this. If you were to get all connecters to connect to one port on client machine, then get client to give server machine a port that is not in use to connect to, then client would disconnect from client and reconnect using port that is not used.


Example:

Server connects to the client’s machine on the port that redirects you to an open port

Then client looks for an open port not in use takes the port number and sends it to you "server"

Then server connects to the port that client sent and voila, you'll be able to connect
multiple computers to your chat program.


Ask me any questions if needed on this subject, ill try to answer clearly.