Logo
~Sockets~
~Examples~
~Contact~

Main.cpp

Go to the documentation of this file.
00001 // Main.cpp
00002 // released 2006-09-25
00003 /*
00004 Copyright (C) 2006  Anders Hedstrom (grymse@alhem.net)
00005 
00006 This program is free software; you can redistribute it and/or
00007 modify it under the terms of the GNU General Public License
00008 as published by the Free Software Foundation; either version 2
00009 of the License, or (at your option) any later version.
00010 
00011 This program is distributed in the hope that it will be useful,
00012 but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 GNU General Public License for more details.
00015 
00016 You should have received a copy of the GNU General Public License
00017 along with this program; if not, write to the Free Software
00018 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00019 */
00020 #include <ListenSocket.h>
00021 #include "FutureHandler.h"
00022 #include "InSocket.h"
00023 #include "HeartBeat.h"
00024 
00025 
00026 void add(SocketHandler& h,int port)
00027 {
00028         ListenSocket<InSocket> *l = new ListenSocket<InSocket>(h);
00029         printf("Attempting bind on port %d... ", port);
00030         if (l -> Bind(port))
00031         {
00032                 printf("Not successful\n");
00033                 delete l;
00034                 return;
00035         }
00036         printf("OK\n");
00037         l -> SetDeleteByHandler();
00038         h.Add(l);
00039 }
00040 
00041 
00042 int main(int argc,char *argv[])
00043 {
00044         int port = 4040;
00045         if (argc > 1)
00046                 port = atoi(argv[1]);
00047         FutureHandler h;
00048         add(h, port);
00049         add(h, 4040);
00050         add(h, 4441);
00051         add(h, 8080);
00052         add(h, 4442);
00053         //
00054 //      printf("Ready\n");
00055         HeartBeat beat(h);
00056         h.EventLoop();
00057 /*
00058         while (true)
00059         {
00060                 struct timeval tv;
00061                 if (h.GetTimeUntilNextEvent(&tv))
00062                 {
00063                         h.Select(&tv);
00064                         h.CheckEvents();
00065                 }
00066                 else
00067                 {
00068                         h.Select();
00069                 }
00070         }
00071 */
00072 }
00073 
00074 
Page, code, and content Copyright (C) 2006 by Anders Hedström
Generated on Mon Aug 29 20:21:47 2005 for C++ Sockets by  doxygen 1.4.4