00001 #include "socket.h"
00002 #include "tcpsocket.h"
00003 #include "resolver.h"
00004 #include "thread.h"
00005 #include "threadtest.h"
00006
00007
00008 using namespace n2nc ;
00009
00010 int main(){
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 net::Socket *sock = new net::TcpSocket(AF_INET6);
00022
00023 net::SocketAddress *sa = net::Resolver::getSocketAddressByService("::1","6099",SOCK_STREAM,AF_INET6,false);
00024
00025 std::cerr << "test: " << sa->getAddress()->toString() << std::endl ;
00026
00027 sock->bind(*sa);
00028 ((net::TcpSocket*)(sock))->setListen();
00029 std::cerr << "listening to: " << sa->toString() << std::endl ;
00030
00031 sleep(2);
00032
00033 n2nc::sync::Thread *tr = new ThreadTest();
00034 tr->run(NULL);
00035
00036 sleep(2);
00037
00038 net::Socket *consock = ((net::TcpSocket*)sock)->accept();
00039
00040
00041
00042
00043
00044 int left = 3;
00045 char mybuf[100];
00046 while(left--){
00047 consock->recv(mybuf,100);
00048 std::cerr << mybuf << std::endl;
00049 sleep(1);
00050 }
00051 tr->terminate();
00052 sleep(2);
00053 delete consock ;
00054 delete sock ;
00055 delete sa ;
00056 return EXIT_SUCCESS ;
00057 }