SlideServe
Menu
Préférences
© SlideServe · v2026

Pertemuan 12 Membuat Program Client dan Server pada Win32 Console Application

werner avatar
16 diapositives · 327 Views · Sep 24, 2014

Pertemuan 12 Membuat Program Client dan Server pada Win32 Console Application. Matakuliah : H0483 – Network Programming Tahun : 2008 Versi : 2.0. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

Pertemuan 12 Membuat Program Client dan Server pada Win32 Console Application - slide 1
01 / 16Pertemuan 12 Membuat Program Client dan Server pada Win32 Console Application
1 / 17

Télécharger la présentation

Pertemuan 12 Membuat Program Client dan Server pada Win32 Console Application
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Pertemuan 12Membuat Program Client dan Server pada Win32 Console Application Matakuliah : H0483 – Network Programming Tahun : 2008 Versi : 2.0

  2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Mendemonstrasikan program aplikasi Client Server pada Win32 Console Application

  3. Outline Materi • Kasus: DayTimeServer dan DayTimeClient • Membuat program Client di Win32 Console Application dengan menggunakan Compiler • Micosoft Visual C++ 6.0 • Borland C++ 5.0 • Dev C++ • Membuat program Server di Win32 Console Application dengan menggunakan Compiler • Micosoft Visual C++ 6.0 • Borland C++ 5.0 • Dev C++

  4. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 • Langkah-Langkah : • Jalankan VC++ kemudian pilih menu File  New • Masukkan nama Project dan Lokasi / Folder untuk menyimpan • project tersebut • Kemudian pilih Win32 Console Application

  5. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 • Pilih : A “Hello World” Application kemudian klik Finish

  6. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 • Open file: DayTimeServerDos.cpp kemudian edit file tersebut seperti sbb:

  7. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 #include "stdafx.h" #include <winsock2.h> #include <time.h> int main(int argc, char* argv[]) { WSADATA wsaData; WSAStartup(MAKEWORD(2, 2), &wsaData); struct sockaddr_in servAddr; SOCKET sktServ; sktServ = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(sktServ == INVALID_SOCKET){ printf("Error in creating socket [%i]\n", WSAGetLastError()); WSACleanup(); return(-1); }

  8. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 memset(&servAddr, 0, sizeof(struct sockaddr_in)); servAddr.sin_family = AF_INET; servAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); servAddr.sin_port = htons(6789); if(bind(sktServ, (struct sockaddr*)&servAddr, sizeof(servAddr)) == SOCKET_ERROR){ printf("Error in binding socket [%i]\n", WSAGetLastError()); closesocket(sktServ); WSACleanup(); return(-1); } if(listen(sktServ, 4) == SOCKET_ERROR){ printf("Error in listen socket [%i]\n", WSAGetLastError()); closesocket(sktServ); WSACleanup(); return(-1); }

  9. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 struct sockaddr_in clientAddr; int clientAddrLen = sizeof(clientAddr); SOCKET sktToClient; sktToClient = accept(sktServ, (struct sockaddr*)&clientAddr, &clientAddrLen); if(sktToClient == INVALID_SOCKET){ printf("Error in accept client [%i]\n", WSAGetLastError()); closesocket(sktServ); WSACleanup(); return(-1); } int sent; char sBuf[1024] = ""; time_t ltime; time( &ltime ); sprintf(sBuf,"The time is %s\n", ctime(&ltime )); sent = send(sktToClient, sBuf, strlen(sBuf), 0); if(sent == 0) printf("Client closes connection\n"); else if(sent < 0) printf("Error in sending out data [%i]\n", WSAGetLastError()); closesocket(sktServ); closesocket(sktToClient); WSACleanup(); return 0; }

  10. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 • Tambahkan : wsock32.lib pada Project settings VC++ sbb:

  11. Membuat Program DayTimeServer dengan Microsoft VC++ 6.0 • Kemudian compilasi program ! • Setelah selesai, buat DayTimeClient nya • Tahap-tahapnya sama dengan DayTime Server diatas, tetapi code / programnya adalah sbb:

  12. Membuat Program DayTimeClient dengan Microsoft VC++ 6.0 #include "stdafx.h" #include <stdio.h> #include <winsock2.h> int main(int argc, char* argv[]) { WSADATA wsaData; WSAStartup(MAKEWORD(2,2), &wsaData); SOCKET sktClient; sktClient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(sktClient == INVALID_SOCKET){ printf("Error in creating socket [%i]\n", WSAGetLastError()); WSACleanup(); return(-1); } // Connect to a server. struct sockaddr_in clientAddr; clientAddr.sin_family = AF_INET; clientAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); clientAddr.sin_port = htons(6789);

  13. Membuat Program DayTimeClient dengan Microsoft VC++ 6.0 if(connect(sktClient, (struct sockaddr*)&clientAddr, sizeof(clientAddr)) == SOCKET_ERROR){ printf("Error in connecing server [%i]\n", WSAGetLastError()); closesocket(sktClient); WSACleanup(); return(-1); } int recved; char rBuf[1024] = ""; recved = recv(sktClient, rBuf, 1024, 0); if(recved > 0) printf("%s\n", rBuf); else if(recved == 0) printf("Server closes connection\n"); else{ printf("Error in receiving data [%i]\n", WSAGetLastError()); closesocket(sktClient); WSACleanup(); return(-1); } closesocket(sktClient); WSACleanup(); return 0; }

  14. Membuat Program DayTimeClient dengan Microsoft VC++ 6.0 • Tahap Selanjutnya : Test program • Jalankan program server terlebih dahulu • Kemudian jalankan program Clientnya • Kedua program diatas hanya jalan pada satu komputer karena menggunakan local IP address 127.0.0.1

  15. Latihan • Modifikasi Contoh program pada power point sebelumnya, agar nomor Port dan nomor IP nya bisa dirubah-ubah pada command line. (contoh: DayTimeServer <Port> <IP>) • Contoh Program pada Power Point sebelumnya adalah Program DayTimeServer dan DayTimeClient dengan menggunakan protocol TCP/IP. Coba rubah/modifikasi agar kedua program tersebut menggunakan protokol UDP

  16. Latihan • Kompilasi kedua contoh program diatas dengan compiler yang lain misalnya : Dev C++, atau Borland C++ (dan modifikasi bila perlu)