ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
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 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À» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|