Security Study/Network

echo UDP_server

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2015. 9. 18.
728x90
๋ฐ˜์‘ํ˜•

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <unistd.h>

#include <arpa/inet.h>

#include <sys/types.h>

#include <sys/socket.h>


#define BUFSIZE 30

void error_handling(char *message);


int main(int argc, char **argv)

{

int serv_sock;

char message[BUFSIZE];

int str_len;


struct sockaddr_in serv_addr;

struct sockaddr_in clnt_addr;

int clnt_addr_size;


if(argc!=2){

printf("Usage : %s <port>\n", argv[0]);

exit(1);

}


serv_sock=socket(PF_INET,SOCK_DGRAM,0);


if(serv_sock ==-1)

error_handling("UDP socket error");


memset(&serv_addr,0,sizeof(serv_addr));

serv_addr.sin_family=AF_INET;

serv_addr.sin_addr.s_addr=htonl(INADDR_ANY);

serv_addr.sin_port=htons(atoi(argv[1]));


if(bind(serv_sock,(struct sockaddr*)&serv_addr,sizeof(serv_addr))==-1)

error_handling("bind()error");


while(1){

clnt_addr_size=sizeof(clnt_addr);

str_len = recvfrom(serv_sock, message,BUFSIZE,0,(struct sockaddr*)&clnt_addr,&clnt_addr_size);

sendto(serv_sock,message,str_len,0,(struct sockaddr*)&clnt_addr,sizeof(clnt_addr));


write(serv_sock,message,str_len);

write(1,message,str_len);


}

close(serv_sock);

return 0;

}

void error_handling(char *message)

{

fputs(message,stderr);

fputc('\n',stderr);

exit(1);

}



728x90
๋ฐ˜์‘ํ˜•

'Security Study > Network' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ssl server  (0) 2015.09.18
echo UDP_client  (0) 2015.09.18
echo TCP_client  (0) 2015.09.18
echo TCP_server  (0) 2015.09.18
network  (0) 2015.09.14

๋Œ“๊ธ€