SocketCore.Port

From Xojo Documentation

Revision as of 14:34, 8 August 2017 by PLefebvre (talk | contribs) (Example)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Property (As Integer )
aSocketCore.Port = newIntegerValue
or
IntegerValue = aSocketCore.Port

Supported for all project types and targets.

The port to bind on or connect to.

Notes

On most operating systems, attempting to bind to a port less than 1024 causes a Error event to fire with an error number 107 unless the application is running with administrative permissions. This is due to security features built into the underlying OS.

You need to set the port property explicitly before any call to Listen or Connect as the Port property will be modified to reflect what the actual bound port is during the various stages of operation.

For instance, if you listen on port 8080 and a connection comes in, you can check the Port property to ensure that you’re still listening on port 8080 (that the port hasn’t been hijacked). Or, if you connect to a socket on port 8080, once the connection occurs, you can check to see what port the OS has bound you to. This will be a random-seeming port number.

This trick can be very useful when you do things like Listen on port 0. In that case, the OS will pick a port for you and listen on it. Then you can check the Port property to see which port the OS picked. This functionality is used for various protocols, such as FTP.

Example

This example sets the Port to 8080.

TCPSocket1.Port = 8080