There's other traffic on the Internet too, like port 53 for Domain Name Service (which you need to do anything else!), 25 for sending mail, 22 for ssh, etc. These numbers are standardized and permanently assigned.
Back in the halcyon days of the Internet being wired to desktop PCs, it made a lot of sense to have different ports for every type of traffic. And when someone built their own application, they would just pick a number out of thin air, somewhere outside the officially assigned ranges. No big deal since they could follow the ethernet cable back to your desk.
Enter the modern world. WiFi and mobile devices everywhere. Most internet connections are anonymous. And abused. And a knee-jerk reaction to all security/abuse problems is to say "Most of our users are only here to surf the World Wide Web, therefore, we will block all ports but 80 and 443."
And as a result of THAT ... many non-Web applications do their communication on port 80 using HTTP. That works very well, because HTTP is a very powerful protocol, with very stable server software (Apache), with useful extensions just for thus purpose (XML, SOAP etc.) and top shelf security is built-in (just use HTTPS). And as a bonus it gets around those filters that well-meaning WiFi providers put up to try to stop abuse.
What I mean is, instead of communicating with specialapp.myserver.com:12345, they communicate with https://specialapp.myserver.com/xml/soapquery.cgi. [on port 443].
My suggestion is to have the Armory use port 80 or 443.