Bagikan melalui


Membuat Aplikasi Winsock Dasar

Untuk membuat aplikasi Winsock dasar

  1. Buat proyek kosong baru.

  2. Tambahkan file sumber C++ kosong ke proyek.

  3. Pastikan bahwa lingkungan build mengacu pada direktori Include, Lib, dan Src dari Microsoft Windows Software Development Kit (SDK) atau Platform Software Development Kit (SDK) sebelumnya.

  4. Pastikan lingkungan build tertaut ke file Pustaka Winsock Ws2_32.lib. Aplikasi yang menggunakan Winsock harus ditautkan dengan file pustaka Ws2_32.lib. Komentar #pragma menunjukkan kepada linker bahwa file Ws2_32.lib diperlukan.

  5. Mulai pemrograman aplikasi Winsock. Gunakan API Winsock dengan menyertakan file header Winsock 2. File header Winsock2.h berisi sebagian besar fungsi, struktur, dan definisi Winsock. File header Ws2tcpip.h berisi definisi yang diperkenalkan dalam dokumen WinSock 2 Protocol-Specific Annex untuk TCP/IP yang mencakup fungsi dan struktur yang lebih baru yang digunakan untuk mengambil alamat IP.

    Catatan

    Stdio.h digunakan untuk input dan output standar, khususnya fungsi printf().

     

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}

Catatan

File header Iphlpapi.h diperlukan jika aplikasi menggunakan API Pembantu IP. Ketika file header Iphlpapi.h diperlukan, baris #include untuk file header Winsock2.h harus ditempatkan sebelum baris #include untuk file header Iphlpapi.h .

File header Winsock2.h secara internal menyertakan elemen inti dari file header Windows.h , sehingga biasanya tidak ada baris #include untuk file header Windows.h di aplikasi Winsock. Jika baris #include diperlukan untuk file header Windows.h , ini harus didahului dengan makro #define WIN32_LEAN_AND_MEAN. Untuk alasan historis, header Windows.h default untuk menyertakan file header Winsock.h untuk Windows Sockets 1.1. Deklarasi dalam file header Winsock.h akan bertentangan dengan deklarasi dalam file header Winsock2.h yang diperlukan oleh Windows Sockets 2.0. Makro WIN32_LEAN_AND_MEAN mencegah Winsock.h disertakan oleh header Windows.h . Contoh yang mengilustrasikan ini ditunjukkan di bawah ini.

 

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}

Langkah Berikutnya: Menginisialisasi Winsock

Memulai Dengan Winsock

Tentang Server dan Klien