From QB64 Wiki
The _OPENCONNECTION function opens a connection from a client that the host has detected and returns a status handle.
- connectHandle = _OPENCONNECTION(hostHandle)
- Valid connectHandle values returned are negative numbers.
- If the syntax is correct but they fail to begin/connect, a connectHandle of 0 is returned.
- Always check if the handle returned is 0 (failed) before continuing.
- CLOSE #connectHandle closes the connection. Failed connections(connectHandle = 0) do not need to be closed.
- As a Host you can check for new clients (users). Each will have a unique connection handle.
- Creates an Illegal Function Call error if called with a string argument of the wrong syntax.
- Handle values can be used as the open number by INPUT # or GET # read statements and PUT # or PRINT # write statements.
host = _OPENHOST("TCP/IP:8080") DO newclient = _OPENCONNECTION(host) ' monitor host connection IF newclient THEN SLEEP 1 ' wait one second for data to arrive INPUT #newclient, a PRINT a CLOSE #newclient ' close after each read ELSE : _DELAY .05 ' share resources with other programs (20 loops per second) END IF LOOP UNTIL INKEY$ <> "" ' any keypress quits CLOSE #host SYSTEM
Explanation: The function finds new clients and waits one second to read a message or other data. If a message or data was sent, it displays it on the screen and closes the connection.
Note: When sending data, the client should wait about 3 seconds before closing their connection!