Bagikan melalui


Sertakan File

File include asli untuk digunakan dengan Windows Sockets 1.1 adalah file header Winsock.h . Untuk memudahkan porting kode sumber yang ada berdasarkan soket Berkeley UNIX ke soket Windows, kit pengembangan Soket Windows untuk Winsock 1.1 didorong untuk disediakan dengan beberapa file termasuk dengan nama yang sama dengan UNIX standar termasuk file ( file header sys/socket.h dan arpa/inet.h, misalnya). Namun, file header Winsock nama serupa ini hanya berisi direktif untuk menyertakan file header Winsock2.h .

Ketika Windows Sockets 2 dirilis, file utama include untuk digunakan dengan Windows Sockets diganti namanya menjadi Winsock2.h. File header Winsock.h asli yang lebih lama untuk Winsock 1.1 juga dipertahankan untuk kompatibilitas dengan aplikasi yang lebih lama. Pengembangan aplikasi yang kompatibel dengan Winsock 1.1 tidak digunakan lagi sejak Windows 2000 dirilis. Semua aplikasi sekarang harus menggunakan direktif include Winsock2.h dalam file sumber aplikasi Winsock.

File header Winsock2.h berisi sebagian besar fungsi, struktur, dan definisi Winsock. File header Ws2tcpip.h berisi definisi yang diperkenalkan dalam dokumen Annex Khusus Protokol WinSock 2 untuk TCP/IP yang mencakup fungsi dan struktur yang lebih baru yang digunakan untuk mengambil alamat IP. Ini termasuk keluarga fungsi getaddrinfo dan getnameinfo yang memberikan resolusi nama untuk alamat IPv4 atau IPv6. File header Ws2tcpip.h hanya diperlukan jika fungsi penamaan IP-agnostik ini diperlukan oleh aplikasi.

File header Mswsock.h berisi definisi untuk ekstensi khusus Microsoft ke Windows Sockets 2 (TransmitFile, AcceptEx, dan Koneksi Ex, misalnya). File header Mswsock.h biasanya tidak diperlukan kecuali ekstensi khusus Microsoft ini digunakan oleh aplikasi.

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. Makro WIN32_LEAN_AND_MEAN mencegah Winsock.h disertakan oleh header Windows.h . Contoh yang mengilustrasikan ini ditunjukkan di bawah ini.

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

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

int main() {
  return 0;
}

Membuat Aplikasi Winsock Dasar

Mulai Menggunakan Winsock

Porting Aplikasi Soket ke Winsock

Pertimbangan Pemrograman Winsock