http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=6443 [º¹»ç]
¾È³çÇϼ¼¿ä.
³ú¸¦ ÀÚ±ØÇÏ´Â tcp/ip¼ÒÄÏ ÇÁ·Î±×·¡¹Ö À̶ó´Â Ã¥À¸·Î °øºÎ¸¦ ÇÏ°í ÀÖ½À´Ï´Ù.
Ã¥ 105ÆäÀÌÁö¿¡ ÀÖ´Â ¿¹Á¦¸¦ ÄÄÆÄÀÏÇؼ ½ÇÇàÇϴϱî 255.255.255.255¿¡¼ °è¼Ó ¿¬°áÀÌ ¿Â´Ù°í ¶å´Ï´Ù.
------------------------------------------------echo_server.c----------------------------------------------------
#include <sys/socket.h>
#include <sys/stat.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#define MAXBUF 1024
int main(int argc, char **argv)
{
int server_sockfd, client_sockfd;
int client_len, n;
int ahfma;
char buf[MAXBUF];
struct sockaddr_in clientaddr, serveraddr;
client_len = sizeof(clientaddr);
if((server_sockfd=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)==-1))
{
perror("socket error:");
exit(0);
}
bzero(&serveraddr, sizeof(serveraddr));
serveraddr.sin_family=AF_INET;
serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);
serveraddr.sin_port=htons(atoi(argv[1]));
bind(server_sockfd,(struct sockaddr *)&serveraddr,sizeof(serveraddr));
listen(server_sockfd,5);
while(1)
{
memset(buf,0x00,MAXBUF);
client_sockfd=accept(server_sockfd,(struct sockaddr *)&clientaddr, &client_len);
printf("New Client Connect:%s\n",inet_ntoa(clientaddr.sin_addr));
if((n=read(client_sockfd,buf,MAXBUF))<=0)
{
close(client_sockfd);
continue;
}
printf("%s\n",buf);
if(write(client_sockfd, buf, MAXBUF)<=0)
{
perror("write error:");
close(client_sockfd);
}
close(client_sockfd);
}
close(server_sockfd);
return 0;
}
------------------------------------------------½ÇÇà °á°ú------------------------------------------
$./echo_server 3500
New Client Connect:255.255.255.255
New Client Connect:255.255.255.255
New Client Connect:255.255.255.255
New Client Connect:255.255.255.255
New Client Connect:255.255.255.255
New Client Connect:255.255.255.255
New Client Connect:255.255.255.255
.
.
.
.
.
.
.
----------------------------------------------------------------------------------------------------------
¾î¶² ºÎºÐ¿¡ ¹®Á¦°¡ Àִ°ǰ¡¿ä?
|
Hit : 5027 Date : 2014/02/24 10:18
|