Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/FICN/src/network/dummyclient2.cc @ 660

Last change on this file since 660 was 660, checked in by nicolasc, 16 years ago
  • added FIXME-tags - should be selfexplanatory
File size: 2.6 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *
4 *
5 *   License notice:
6 *
7 *   This program is free software; you can redistribute it and/or
8 *   modify it under the terms of the GNU General Public License
9 *   as published by the Free Software Foundation; either version 2
10 *   of the License, or (at your option) any later version.
11 *
12 *   This program is distributed in the hope that it will be useful,
13 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 *   GNU General Public License for more details.
16 *
17 *   You should have received a copy of the GNU General Public License
18 *   along with this program; if not, write to the Free Software
19 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20 *
21 *   Author:
22 *      Oliver Scheuss, (C) 2007
23 *   Co-authors:
24 *      ...
25 *
26 */
27
28//
29// Dummy client to test ConnectionManager, PacketBuffer, ClientConnection and other classes
30//
31// Author: Oliver Scheuss
32
33#include <iostream>
34#include <string>
35#include <enet/enet.h>
36#include "PacketManager.h"
37#include "ClientConnection.h"
38
39#ifdef WIN32
40#include <windows.h>
41#define usleep(x) Sleep((x)/1000)
42#else
43#include <unistd.h>
44#endif
45
46using namespace network;
47
48int main(){
49  network::PacketGenerator pck;
50
51  std::cout << "Enter address of the server xxx.xxx.xxx.xxx (enter for localhost)" << std::endl;
52  std::string str;
53  std::getline(std::cin, str);
54  std::cout << "You entered: " << str << std::endl;
55  if(str.compare("")==0)
56    str="127.0.0.1";
57
58  ClientConnection client = ClientConnection(55556, str);
59
60  client.createConnection();
61
62  if(client.waitEstablished(10000))
63    std::cout << "Connection established" << std::endl;
64  else
65    std::cout << "Connection failed" << std::endl;
66
67  ENetPacket *packet;  //FIXME: unused var!
68  ENetEvent event;
69
70
71
72  for(int i=0; i<10; i++){
73        // weihnachtsmann bringt packete
74        // extend the packet and append the string foo to it
75        // send packet to peer on channel id 0
76    client.addPacket(pck.chatMessage("test"));
77        // keep the timeout very small for low delay
78    if(client.sendPackets(&event)){
79      std::cout << "successfully sent: " << event.type << std::endl;
80    }else{
81      std::cout << "failed sending" << std::endl;
82    }
83//    usleep(1000000);
84  }
85  usleep(1000000);
86        // now disconnect
87  if(client.closeConnection())
88    std::cout << "Connection successfully closed" << std::endl;
89  else
90    std::cout << "Connection closing failed" << std::endl;
91
92        // 3 seconds timeout
93  return 0;
94}
95
Note: See TracBrowser for help on using the repository browser.