Haloo2,postingan kali ini akan membahas mengenai client dan server ^^
Berikut ini saya akan mempost codingan beserta comment2 penjelasan membuat server dan client di C dengan memakai socket
berikut codingannya
Server
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
int socket_desc , client_sock, c , read_size;/* deklarasi variabel yg diperlukan */
struct sockaddr_in server, client;
char client_message[2000];
//create socket
socket_desc = socket(AF_INET , SOCK_STREAM, 0); // inisialisasi
if(socket_desc == -1) // klo buat server itu defaultnya 0, jadi klo misal -1 artinya socket nya ga bisa dibuat
{
printf("could not create socket");
}
puts("Socket Created"); // penanda pembuatan socket berhasil
// prepare the sockaddr_in structure
server.sin_family = AF_INET; // semua server.sin itu isi dari struct untuk alamt socket
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons( 8888 );
// bind
if(bind(socket_desc,(struct sockaddr *)&server, sizeof(server)) < 0) // binding intinya mengikat alamat dari client nya nanti
{ // defaultnya sama nilai 0, jika <0 berarti gagal
// print the error message
perror("bind failed. Error");
return 1;
}
puts("bind done");
// listen : nunggu command dari client, biasanya kita yg kasi server disuruh apa itu ditulis di client
listen(socket_desc, 3);
//accept and incoming connection
puts("waiting for incoming connections . . .");
c = sizeof(struct sockaddr_in);
// accept connection from an incoming client
client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c);
if(client_sock < 0)
{
perror("accept failed");
return 1;
}
puts("connection accepted");
// receive message from client
while( (read_size = recv(client_sock, client_message, 2000, 0)) > 0 )
{
//send the message back to client
write(client_sock, client_message, strlen(client_message));
}
if(read_size == 0)
{
puts("Client disconnected");
fflush(stdout);
}
else if(read_size == -1)
{
perror("recv failed");
}
return 0;
}
Jalanin dulu nanti yang server ,baru jalanin yang client :)
nanti message yg ada di client akan dibalas sama persis oleh server (berdasarkan codingannya)
okehh sekian :)
Tidak ada komentar:
Posting Komentar