³ú¸¦ ÀÚ±Ø ÇÏ´Â TCP/IP À庰 ³ëÆ® 4Àå
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



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

echo_server_win.c

4Àå echo_server_win.cÀÇ ¼Ò½ºÄڵ尡 Å͹«´Ï ¾øÀÌ ²¿¿©ÀÖ½À´Ï´Ù. »ç¼ÒÇÑ ¿ÀŸµµ ¾Æ´Ï°í ¿Ö ÀÌ·± ÀÏÀÌ »ý°å´ÂÁö ¸ð¸£°Ú½À´Ï´Ù. º¯¼ö¸í °°Àº°Ô Á¦°¡ »ç¿ëÇÏ´Â ¹æ½ÄÀÌ ¾Æ´Ï°í, ÀüÇô ¾û¶×ÇÑ À̸§ÀÇ º¯¼öµéÀÌ »ç¿ëµÇ°í Àִ°Ô, Äڵ带 copy & paste Çϸ鼭 ¾îµð¼±°¡ ²¿¿©¹ö¸° °Í °°½À´Ï´Ù. T.T

ÄÄÆÄÀÏ °¡´ÉÇÑ ÄÚµå·Î ´Ù½Ã ¿Ã¸³´Ï´Ù.
#include <winsock2.h> 
#include <stdio.h> 
 
#define MAX_PACKETLEN 1024 
#define PORT 3500 
 
int main() 
{ 
  WSADATA wsaData; 
  SOCKET listen_s, client_s; 
  struct sockaddr_in server_addr, client_addr; 
  char szReceiveBuffer[MAX_PACKETLEN]; 
  int readn, writen; 
  int len; 
 
  if(WSAStartup(MAKEWORD(2,2), &wsaData) != 0) 
  { 
    return 1; 
  } 
  listen_s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 
  if(listen_s == INVALID_SOCKET) 
  { 
    return 1; 
  } 
  
  ZeroMemory(&server_addr, sizeof(struct sockaddr_in)); 
 
  server_addr.sin_family = PF_INET; 
  server_addr.sin_port = htons(PORT); 
  server_addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); 
 
  if(bind(listen_s, (struct sockaddr *)&server_addr, sizeof(struct sockaddr_in)) == SOCKET_ERROR) 
  { 
    return 0; 
  } 
  if(SOCKET_ERROR == listen(listen_s, 5) == SOCKET_ERROR) 
  { 
    return 0; 
  } 
 
 
  while(1) 
  { 
    ZeroMemory(&client_addr, sizeof(struct sockaddr_in)); 
    len = sizeof(struct sockaddr_in); 
    client_s = accept(listen_s, (struct sockaddr *)&client_addr, &len); 
    readn = recv(client_s, szReceiveBuffer, MAX_PACKETLEN, 0); 
    if(readn > 0) 
    { 
      writen = send(client_s, szReceiveBuffer, readn, 0);  
    } 
    closesocket(client_s); 
  } 
  closesocket(listen_s); 
  WSACleanup(); 
  return 0; 
} 
 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.