Show
Ignore:
Timestamp:
12/29/05 20:56:37 (6 years ago)
Author:
clayasaurus
Message:

updated raknet to include more functionality

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/raknet/line.d

    r29 r32  
    1818 
    1919const ubyte PACKET_ID_LINE = 100; 
    20  
    21  
    22  
     20const ubyte PACKET_ID_NUM = 101; 
     21const ubyte PACKET_ID_NUM_REQUEST = 102;  
    2322 
    2423struct Line 
     
    5655  private: 
    5756   Line[] lines; 
     57   int playerNum = 0; 
    5858 
    5959   this(char *serverIP, char *portString) 
     
    8686 
    8787      lines ~= line; 
     88   } 
     89 
     90   // send player ID to server and wait to recieve player number 
     91   void getPlayerNum() 
     92   { 
     93      // get player ID 
     94      PlayerID pid = raknet.client.playerID();  
     95 
     96      // request player num based on player ID from server 
     97      raknet.bitstream.start(); 
     98    
     99      raknet.bitstream.write(PACKET_ID_NUM_REQUEST);  
     100      raknet.bitstream.write(pid.binaryAddress); 
     101      raknet.bitstream.write(pid.port);  
     102 
     103      raknet.client.sendBitstream(PacketPriority.HIGH_PRIORITY, PacketReliability.RELIABLE_ORDERED, 0); 
     104 
     105      raknet.bitstream.end(); 
     106 
     107      debug writefln("getPlayerNum: sent request"); 
     108       
     109      // wait until recieve player number from server 
     110      ubyte packetID = 0; 
     111 
     112      do  
     113      { 
     114         Packet * p = raknet.client.receivePacket(); 
     115          
     116         if(p !is null) { 
     117 
     118         // decode packet 
     119         raknet.bitstream.start(cast(char*)p.data, p.length, false); 
     120       
     121         // read packet ID 
     122         raknet.bitstream.read(packetID); 
     123       
     124         debug writefln("recieved packet ", packetID); 
     125       
     126         // if we found it, read its data  
     127         if (packetID == PACKET_ID_NUM) 
     128         { 
     129            raknet.bitstream.read(playerNum);  
     130            debug writefln("player ", playerNum, " connected"); 
     131         } 
     132             
     133         // otherwise deallocate and wait some more 
     134         raknet.client.deallocatePacket(p); 
     135 
     136         } // p !is unll 
     137 
     138      } while (packetID != PACKET_ID_NUM) 
     139    
     140 
    88141   } 
    89142 
     
    163216   ClientConnection clientConnect = new ClientConnection("127.0.0.1", "6881"); 
    164217 
     218   // send PID to  
     219   clientConnect.getPlayerNum(); 
     220    
    165221   int lineCount = 0; 
    166222