C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 

Шаг 4 - Создаем сокет

Создавайте проект, как в прошлый раз только с именем WinSock3.

Для улучшения чтения программы я вынес код для получения и проверки имени хоста в отдельную процедуру, кроме этого все return по ошибке я заменил на exit, и правда чего волынить то ?

void SocketGetHostName()
{
	char chInfo[64];

	if (gethostname(chInfo,sizeof(chInfo)))
	{
		printf("Not local host\n");
		exit(1);
	} else {	
		printf(chInfo);
		printf(" GetHostName OK !!!!!\n");
	}
}

Вносим изменения в WaitSocket для создания сокета.

void WaitSocket()
{
	SocketGetHostName();
	SOCKET servsocket;
	servsocket = socket(PF_INET,SOCK_STREAM,DEFAULT_PROTOCOL);
	if (servsocket==INVALID_SOCKET) 
	{
		printf("Error create socket :-(\n");
		exit(1);
	}
	closesocket(servsocket);
}

Заводим переменную SOCKET, вот как она описана в #include "winsock.h"

/*
 * The new type to be used in all
 * instances which refer to sockets.
 */
typedef u_int           SOCKET;

После чего вызываем socket, которая его и создает. Дальше указывается тип потока и протокол.

SOCK_STREAM  - TCP
SOCK_DGRAM   - UDP

Протокол мы использовали по умолчанию. Результат возврата надо проверить на INVALID_SOCKET, мало ли чего ??? После работы сокет необходимо закрыть. Вообще все что открываешь нужно и закрывать. Как входную дверь :-)))


Загрузить проект | | |
Автор Каев Артем.
[AD]





Дебетовая карта Home Credit [CPS] RU