Added close() method to stream classes.
[sockstream.git] / test / revd.cpp
1 /**************************************************************************
2 **  (c) Copyright 2012, Andromeda Technology & Automation
3 ***************************************************************************
4 ** MODULE INFORMATION *
5 ***********************
6 **      FILE NAME      : revd.cpp
7 **      SYSTEM NAME    : Network and socket classes - test routine
8 **      VERSION NUMBER : 0.1
9 **
10 **  DESCRIPTION      :  Server socket test.
11 **
12 **  EXPORTED OBJECTS : 
13 **  LOCAL    OBJECTS : 
14 **  MODULES  USED    :
15 ***************************************************************************
16 **  ADMINISTRATIVE INFORMATION *
17 ********************************
18 **      ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
19 **      CREATION DATE   : Mar 02, 2012
20 **      LAST UPDATE     : Mar 09, 2012
21 **      MODIFICATIONS   : 
22 **************************************************************************/
23
24
25 #include "sockstream.h"
26
27
28 /*=========================================================================
29 **  NAME           : main
30 **  SYNOPSIS       :
31 **  PARAMETERS     :
32 **  RETURN VALUE   : None
33 **
34 **  DESCRIPTION    : 
35 **
36 **  VARS USED      :
37 **  VARS CHANGED   :
38 **  FUNCTIONS USED :
39 **  SEE ALSO       :
40 **  LAST MODIFIED  : Mar 09, 2012
41 **=========================================================================
42 */
43
44 int main()
45 {
46    std::cout << "Server socket test\n";
47
48    InternetAddress ip(in6addr_any);
49    Port            prt(2112);
50    IPSocketAddress sa(ip, prt);
51
52    std::cout << "Listening on IP address " << String(ip) << "\n";
53
54    StreamSocket s;
55    s.Listen(sa);
56
57    //while (true)
58    //{
59       int  len;
60
61       sockstream client(s.Accept());
62       std::cout << "Socket connected.\n";
63
64       do
65       {
66          String buf, reverse;
67
68          client >> buf;
69          len = ~buf;
70          reverse = "";
71          std::cout << "\nLEN = " << len << "\n" << buf << "\n";
72          for (int i = 0; i < len; i++)
73          {
74             reverse += buf(len-i-1, 1);
75          }
76          client << reverse << std::endl;
77       }
78       while (len > 2);
79       client.close();
80    //}
81 }
82