aboutsummaryrefslogtreecommitdiff
path: root/online.h
diff options
context:
space:
mode:
authorBen Burwell <bburwell1@gmail.com>2013-04-29 16:13:34 -0400
committerBen Burwell <bburwell1@gmail.com>2013-04-29 16:13:34 -0400
commitca9e46c937e75df43d2f80f0d957fabb07892c29 (patch)
tree0d8ae2bc1d1e3e248c746586a5daf7cb58a79463 /online.h
Init
Diffstat (limited to 'online.h')
-rw-r--r--online.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/online.h b/online.h
new file mode 100644
index 0000000..d0cbd19
--- /dev/null
+++ b/online.h
@@ -0,0 +1,35 @@
+/**
+ * Localchat
+ * Ben Burwell
+ *
+ * Send online broadcast
+ */
+
+void send_online_broadcast() {
+ int client_sock; // Client socket descriptor
+ struct sockaddr_in server_addr; // Server Internet address
+ struct in_addr server_ip_addr; // Server IP Address
+ int addr_leng; // Internet address length
+ int retrncode; // Return code
+ int sOptVal; // Socket option value
+ int sOptLen; // Socket option length
+ char out_temp[10];
+
+ client_sock = socket(AF_INET, SOCK_DGRAM, 0);
+
+ if (client_sock < 0) {
+ exit(-1);
+ }
+
+ server_addr.sin_family = AF_INET; // Address family to use
+ server_addr.sin_port = htons(CMD_PORT); // Port num to use
+ server_addr.sin_addr.s_addr = inet_addr(BROADCAST_IP); // IP for Broadcast
+ sOptVal = 1;
+ sOptLen = sizeof(int);
+ setsockopt(client_sock, SOL_SOCKET, SO_BROADCAST, (void*)&sOptVal, sOptLen);
+
+ strcpy(out_temp, "ONLINE");
+ retrncode = sendto(client_sock, out_temp, (strlen(out_temp) + 1), 0, (struct sockaddr *)&server_addr, sizeof(server_addr));
+
+ return;
+} \ No newline at end of file