ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

ACE ¼ÀÇÃ

Ãʰ£´Ü Echo ¼­¹ö/Ŭ¶óÀ̾ðÆ®


Echo ¼­¹ö : ¼­¹ö¸¸ ¸¸µé°í TelnetÀ¸·Î Å×½ºÆ®ÇÒ ¼öµµ ÀÖ´Ù.
#include <ace/Log_Record.h> 
#include <ace/Process.h> 
#include <ace/Process_Manager.h> 
#include <ace/SOCK_Acceptor.h> 
#include <ace/SOCK_Stream.h> 
#include <ace/Signal.h> 
#include <ace/Auto_Ptr.h> 
 
#include <string.h> 
 
 
extern char *get_url_pathname (ACE_SOCK_Stream *); 
int main() 
{ 
    ACE_INET_Addr server_addr; 
    ACE_SOCK_Acceptor acceptor; 
    ACE_SOCK_Stream peer; 
    char msg[125]; 
    int i = 0, n; 
 
    if (server_addr.set(80) == -1) return 1; 
    if (acceptor.open(server_addr) == -1) return 1; 
 
    for (;;) 
    { 
        printf("Client Wait\n"); 
        if (acceptor.accept(peer) == -1) 
        { 
          printf("Accept Error\n"); 
          return 1; 
        } 
        peer.disable (ACE_NONBLOCK); 
        i = 0; 
        while(1) 
        { 
          memset(msg, 0x00, 125); 
          if ((n =peer.recv (msg, sizeof(msg))) == -1) 
          { 
            printf("Rcv Error\n"); 
          } 
 
          if ((n =peer.send (msg, strlen(msg))) == -1) 
          { 
            printf("Close\n"); 
            peer.close(); 
            break; 
          } 
          else 
            printf("Send %d\n", n); 
        } 
    } 
    printf("Return\n"); 
} 
 


Echo Ŭ¶óÀ̾ðÆ®
#include <ace/INET_Addr.h> 
#include <ace/Log_Record.h> 
#include <ace/Process.h> 
#include <ace/Process_Manager.h> 
#include <ace/SOCK_Connector.h> 
#include <ace/SOCK_Stream.h> 
#include <ace/Signal.h> 
#include <ace/Auto_Ptr.h> 
 
#include <string.h> 
 
#include <stdio.h> 
 
 
typedef ACE_SOCK_Connector CONNECTOR; 
int main() 
{ 
    ACE_SOCK_Connector connector; 
    ACE_SOCK_Stream peer; 
    ACE_INET_Addr peer_addr; 
 
    char buf[125]; 
    int i, n; 
 
    if (peer_addr.set (80, "localhost") == -1) 
        return 1; 
 
    // blocking ¸ðµå 
    if (connector.connect (peer, peer_addr) == -1) 
        return 1; 
    while(1) 
    { 
      fgets(buf, 124, stdin); 
      if ((n =peer.send (buf, strlen(buf))) == -1) 
      { 
        printf("Close\n"); 
        peer.close(); 
        break; 
      } 
 
      memset(buf, 0x00, 125); 
      if ((n =peer.recv (buf, sizeof(buf))) == -1) 
      { 
        printf("Rcv Error\n"); 
      } 
      printf("-->%s", buf); 
    } 
} 
 

  • ÄÄÆÄÀÏÀ» À§ÇÑ Makefile(12)
############################################################################# 
# Makefile for building echo_server 
# Generated by tmake at 23:18, 2006/01/24 
#     Project: echo_server 
#    Template: app 
############################################################################# 
 
####### Compiler, tools and options 
 
CC    =    gcc 
CXX    =    g++ 
CFLAGS    =    -pipe -Wall -W -O2 -DNO_DEBUG 
CXXFLAGS=    -pipe -Wall -W -O2 -DNO_DEBUG 
INCPATH    =    -I$(ACE_ROOT) 
LINK    =    g++ 
LFLAGS    =     
LIBS    = -L$(ACE_ROOT)/lib -lACE     
 
TAR    =    tar -cf 
GZIP    =    gzip -9f 
 
####### Files 
 
HEADERS =     
SOURCES =    ACE_server.cc 
OBJECTS =    ACE_server.o 
INTERFACES =     
UICDECLS =     
UICIMPLS =     
SRCMOC    =     
OBJMOC    =     
DIST    =     
TARGET    =    echo_server 
INTERFACE_DECL_PATH = . 
 
####### Implicit rules 
 
.SUFFIXES: .cpp .cxx .cc .C .c 
 
.cpp.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.cxx.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.cc.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.C.o: 
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 
 
.c.o: 
    $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< 
 
####### Build rules 
 
 
all: $(TARGET) 
 
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)  
    $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) 
 
moc: $(SRCMOC) 
 
tmake: Makefile 
 
Makefile: echo_server.pro 
    tmake echo_server.pro -o Makefile 
 
dist: 
    $(TAR) echo_server.tar echo_server.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST) 
    $(GZIP) echo_server.tar 
 
clean: 
    -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) 
    -rm -f *~ core 
 
####### Compile 
 
ACE_server.o: ACE_server.cc 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.