Implement basic UDP broadcast/discovery
This commit is contained in:
@@ -4,16 +4,20 @@
|
||||
|
||||
#include "texture.h"
|
||||
#include "audio.h"
|
||||
#include "net.h"
|
||||
#include "log.h"
|
||||
|
||||
#define SCREEN_WIDTH 640
|
||||
#define SCREEN_HEIGHT 480
|
||||
|
||||
#define PORT 55555
|
||||
|
||||
typedef enum {
|
||||
SELECTING_DEVICE,
|
||||
RECORDING,
|
||||
RECORDED,
|
||||
PLAYBACK,
|
||||
SOCKET,
|
||||
} application_state;
|
||||
|
||||
typedef struct {
|
||||
@@ -45,7 +49,7 @@ int main(int argc, char* argv[])
|
||||
char default_fmt[] = "Device selected: %i";
|
||||
|
||||
state state;
|
||||
state.application_state = SELECTING_DEVICE;
|
||||
state.application_state = SOCKET;
|
||||
if (!audio_init(&state.audio)) return 1;
|
||||
state.device_index = -1;
|
||||
state.update_ui = 0;
|
||||
@@ -203,6 +207,17 @@ int handle_input(SDL_Event* event, state* state)
|
||||
}
|
||||
break;
|
||||
|
||||
case SOCKET:
|
||||
switch (keysym) {
|
||||
case SDLK_1:
|
||||
log_message(LOG_INFO, "Socket button 1 pressed");
|
||||
net_broadcast();
|
||||
break;
|
||||
case SDLK_2:
|
||||
log_message(LOG_INFO, "Socket button 2 pressed");
|
||||
net_listen_clients();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -231,6 +246,8 @@ void handle_task(state* state)
|
||||
}
|
||||
break;
|
||||
|
||||
case SOCKET:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -261,6 +278,8 @@ int init()
|
||||
return 0;
|
||||
}
|
||||
|
||||
net_init(PORT);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -311,5 +330,8 @@ void application_state_to_string(application_state state, char* string)
|
||||
case PLAYBACK:
|
||||
sprintf(string, "Playing [ESC]: CANCEL");
|
||||
break;
|
||||
case SOCKET:
|
||||
sprintf(string, "Socket");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user