echo server ¿¹Á¦ ÄÚµå
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>C>echo_server



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

¼³¸í

°£´ÜÇÑ echo server ÇÁ·Î±×·¥. echo client·Î Å×½ºÆ® ÇÒ ¼ö ÀÖ´Ù.
  1. TCP
  2. ¿¬°á ÁöÇâ, ´ÜÀÏ ÇÁ·Î¼¼½º/´ÜÀÏ ¾²·¹µå
  3. µ¿±â / ºÀ¼â ÀÔÃâ·Â ¸ðµ¨

ÄÚµå

#include <sys/socket.h> 
#include <sys/stat.h> 
#include <arpa/inet.h> 
#include <stdio.h> 
#include <string.h> 
 
#define MAXBUF  256 
int main(int argc, char **argv) 
{ 
    int server_sockfd, client_sockfd; 
    int client_len, n; 
    char buf[MAXBUF]; 
    struct sockaddr_in clientaddr, serveraddr; 
 
    client_len = sizeof(clientaddr); 
 
    if ((server_sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) 
    { 
        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); 
 
        if ((n = read(client_sockfd, buf, MAXBUF)) <= 0) 
        { 
            close(client_sockfd); 
            continue; 
        } 
        if ( write(client_sockfd, buf, MAXBUF) <=0) 
        { 
            perror("write error : "); 
            close(client_sockfd); 
        } 
        close(client_sockfd); 
    } 
} 
 

Âü°í


category_C ÄÚµå
category__200
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.