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

Шаг 7 - Ожидающий сокет

Выносим предыдущий шаг в отдельную функцию.
.....
void LinkWindowScoket();
.....
После всех настроек есть возможность установить сокет в состояние ожидания. Это делается командой listen. Вот весь код.
void WaitSocket()
{
	SocketGetHostName();
	CreateSocket();
	LinkSoketPort();
        LinkWindowScoket();
	int Errors;
	Errors=listen(servsocket,QUEUE_SIZE);
	if ( Errors == SOCKET_ERROR)
	{
		printf(" Listen BAD !!! \n");
		exit(1);
	}
	else printf("God Listen  !!!!!!! \n");
	printf("Wait to connected");

	CloseScoket();
}
Некоторая специфика приложения Win32 Console на данный момент не даст возможность послушать по человечески. Нам в следующих шагах придется научить получать сообщения от Windows и их обрабатывать. Но при программировании на базе, скажем, MFC этого было бы достаточно, чтобы сразу перейти к обработке сообщений. А пока мы увидим, что всё нормально и программа завершит работу.

Итак функция listen переводит сокет в режим ожидания.

int listen (  
      SOCKET s,
      int backlog  
);
Первый параметр это созданный сокет, а второй максимальное количество подключений. Я пока оставил 5 определив константу QUEUE_SIZE
#define QUEUE_SIZE 5
При нормальном завершении функция вернет 0 иначе SOCKET_ERROR, кстати я ни разу вроде не сказал, но расширенный код ошибки можно получить вызвав функцию WSAGetLastError.


Загрузить проект | Предыдущий шаг | Следующий Шаг | Оглавление

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

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

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