роботи з WinSock
closesocket (Sock); (Client); ();
}
2.2 Опис і лістинг програми Client Socket
# include lt; iostream gt;
# include lt; windows.h gt;
# pragma comment (lib, ws2_32.lib ) //// підключення бібліотеки winsock2main (void) {namespace std; PCName [30], ServerName [30], Message [200], IP [16]={0}; WSADat;// Властивості WinSock (результат функції WSAStartup)
sockaddr_in sin;// Властивості (адреса) створюваного сокетаSock;// Клієнтський сокет
Рис.6
//Введення IP-адреси сервера lt; lt; Enter server's IP: raquo ;;. getline (IP, 16); (0x0202, amp; WSADat);// Ініціалізація WinSock
//0x0202 - версія WinSock. Може бути 1.0, 1.1, 2.0, 2.2
//WSADat - структура, куди будуть занесені рез. Ініціалізації (PCName, 30);// Отримання імені поточного ПКsin.sin_family=AF_INET;// Тип адресаsin.sin_addr.s_addr=inet_addr (IP);// IP-адресу сервера (порист створенні сервера можна 0) .sin_port=htons (2803);// Номер порту сервера
Sock=socket (AF_INET, SOCK_STREAM, 0);// Створення сокета
//***** Підключення до сервера lt; lt; Connecting to server ... lt; lt; endl; (connect (Sock, (sockaddr *) amp; sin, sizeof (sin)) == SOCKET_ERROR) { lt; lt; Error of connecting! n raquo ;; End;
} (Sock, PCName, strlen (PCName) + 1, 0);// Відправка імені цього комп'ютера (клієнта)
recv (Sock, ServerName, 30, 0);// Отримання імені комп'ютера сервера
cout lt; lt; Connecting to " lt; lt; ServerName lt; lt; " is ready! lt; lt; endl;
//***** МенюMenu; { lt; lt; 1. Send message; lt; lt; endl; lt; lt; 2. Get Message; lt; lt; endl; lt; lt; 3. Quit; lt; lt; endl; lt; lt; Make your selection: raquo ;; cin gt; gt; Menu;
switch (Menu) {1:
//Відправка повідомлення сервера
cout lt; lt; Enter message: raquo ;; cin.get () ;. getline (Message, 200); (send (Sock, Message, strlen (Message) + 1, 0)!=SOCKET_ERROR) cout lt; lt; Sent! n raquo ;; cout lt; lt; Error of sending! n raquo ;;
break; 2:
//Прийом повідомлення від сервера
if (recv (Sock, Message, 200, 0)!=SOCKET_ERROR) { lt; lt; Message lt; lt; endl; .get ();
} cout lt; lt; Error of getting! n raquo ;;;
}; lt; lt; endl;
} while (Menu!=3);:
//Закриття сокетів і закінчення роботи з WinSock (Sock); ();
}
Висновок
Мережеве програмування ... думаю, що не варто сумнівається в актуальності цієї теми, і так зрозуміло, що сьогодні мережеві технології перебувають на досить високому рівні розвитку. А це означає, що програмісти в цій області потрібні не менш ніж в інших областях. Мережеве програмування здається легше, ніж воно є насправді. WinSock функції, які використовувалися для комунікації через мережу, досить складно. Мережеве програмування - це більше ніж просто отримання або відправлення даних. Наприклад, доводиться стикатися з синхронізацією. Я вирішив почати з основ мереж і принципів роботи мережевого програмування, які я описав в теоретичній частині своєї курсової роботи. Матеріал сфокусований на аспектах мережевого програмування. У результаті була написана проста програма здійснює сокетних з'єднання за допомогою бібліотеки winsock.
Список використаних джерел
. Вітамінюк А.І. Створення, обслуговування і адміністрування мереж на 100% - 2010год. Санкт-Петербург 232с
. Віснадул Б.Д., Лупін С.А., Сидоров С.В., Чумаченко П.Ю.- Основи комп'ютерних мереж. 2007год. 272с
Комп'ютерні мережі - Марк А. Спортак, Річард Піт, Джеймс Ф. Коузі. Диасофт, 1999р.
. Методична розробка з дисципліни «Технології розробки прикладних програм» на тему: «Програмування мережевих додатків в середовищі C ++ Builder» програма протокол socket
. # justify gt ;. # justify gt ;. http://cyberforum/cpp-beginners/thread635902.html