À©¼Ó : echo Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

echo Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥

  1. À©¼Ó(winsock) echo Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À¸·Î BSD ¼ÒÄÏ ÀÎÅÍÆäÀ̽º¿Í POSIX ÀÎÅÍÆäÀ̽º¸¸À¸·Î ¸¸µé¾úÀ½.
  2. echo ¼­¹ö ÇÁ·Î±×·¥°ú ½ÖÀ¸·Î Å×½ºÆ® ÇÒ ¼ö ÀÖ´Ù.
#include <stdio.h> 
#include <winsock2.h> 
 
#define PORT_NUM 3800 
#define MAXLEN 1024 
 
int main(int argc, char **argv) 
{ 
    SOCKET sockfd; 
    WSADATA wsaData; 
    struct sockaddr_in addr; 
 
    char buf[MAXLEN]; 
    char rbuf[MAXLEN]; 
 
    if(argc !=2) 
    { 
        printf("Usage : %s [ip address]\n", argv[0]); 
        return 1; 
    } 
 
    if(WSAStartup(MAKEWORD(2,2), &wsaData) != NO_ERROR) 
    { 
        return 1; 
    } 
 
    if((sockfd = socket(AF_INET,SOCK_STREAM, 0)) == INVALID_SOCKET)  
    { 
        return 1; 
    } 
    memset((void *)&addr, 0x00, sizeof(addr)); 
    addr.sin_family = AF_INET; 
    addr.sin_addr.s_addr = inet_addr(argv[1]); 
    addr.sin_port = htons(PORT_NUM); 
 
    if(connect(sockfd, (struct sockaddr *)&addr, sizeof(addr)) == SOCKET_ERROR) 
    { 
        return 1; 
    } 
    while(1) 
    { 
         printf("> "); 
         fgets(buf, MAXLEN-1, stdin); 
         if(strncmp(buf, "quit\n",5) == 0) 
         { 
              break; 
         } 
 
         send(sockfd, (void *)buf, strlen(buf), 0); 
         memset(rbuf, 0x00, MAXLEN); 
           recv(sockfd, (void *)buf, MAXLEN, 0); 
         printf("s -> %s\n", buf); 
    } 
    closesocket(sockfd); 
    WSACleanup(); 
    return 0; 
} 
 

°ü·Ã ±Û


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