Sie sind auf Seite 1von 4

CLIENT TCP

/* Program Client : Permintaan Identifikasi */ #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> oid error!char *msg" # perror!msg"$ e%it!&"$ ' int main!int argc( char *arg )*" # int sockdf( noport( n$ struct sockaddr+in alamat+sr $ struct hostent *ser er$ char buffer),-.*$ if !argc < /" # fprintf!stderr( 01unakan port nama host 2s3n0( arg )&*"$ e%it!&"$ ' noport 4 atoi!arg ),*"$ sockdf 4 socket!56+I789( :;C<+:9=85>( &"$ if !sockdf < &" error!08==;= membuka socket0"$ ser er 4 gethostbyname!arg )?*"$ if !ser er 44 7@AA" # fprintf!stderr( 08==;=( host tidak ditemukan3n0"$ e%it!&"$ ' bBero!!char *" Calamat+sr ( siBeof!alamat+sr ""$ alamat+sr .sin+family 4 56+I789$ bcopy! !char *"ser erD>h+addr( !char *"Calamat+sr .sin+addr.s+addr( ser erD>h+length"$ alamat+sr .sin+port 4 htons!noport"$ if !connect!sockdf( !struct sockaddr *"Calamat+sr ( siBeof!alamat+sr "" < &" error!08==;= menghubungi ser er0"$ n 4 Erite!sockdf(0>eminta Identifikasi <apal0(,."$ if !n < &" error!08==;= >engirim data ke :ocket0"$ bBero!buffer(,-."$ n 4 read!sockdf(buffer(,--"$ if !n < &" error!08==;= >embaca data dari :ocket0"$ printf!0<apal >engirim Identifikasi3n0"$ printf!0Pesan Fiterima : 2s 3n0( buffer"$ return &$ '

SERVER TCP
/* Program :er er ? : Identifikasi @:: 8nterprise */ #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> /* 6ungsi @ntuk >enangani 8rror Gang >uncul */ oid error!char *msg" # perror!msg"$ e%it!?"$ ' /* 6ungsi @tama */ int main!int argc( char *arg )*" # int sockdf( sockdfbaru( noport( pHclient( n$ struct sockaddr+in alamat+sr ( alamat+cli$ char buffer),-.*$ if !argc < ," # fprintf!stderr(08==;=( 5nda belum mendefinisikan 7omor PortI3n0"$ e%it!?"$ ' noport 4 atoi!arg )?*"$ sockdf 4 socket!56+I789( :;C<+:9=85>( &"$ if !sockdf < &" error !08==;= Inisiasi :ocket0"$ bBero!!char *" Calamat+sr ( siBeof!alamat+sr ""$ alamat+sr .sin+family 4 56+I789$ alamat+sr .sin+port 4 htons!noport"$ alamat+sr .sin+addr.s+addr 4 I75FF=+57G$ if !bind!sockdf( !struct sockaddr *" Calamat+sr ( siBeof!alamat+sr "" < & " error!08rror mengikatkan socket ke 5lamat :er er3n0"$ listen!sockdf(-"$ pHclient 4 siBeof!alamat+cli"$ sockdfbaru 4 accept!sockdf( !struct sockaddr *" Calamat+cli( CpHclient"$ if !sockdfbaru < &" error!08==;= pada saat menerima koneksi3n0"$ bBero!buffer(,-."$ n 4 read!sockdfbaru( buffer( ,--"$ if !n < &" error!08==;= penerimaan data0"$ printf!05da Permintaan Identifikasi <apal dari 2s 3n0( inet+ntoa!alamat+cli.sin+addr""$ printf!0Pesan : 2s 3n0(buffer"$ n 4 Erite!sockdfbaru( 0Ini adalah @:: 8nterprise F.0(,J"$ if !n < &" error!08==;= pengiriman data0"$ return &$ '

SERVER DATAGRAM
#include #include #include #include #include #include #include #include #include <stdio.h> <stdlib.h> <unistd.h> <errno.h> <string.h> <sys/types.h> <sys/socket.h> <netinet/in.h> <arpa/inet.h> // the port users Eill be connecting to

#define >GP;=9 KL-& #define >5MN@6A87 ?&&

int main! oid" # int sockfd$ struct sockaddr+in my+addr$ // my address information struct sockaddr+in their+addr$ // connectorOs address information int addr+len( numbytes$ char buf)>5MN@6A87*$ if !!sockfd 4 socket!56+I789( :;C<+F1=5>( &"" 44 D?" # perror!0socket0"$ e%it!?"$ ' my+addr.sin+family 4 56+I789$ // host byte order my+addr.sin+port 4 htons!>GP;=9"$ // short( netEork byte order my+addr.sin+addr.s+addr 4 I75FF=+57G$ // automatically fill Eith my memset!C!my+addr.sin+Bero"( O3&O( J"$ // Bero the rest of the struct if !bind!sockfd( !struct sockaddr *"Cmy+addr( siBeof!struct sockaddr"" 44 D?" # perror!0bind0"$ e%it!?"$ ' addr+len 4 siBeof!struct sockaddr"$ if !!numbytes4rec from!sockfd( buf( >5MN@6A87D? ( &( !struct sockaddr *"Ctheir+addr( Caddr+len"" 44 D?" # perror!0rec from0"$ e%it!?"$ ' printf!0got packet from 2s3n0(inet+ntoa!their+addr.sin+addr""$ printf!0packet is 2d bytes long3n0(numbytes"$ buf)numbytes* 4 O3&O$ printf!0packet contains 302s303n0(buf"$ close!sockfd"$ return &$ '

IP

CLIENT DATAGRAM
#include #include #include #include #include #include #include #include #include #include <stdio.h> <stdlib.h> <unistd.h> <errno.h> <string.h> <sys/types.h> <sys/socket.h> <netinet/in.h> <arpa/inet.h> <netdb.h> // the port users Eill be connecting to

#define >GP;=9 KL-&

int main!int argc( char *arg )*" # int sockfd$ struct sockaddr+in their+addr$ // connectorOs address information struct hostent *he$ int numbytes$ if !argc I4 /" # fprintf!stderr(0Penggunaan: talker hostname pesan3n0"$ e%it!?"$ ' if !!he4gethostbyname!arg )?*"" 44 7@AA" # perror!0gethostbyname0"$ e%it!?"$ ' // get the host info

if !!sockfd 4 socket!56+I789( :;C<+F1=5>( &"" 44 D?" # perror!0socket0"$ e%it!?"$ ' their+addr.sin+family 4 56+I789$ // host byte order their+addr.sin+port 4 htons!>GP;=9"$ // short( netEork byte order their+addr.sin+addr 4 *!!struct in+addr *"heD>h+addr"$ memset!C!their+addr.sin+Bero"( O3&O( J"$ // Bero the rest of the struct if !!numbytes4sendto!sockfd( arg ),*( strlen!arg ),*"( &( !struct sockaddr *"Ctheir+addr( siBeof!struct sockaddr""" 44 D?" # perror!0sendto0"$ e%it!?"$ ' printf!0sent 2d bytes to 2s3n0( numbytes( inet+ntoa!their+addr.sin+addr""$ close!sockfd"$ ' return &$

Das könnte Ihnen auch gefallen