aj3423

enet server

Jan 21st, 2016
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <string>
  2. #include <iostream>
  3. #include <enet/enet.h>
  4. using namespace std;
  5.  
  6. void main()
  7. {
  8.     // initialize
  9.     if(enet_initialize()) {
  10.         cout << "fail init" << endl;
  11.         return;
  12.     }
  13.  
  14.     ENetAddress address;
  15.     address.host = ENET_HOST_ANY;
  16.     address.port = 9000;
  17.  
  18.     ENetHost* server;
  19.     server = enet_host_create(&address,
  20.                   32,
  21.                   2,
  22.                   0,
  23.                   0);
  24.     if(server == NULL) {
  25.         cout << "fail create host" << endl;
  26.         enet_deinitialize();
  27.         return;
  28.     }
  29.  
  30.     ENetEvent event;
  31.     while(enet_host_service(server, &event, 5000) >= 0) {
  32.         if(event.type == ENET_EVENT_TYPE_CONNECT) { // client connected
  33.             ENetAddress remote = event.peer->address; // peer address
  34.         } else if(event.type == ENET_EVENT_TYPE_RECEIVE) {    // recv data
  35.             enet_packet_destroy(event.packet); // free
  36.             // ----------- send ------------
  37.             {
  38.                 string data(2 * 1024, 'b'); // not ok
  39.                 ENetPacket* packet1 = enet_packet_create(data.c_str(), data.length(), ENET_PACKET_FLAG_RELIABLE);
  40.                 if(!packet1) {
  41.                     cout << "create packet fail" << endl;
  42.                     continue;
  43.                 }
  44.  
  45.                 if(enet_peer_send(event.peer, 0, packet1) < 0) {
  46.                     cout << "send fail" << endl;
  47.                     continue;
  48.                 }
  49.  
  50.                 enet_host_flush (server);
  51.             }
  52.         } else if(event.type == ENET_EVENT_TYPE_DISCONNECT) {     // disconnect
  53.             // cout << "peer disconnected" << endl;
  54.         }
  55.     }
  56.  
  57.     enet_deinitialize();
  58. }
Advertisement
Add Comment
Please, Sign In to add comment