I don't have access to a machine with SAS IOM installed at the moment so I can't check any of this but I think, with a little educated guesswork, I know what is happening here. It may be a little bit esoteric but bear with me......
Firstly some definitions:
A 16 bit unsigned integer can contain values 0 through 65,535;
A 16 bit signed integer can contain values -32,768 through 32,767;
A 32 bit unsigned integer can contain values 0 through 4,294,967,295; and
A 32 bit signed integer can contain values -2,147,483,648 through 2,147,483,647
Port numbers range from 0 to 65535 with numbers 1 to 1024 reserved.
I suspect that the port attribute of the serverdef object supplied by SAS is actually a 16 bit signed integer which is why you cannot use port numbers greater than 32767 (in my experience there are usually plenty of ports available within this limit).
There are two ways to overcome this:
Persuade SAS to change the port attribute to an unsigned 16 bit integer (you can't have negative port numbers) - however I suspect you will have little luck with that; or
Change the port you are using so that it is within the 32767 limit for a signed 16 bit integer
Is there any reason you can't use a port within that limit as I would be amazed to find there were none free?
... View more