| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
 

Шаг 11 - Четыре этапа транзакции HTTP

Установка соединения

Перед обменом информации клиент и сервер должны иметь соединение TCP, именно по этому мы устанавливали соединение Internet. То есть нам нужен был IP адрес. Как различаются разные протоколы ? Для этого используются уникальные номера. Эти номера называются портами. Для HTTP стандартный порт 80. Вот список наиболее известных портов.
FTP 	21
TELNET 	23
SMTP	25
TFTP	69
Gopher	70
Finger	79
HTTP	80
Порты делятся на 2 части. С адресами ниже 1024 привелигированные вы не сможете создать свой порт с номером меньше 1024. Мы с вами в нашей программе указывали номер порта создавая сокет.
#define PORT_ADDR 80
........
socketaddr.sin_port = htons(PORT_ADDR);
if (bind(servsocket,(LPSOCKADDR)&socketaddr,sizeof(socketaddr)) == SOCKET_ERROR)

Запрос Клиента

Каждый запрос клиента передаваемый на WEB-сервер начинается с метода, за которым следует URL объекта. Далее идет информация о версии протокола HTTP и символ возврата каретки с переводом строки. Метод - это команда клиента к серверу с целью указания запроса. Мы его не обрабатывали. Научимся :-)

Ответ сервера

После получения сообщения сервер отвечает сообщением HTTP. Затем идет код статуса и тема ответа из 3 цифр, потом дополнительная информация, а потом тело ответа. Если обратите внимание, что мы с Вами это упустили. Ну и ладно исправим потом. А вот данные мы посылали так.
CString buff="\nСайт шаг за шагом представляет\n\r\n";
HTTPServer.SendData(buff.GetBuffer(1000));
..........
void CSeverWinSock::SendData(LPSTR buff)
{
int Errors;
Errors = send(clientsocket,(LPSTR)buff,lstrlen(buff),0);
if (Errors == SOCKET_ERROR) AfxMessageBox("Error Send");
}

Сервер разрывает соединение

После отправки сообщения сервер имеет возможность разорвать соединение. Вот так мы это делали закрывая сокет.
 closesocket(HTTPServer.clientsocket);


Предыдущий шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz