Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <coreinit/thread.h>
- #include <coreinit/time.h>
- #include <whb/proc.h>
- #include <whb/log.h>
- #include <whb/log_console.h>
- #include <nsysnet/socket.h>
- #include <string.h>
- enum {
- PACKET_HEARTBEAT = 1,
- PACKET_TIME_MISMATCH
- };
- int sockFD;
- struct sockaddr_in sa;
- char buffer[1024];
- uint32_t addr;
- int main(int argc, char **argv) {
- int last_tm_sec = -1;
- OSCalendarTime tm;
- WHBProcInit();
- WHBLogConsoleInit();
- WHBLogPrintf("Hello World!");
- socket_lib_init();
- sockFD = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
- memset(&sa, 0, sizeof(sa));
- sa.sin_family = AF_INET;
- sa.sin_port = htons(11000);
- inet_aton("192.168.0.20", &sa.sin_addr);
- connect(sockFD, (struct sockaddr *)&sa, sizeof(sa));
- while(WHBProcIsRunning()) {
- OSTicksToCalendarTime(OSGetTime(), &tm);
- if (tm.tm_sec != last_tm_sec) {
- last_tm_sec = tm.tm_sec;
- memset(buffer, 0, sizeof(buffer));
- buffer[0] = PACKET_HEARTBEAT;
- send(sockFD, buffer, 1024, 0);
- memset(buffer, 0, sizeof(buffer));
- while(buffer[0] != PACKET_HEARTBEAT){
- recv(sockFD, &buffer, 1024, 0);
- WHBLogPrintf("Waiting for heartbeat return...\n");
- }
- WHBLogPrintf("Heartbeat returned.\n");
- }
- WHBLogConsoleDraw();
- OSSleepTicks(OSMillisecondsToTicks(100));
- }
- WHBLogPrintf("Exiting... good bye.");
- WHBLogConsoleDraw();
- OSSleepTicks(OSMillisecondsToTicks(1000));
- socketclose(sockFD);
- socket_lib_finish();
- WHBLogConsoleFree();
- WHBProcShutdown();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement