2016-12-29 9 views
0

Я создаю мой пользовательский HTTP-сервер в C. sockaddr_in выглядит следующим образом:Доступ к серверу без записи порта после адреса

my_addr.sin_family = AF_INET; 
my_addr.sin_port = htons(8080); 
my_addr.sin_addr.s_addr = htol(INADDR_ANY); 

И мой вопрос, как я могу отправить мой запрос без написания порта после адреса. Например 192.168.1.100 вместо 192.168.1.100:8080 или mydomain.loc вместо mydomain.loc: [?] 8080

+0

Вы хотите иметь в виду как из веб-браузера? 'HTTP: //192.168.1.100: 8080'? Порт по умолчанию для http - 80. AFAIK, если вы хотите использовать другой порт, он должен быть указан в URL-адресе. –

ответ

2

как я могу отправить мой [HTTP] запрос без записи порта после адреса

Вы не можете связываться с конечной точкой TCP без указания определенного порта. Однако различные виды услуг имеют обычные (по умолчанию) порты, и часто клиентское программное обеспечение будет использовать обычный порт службы, если пользователь явно не указывает его.

Обычный порт для протокола HTTP - 80. Если ваш сервер работает на этом порту, то, скорее всего, пользовательские агенты HTTP, такие как веб-браузеры, не потребуют указать этот порт; вместо этого они будут тихо вставлять его для вас. Для запуска серверного программного обеспечения на порту 80 или на любом другом порту, не превышающем 1024, вам понадобятся права root/administrator на сервере.

+0

с sudo отлично работает. Thanx – bajky

0

Если вы хотите получить доступ к своему пользовательскому серверу с помощью любого веб-браузера, вам необходимо укажите порт прослушивания вашего настраиваемого сервера, потому что каждый браузер рассмотрит сервер, прослушивающий порт 80 на указанном вами адресе (URL).

как я могу отправить мой [HTTP] запрос без записи порта после адреса [?]

И если вы хотите, чтобы обеспечить только IP-адрес хоста и используя 8080 порт по умолчанию слушает порт ваш сервер, вы можете создать простой пользовательский клиент. Передайте URL-адрес хоста, то есть 192.168.1.100, этому клиенту. В корпусе клиента подключите разъем к 192.168.1.100 и адресу 8080. Клиент отправит запрос на ваш пользовательский сервер и сохранит ответ в файле .html. Затем вы можете открыть этот файл в браузере.