Порты
До настоящего времени мы говорили об адресах компьютеров в Интернет. Эта действенная аналогия лежит на поверхности, но она еще требует некоторых уточнений. Типичный компьютер в Интернет имеет один адрес IP, но часто выполняет много различных связанных с Интернет приложений одновременно. Как вам известно, браузеры, агенты быстрых сообщений, почтовые клиенты, многопользовательские игры и другие приложения могут выполняться одновременно.
Имея один адрес, как ваш компьютер узнает, какое приложение нуждается в данных, которые вы получаете! Здесь вступают в игру порты. Для каждого IP адреса у компьютера существует 65536 связанных с ним портов. Если вы думаете о каждом IP адресе как о едином «всемирном» номере многоквартирного дома, то порт был бы номером квартиры.
Это означает, что, теоретически, ваш настольный компьютер мог бы общаться с более чем 65000 удаленных компьютеров в одно и то же время без всякой путаницы. (Реально, настольная машина не могла бы все это обработать, но некоторые сервера способны и на большее). Так что когда вы переговариваетесь с удаленным компьютером, вы используете не просто адрес IP, но также специфический порт для уникальной идентификации обоих компьютеров и службы/приложения с которым вы желаете связываться.
Вы могли бы подумать, что с 65356 доступными портами достаточно места для любой вообразимой службы. И по большей части это так – но все же будьте осторожны. Многие порты зарезервированы для особых целей, таких как HTTP, FTP, POP, SMTP, и многих других. Общее правило состоит в том, что вы не должны никогда использовать для ваших приложений порты с номерами ниже 1024. В случае с XMLSocket во Flash это трудное правило – Flash не способен использовать порты с номерами менее 1024. Ниже приведена таблица с общепринятыми номерами портов для различных служб.
Таблица 1
Общепринятое использование портов
Служба Интернет
TCP порт
HTTP
80
HTTPS
443
SMTP
25
POP3
110
FTP
21
Telnet
23
NMTP
119
Сокеты
Сокет представляет собой просто один из концов двунаправленного соединения через сеть