I think you have to be root to listen on ports lower than 1024 in linux.
Yes. Unless Google have changed it. From the ip man page: "The port
numbers below 1024 are called reserved ports. Only privileged
processes (i.e., those having the CAP_NET_BIND_SERVICE capability) may
bind(2) to these sockets."
> Do you have any suggestion? Thanks.
1. Root your device.
2. Ask Google to fix this or submit a patch yourself. This 'security'
measure dates back to the old days of unix. It was a bad idea and
probably reduces security since it resulted in all manner of servers
(web, ftp, etc.) running as root. Either way there's no reason to have
it on a phone.
Good link: http://calum.org/posts/root-to-bind-to-ports-under-1024
Just out of interest, what are you writing? I can only thing of one
useful thing that need a port less than 1024: running samba (or
something simpler) so you can share files with windows machines over
wifi.
This is a problem for us as well. Can someone from Google please
comment on this issue?