Среда, 18 Декабря 2024, 16:33

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Нужна библиотека для работы с сетью(сетевой движок)
VinchensooДата: Пятница, 23 Октября 2009, 18:48 | Сообщение # 1
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Нужна либа для разработки сети...исп. Винсокс...
Не глючная, хорошо себя зарекомендовавшая, чтобы было много статей, уроков, примеров.
Общие принципы работы с сетью мне известны, статьи можно конкретно про либу, но чтобы были!
Надеюсь, что-нить посоветуете


temirkaДата: Пятница, 23 Октября 2009, 21:23 | Сообщение # 2
почетный гость
Сейчас нет на сайте
я не знаю про инструкции и уроки, но есть сайт с бесплатными библиотеками www.dll.ru поищи там.Удачи в разработке!
AkyltistДата: Пятница, 23 Октября 2009, 21:34 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
(сетевой движок)
Quote
Нужна либа для разработки сети...исп. Винсокс...

Винсокс это итак уже либа, ее и надо юзать, а не надстройки под нее.

WinSock или Windows socket - это интерфейс программного программирования (API) созданный для реализации приложений в сети на основе протокола TCP/IP. То есть это просто группа функций !!!!

Для работы используется WSOCK32.DLL. Практически это интерфейс к протоколу TCP/IP. При взаимодействии клиент - сервер в сети каждого участника взаимодействия можно рассматривать как конечную точку. Сокет это вроде как и есть эта конечная точка. В приложении Вы определяете сокет. И хоть программирование сокетов в UNIX и Windows похоже, мы с Вами будем рассматривать именно Windows socket. Незнаю интересно это или нет, но Windows socket разрабатывался на основе интерфейса Беркли для UNIX, но к ним добавлены функции поддержки событий Windows.

Есть две версии WinSock
* WinSock 1.1 - поддержка только TCP/IP
* WinSock 2.0 - Поддерка дополнительного программного обеспечения

Спецификация WinSock разделяет функции на три типа:

1. Функции Беркли
2. Информационные функции (получение информации о наименовании доменов, службах, протоколах Internet)
3. Расширения Windows для функций Беркли Все функции могут быть блокирующие и неблокирующие.

Обычно блокирующие это функции Беркли. То есть при работе такой функции нельзя выполнять другие функции WinSock. Давайте рассмотрим как производится подключение к серверу. Сначала программа подключается к адресу IP с созданием сокета. Программа будет ждать подключения. Для подключения программа клиент тоже создает сокет и пытается подключиться к сокету сервера. Но сервер не спит !!! Только он увидит попытку подключения он создаст новый сокет. И этот новый сокет будет использоваться для взаимодействия с клиентом. А тот, к которому была попытка подключения будет ждать следующего. На этой основе производится взаимодействие сервера и многими программами.

Сам сокет может быть создан на основе:
1. TCP (transport control protocol) - надежное соединение
2. UDP (user datagram protocol) - ненадежное соединения



Функции для winsocket
Функция Описание
accept Принимает входящую попытку соединения на сокете.
AcceptEx Принимает новое соединение, возвращает локальный и удаленный адреса, а также принимает первый блок данных, посланный клиентским приложением.
bind Связывает локальный адрес с сокетом.
closesocket Закрывает существующий сокет
connect Устанавливает соединение с указанным сокетом
ConnectEx Устанавливает соединение с указанным сокетом, и (необязательно) посылает данные, как только соединение установлено
DisconnectEx Закрывает соединение на сокете, и позволяет снова использовать дескриптор этого сокета.
freeaddrinfo Освобождает информацию об адресе, которая была получена динамически при помощи функции getaddrinfo.
gai_strerror Помогает сформировать сообщения об ошибках из кодов ошибок типа EAI_*, возвращенных функцией getaddrinfo.
GetAcceptExSockaddrs Анализирует данные, полученные функцией AcceptEx.
GetAddressByName Запрашивает пространство имен или устанавливает пространства имен заданные по умолчанию для получения информации о сетевом адресе указанного сетевого сервиса. Этот процесс известен как Разрешение Имен Сервисов (Service Name Resolution).
getaddrinfo Обеспечивает протоколо-независимую трансляцию имени хоста в его адрес.
gethostbyaddr Получает информацию о хосте по сетевому адресу.
gethostbyname Получает из базы данных хостов информацию, соответствующую имени хоста.
gethostname Получает стандартное имя хоста для локального компьютера
getnameinfo Обеспечивает разрешение имени из адреса в имя хоста
getpeername Получает имя одноуровнего (peer) узла сети, с которым соединен сокет
getprotobyname Получает информацию о протоколе по его имени.
getprotobynumber Получает информацию о протоколе по его номеру
getservbyname Получает информацию о сервисе по имени сервиса и протоколу
getservbyport Получает информацию о сервисе по номеру порта и протоколу
getsockname Получает локальное имя для сокета.
getsockopt Получает опции сокета.
htonl Преобразует порядок байтов u_long из формата хоста в сетевой формат TCP/IP (формат big-endian)
htons Преобразует порядок байтов u_short из формата хоста в сетевой формат TCP/IP (формат big-endian).
inet_addrv Преобразует строку, содержащую десятично-точечный адрес протокола Internet (IPv4) в надлежащий адрес для структуры in_addr.
inet_ntoa Преобразует адрес Internet (IPv4) из сетевого формата в строку, содержащую стандартный десятично-точечный адрес
ioctlsocket Управляет режимом ввода-вывода сокета
listen Переводит сокет в состояние ожидания входящих соединений
ntohl Преобразует порядок байтов u_long из сетевого формата TCP/IP в формат хоста (формат little-endian на процессорах Intel).
ntohs Преобразует порядок байтов u_short из сетевого формата TCP/IP в формат хоста (формат little-endian на процессорах Intel).
recv Получает данные от присоединенного или связанного сокета
recvfrom Получает датаграмму и сохраняет адрес источника
select Определяет статус одного или нескольких сокетов, ожидая в случае необходимости исполнения синхронного ввода-вывода.
send Посылает данные на соединенный сокет
sendto Посылает данные определенному адресату
setsockopt Устанавливает опции сокета.
shutdown Запрещает прием или передачу на сокете
socket Создает сокет и связывает его с определенным сервисом
TransmitFile Передает данные файла через соединенный сокет.
TransmitPackets Передает данные из памяти или данные файла через соединенный сокет
WSAAccept Принимает соединение, основываясь на возвращаемом значении функции условия, обеспечивает качество обслуживания (QoS) спецификаций процесса и разрешает передачу данных соединения.
WSAAddressToString Преобразует все компоненты структуры SOCKADDR в понятное для человека строковое представление адреса.
WSAAsyncGetHostByAddr Асинхронно получает информацию о хосте по его адресу
WSAAsyncGetHostByName Асинхронно получает информацию о хосте по его имени
WSAAsyncGetProtoByName Асинхронно получает информацию о протоколе по его имени
WSAAsyncGetProtoByNumber Асинхронно получает информацию о протоколе по его номеру
WSAAsyncGetServByName Асинхронно получает информацию о сервисе по его имени и номеру порта.
WSAAsyncGetServByPort Асинхронно получает информацию о сервисе по номеру порта и протоколу.
WSAAsyncSelect Назначает сообщение, которое будет посылаться оконной процедуре в том случае, когда на сокете произойдет какое-либо событие.
WSACancelAsyncRequest Отменяет незавершенную асинхронную операцию
WSACleanup Завершает использование Ws2_32.dll.
WSACloseEvent Закрывает открытый дескриптор объекта события
WSAConnect Устанавливает соединение с сокетом другого приложения, обменивается данными соединения и определяет необходимое качество обслуживания (QoS), основываясь на указанной структуре FLOWSPEC
WSACreateEvent Создает новый событийный объект
WSADuplicateSocket Возвращает структуру, которая может использоваться для создания нового дескриптора общедоступного сокета (сокет может использоваться несколькими процессами).
WSAEnumNameSpaceProviders Возвращает информацию о доступных пространствах имен
WSAEnumNetworkEvents Обнаруживает сетевые события для обозначенного сокета, очищает внутренние записи сетевых событий и сбрасывает событийные объекты (необязательно).
WSAEnumProtocols Получает информацию о доступных транспортных протоколах
WSAEventSelect Определяет событийный объект, который будет связан с указанным набором FD_XXX сетевых событий.
WSAGetLastError Возвращает статус ошибки для последней операции, которая завершилась неудачно.
WSAGetOverlappedResult Получает результаты перекрытой (совместной) операции на указанном сокете.
WSAGetQOSByName Инициализирует структуру QOS, основываясь на названном шаблоне, или предоставляет буфер для получения доступных имен шаблонов.
WSAGetServiceClassInfo Получает информацию о классе (схему), имеющую отношение к указанному классу сервиса, от заданного поставщика пространства имен (name space provider).
WSAGetServiceClassNameByClassId Получает название сервиса, связанного с указанным типом.
WSAHtonl Преобразует порядок байтов u_long из формата хоста в сетевой формат
WSAHtons Преобразует порядок байтов u_short из формата хоста в сетевой формат
WSAInstallServiceClass Регистрирует схему класса сервиса в пространстве имен.
WSAIoctl Управляет режимом сокета.
WSAJoinLeaf Присоединяется к узлу многоточечной сессии, обменивается данными соединения и определяет необходимое качество обслуживания (QoS), основываясь на указанных структурах.
WSALookupServiceBegin Инициализирует клиентский запрос, основываясь на критериях, содержащихся в структуре WSAQUERYSET.
WSALookupServiceEnd Освобождает дескриптор, использовавшийся предыдущими вызовами WSALookupServiceBegin и WSALookupServiceNext.
WSALookupServiceNext Получает информацию о требуемом сервисе.
WSANSPIoctl Разработан для создания запросов к зарегистрированному пространству имен, управляющих вводом-выводом.
WSANtohl Преобразует порядок байтов u_long из сетевого формата в формата хоста.
WSANtohs Преобразует порядок байтов u_short из сетевого формата в формата хоста.
WSAProviderConfigChange Уведомляет приложение о смене конфигурации поставщика.
WSARecv Получает данные от соединенного сокета.
WSARecvDisconnect Завершает прием на сокете и получает данные разъединения, если сокет является ориентированным на соединение
WSARecvEx Получает данные от соединенного сокета.
WSARecvFrom Получает датаграмму и сохраняет адрес источника.
WSARecvMsg Получает данные и дополнительную управляющую информацию от соединенных и несоединенных сокетов.
WSARemoveServiceClass Удаляет схему класса сервиса из системного реестра.
WSAResetEvent Сбрасывает состояние указанного событийного объекта в несигнальное.
WSASend Посылает данные на соединенный сокет.
WSASendDisconnect Инициализирует завершение соединения на сокете и посылает данные разъединения.
WSASendTo Посылает данные определенному адресату, используя перекрываемый ввод-вывод где это возможно.
WSASetEvent Устанавливает состояние указанного событийного объекта в сигнальное
WSASetLastError Устанавливает код ошибки.
WSASetService Регистрирует или удаляет из системного реестра экземпляр сервиса в пределах одного или нескольких пространств имен
WSASocket Создает сокет, связанный с определенным поставщиком транспортных услуг (transport-service provider).
WSAStartup Инициализирует использование Ws2_32.dll процессом.
WSAStringToAddress Преобразует числовую строку в структуру SOCKADDR.
WSAWaitForMultipleEvents Возвращает значение в том случае, когда один или все указанные событийные объекты находятся в сигнальном состоянии, или когда истекает интервал ожидания (тайм-аут).
http://club.shelek.ru/viewart.php?id=35
http://www.firststeps.ru/mfc/net/socket/r.php?1
Самоучитель игры на WinSock

Со знанием Си, Asm, Delphi и др ЯП реализация сокетов милое дело. Есть проблемы с ними конечно как выход за NAT, Отлов ошибок и событий, их блокирование. Потоковая обработка. Но ни одна надстройка не решает этих моментов ибо незачем, так как сами сокеты уже это содаржат. Единственные надстройками над сокетами которые я по своему личному мнению приветствую - это реализация протоколов.

VinchensooДата: Суббота, 24 Октября 2009, 05:40 | Сообщение # 4
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (Akyltist)
WSOCK32.DLL.

даже не знал, что она так называется..)
Сколько читал уроков, там все было на других либах(те же фест степ).
Спс за ссылки, +4)
Щас не на долго, приду домой, прочту, будут вопросы- напишу


VinchensooДата: Суббота, 24 Октября 2009, 05:47 | Сообщение # 5
Злобный социопат с комплексом Бога
Сейчас нет на сайте
На фест степ посмотрел невнимательно...
Так два апи для Сети..
Есть и сокеты, но спс


  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг