Sie sind auf Seite 1von 15

HEADER.

#include<stdio.h>

#include<string.h>

#include<unistd.h>

#include<sys/types.h>

#include<sys/stat.h>

#include<fcntl.h>

#include<errno.h>

#include<sys/socket.h>

#include<arpa/inet.h>

#include<netinet/in.h>

#include<stdlib.h>

#include<signal.h>

#define SER ER!"#R$ %&''

#define ()*!S+,E -.

#define S$R!S+,E /..

#define 0)E)E 1

#define 2A3 1.

4oid concatinate!string5char 6string!4al7char 68ord9:

4oid send!string5int client!socket7char6 string!4al9:

4oid recei4e!string5int connfd7char6 string!4al9:

4oid e4aluate!string5char6 string!4al7 char6 output!string9:

4oid interrupt!handle5int sigint9:

SER ER;2A+<

#include=header.h=

int ser4er!socket:

int >ain59

struct sockaddr!in ser4eraddress7 clientaddress:

int ret!4al7 connfd:

socklen!t len:

char string!4al@S$R!S+,EA7 output!string@S$R!S+,EA:

>e>set5Bser4eraddress7 .7 siCeof5ser4eraddress99:

>e>set5Bclientaddress7 .7 siCeof5clientaddress99:

>e>set5string!4al7 DE.D7 S$R!S+,E9:

>e>set5output!string7 DE.D7 S$R!S+,E9:

signal5S+F+<$7interrupt!handle9:

ser4er!socket G socket5A*!+<E$7 S#HI!S$REA27 .9:

//printf5=ser4er socket JdEn=7 ser4er!socket9:

if5;/ GG ser4er!socket9

perror5=Socket creation error=9:

eKit5/9:

ser4eraddress.sin!fa>ily G A*!+<E$:

ser4eraddress.sin!port G htons5SER ER!"#R$9:

ser4eraddress.sin!addr.s!addr G htonl5+<ADDR!A<M9:

ret!4al G bind5ser4er!socket75struct sockaddr69 Bser4eraddress75socklen!t9 siCeof5ser4eraddress99:

//printf5= alue of ret4al of bind JdEn=7ret!4al9:

if5;/ GG ret!4al9

perror5=Error binding=9:

close5ser4er!socket9:

eKit5/9:

ret!4al G listen5ser4er!socket7 0)E)E9:

//printf5= alue of ret4al of listen JdEn=7ret!4al9:

if5;/ GG ret!4al9

perror5=Error listening=9:

close5ser4er!socket9:

eKit5/9:

for5::9

connfd G accept5ser4er!socket7 5struct sockaddr 695Bclientaddress97 Blen9:

//printf5= alue of connfd of accept JdEn=7connfd9:

if5. > connfd9

perror5=Error accepting=9:

close5ser4er!socket9:

eKit5/9:

//printf5=Halling recei4e stringEn=9:

recei4e!string5connfd7 string!4al9:

e4aluate!string5string!4al7 output!string9:

send!string5connfd7 output!string9:

//close5ser4er!socket9:

close5connfd9:

SER ER *)<H$+#<S

#include=header.h=

eKtern int ser4er!socket:

4oid recei4e!string5int connfd7char6 string!4al9

int nu>berG.7 indeKG.:

8hile55nu>ber G read5connfd7 string!4alNindeK7 ()*!S+,E99 > .9

indeK G indeKNnu>ber:

string!4al@indeKA G DE.D:

printf5=String recei4ed to ser4er ; JsEn=7 string!4al9:

4oid e4aluate!string5char6 string!4al7 char6 output!string9

char copy!str@S$R!S+,EA7 te>p@2A3A:

char 6token@2A3A:

>e>set5copy!str7 DE.D7 S$R!S+,E9:

>e>set5token7 DE.D7 2A36siCeof5char699:

int length7 indeK G .7 count:

length G strlen5string!4al9:

strncpy5copy!str7 string!4al7 length9:

token@.A G strtok5copy!str7 = =9:

8hile5token@indeKA OG <)PP9

indeKNN:

token@indeKA G strtok5<)PP7 = =9:

for5count G .: count < indeK: countNN9

>e>set5te>p7 DE.D7 2A39:

length G strlen5token@countA9:

strncat5output!string7 token@countA7 length9:

sprintf5te>p7 =Jd=7 length9:

strncat5output!string7 = =7 /9:

strncat5output!string7 te>p7 /9:

strncat5output!string7 = =7 /9:

printf5=String e4aluated at ser4er ; JsEn=7 output!string9:

4oid send!string5int connfd7char6 string!4al9

int total!8ritten G .7 length7 8ritten:

length G strlen5string!4al9:

8hile5total!8ritten < length9

8ritten G 8rite5connfd7 string!4al N total!8ritten7 length ; total!8ritten9:

total!8ritten NG 8ritten:

shutdo8n5connfd7 SH)$!QR9:

4oid interrupt!handle5int sigint9

if5sigint GG S+F+<$9

printf5=Ser4er endingEn=9:

close5ser4er!socket9:

eKit5.9:

HP+E<$ 2A+<

#include=header.h=

int >ain5int c7 char6 arg4@A9

struct sockaddr!in ser4eraddress:

char string!4al@S$R!S+,EA:

>e>set5string!4al7 DE.D7 S$R!S+,E9:

int client!socket7 ret!4al7 indeK:

if5' <G c9

>e>set5Bser4eraddress7 .7 siCeof5ser4eraddress99:

ser4eraddress.sin!fa>ily G A*!+<E$:

ser4eraddress.sin!port G htons5atoi5arg4@1A99:

ser4eraddress.sin!addr.s!addr G inet!addr5arg4@/A9:

for5indeK G %: indeK < c: indeKNN9

concatinate!string5string!4al7 arg4@indeKA9:

//printf5=concatinated string ; Js En=7 string!4al9:

client!socket G socket5A*!+<E$7 S#HI!S$REA27 .9:

//printf5=4alue of client socket ; JdEn=7 client!socket9:

if5;/ GG client!socket9

perror5=Socket creation failed=9:

eKit5/9:

ret!4al G connect5client!socket7 5struct sockaddr6 9Bser4eraddress7siCeof5ser4eraddress99:

//printf5=4alue of ret 4al ; JdEn=7 ret!4al9:

if5ret!4al < .9

perror5=Error connecting to ser4er=9:

printf5=Error nu>ber ; Jd=7 errno9:

close5client!socket9:

eKit5/9:

//printf5=Sending string ; Js En=7 string!4al9:

send!string5client!socket7 string!4al9:

recei4e!string5client!socket7 string!4al9:

close5client!socket9:

else

printf5="lease enter proper co>>and line argu>entsEn=9:

printf5=*or>atR <eKe> <Ser4er ip address> <Ser4er port nu>ber> <string /> <string 1> .. <string n>=9:

eKit5/9:

return .:

HP+E<$ *)<H$+#<S

#include=header.h=

4oid concatinate!string5char 6string!4al7char 68ord9

int length G .:

length G strlen58ord9:

strncat5string!4al7 8ord7 length9:

strncat5string!4al7 = =7 /9:

//printf5=String ; JsEn=7 string!4al9:

4oid send!string5int client!socket7char6 string!4al9

int total!8ritten G .7 length7 8ritten:

length G strlen5string!4al9:

8hile5total!8ritten < length9

8ritten G 8rite5client!socket7 string!4al N total!8ritten7 length ; total!8ritten9:

total!8ritten NG 8ritten:

shutdo8n5client!socket7 SH)$!QR9:

4oid recei4e!string5int client!socket7char6 string!4al9

int nu>berG.7 indeKG.:

8hile55nu>ber G read5client!socket7 string!4alNindeK7 ()*!S+,E99 > .9

indeK G indeKNnu>ber:

string!4al@indeKA G DE.D:

printf5=String and length recei4ed fro> ser4er ; JsEn=7 string!4al9:

Das könnte Ihnen auch gefallen