Specifying ports when creating sockets?

In TCP, when you create a socket to a particular address, the OS chooses
a free port number.

I’d like to either specify that port number, or find out that port
number.

I can easily find the port number like so:
socket.addr[1]

However, that fails when the IO stream is closed. I need to find out the
port number even if the connection is never made. I’m not sure this is
possible, which is why I think the first approach, specifying the port
number, is the way to go.

If you’re wondering why I’m doing this, it’s to do with STUNT.

Can anybody provide any pointers?

Alex M. wrote:

In TCP, when you create a socket to a particular address, the OS chooses
a free port number.

I’d like to either specify that port number, or find out that port
number.

I can easily find the port number like so:
socket.addr[1]

However, that fails when the IO stream is closed. I need to find out the
port number even if the connection is never made. I’m not sure this is
possible, which is why I think the first approach, specifying the port
number, is the way to go.

If you’re wondering why I’m doing this, it’s to do with STUNT.

Can anybody provide any pointers?

Ok, somebody has kindly let me know that TCPSocket takes 4 options,
including a local port - oops!

That should solve the issue.