packet is being sent and received, bare-bones ping-pong is working

This commit is contained in:
Kayne Ruse
2013-05-20 01:02:15 +10:00
parent b587759203
commit 7866f46ed5
18 changed files with 342 additions and 63 deletions
+33 -5
View File
@@ -9,18 +9,24 @@ using namespace std;
//Public access members
//-------------------------
Lobby::Lobby(ConfigUtility* cUtil, SurfaceManager* sMgr) {
Lobby::Lobby(ConfigUtility* cUtil, SurfaceManager* sMgr, UDPNetworkUtility* nUtil) {
#ifdef DEBUG
cout << "entering Lobby" << endl;
#endif
//globals
configUtil = cUtil;
surfaceMgr = sMgr;
netUtil = nUtil;
//members
font.SetSurface(surfaceMgr->Get("font"));
pingButton.GetImage()->SetSurface(surfaceMgr->Get("button"));
pingButton.SetX(50);
pingButton.SetY(50);
//ping the network, ping the preset "phone home" servers
//generate the server list
//eventually
SetNextScene(SceneList::TESTSYSTEMS);
}
Lobby::~Lobby() {
@@ -42,11 +48,27 @@ void Lobby::FrameEnd() {
}
void Lobby::Update() {
//
Receive();
}
void Lobby::Receive() {
//dump to the console
Packet packet;
while(netUtil->Receive()) {
memcpy(&packet, netUtil->GetInData(), sizeof(Packet));
switch(packet.type) {
case PacketList::PONG:
cout << "dumping..." << endl;
cout << packet.pong.buffer << endl;
break;
//...
}
}
}
void Lobby::Render(SDL_Surface* const screen) {
//
pingButton.DrawTo(screen);
}
//-------------------------
@@ -70,6 +92,12 @@ void Lobby::KeyDown(SDL_KeyboardEvent const& key) {
case SDLK_ESCAPE:
QuitEvent();
break;
case SDLK_SPACE:
//debugging
Packet packet;
packet.type = PacketList::PING;
netUtil->Send("127.0.0.1", 2000, reinterpret_cast<void*>(&packet), sizeof(Packet));
break;
}
}