Last active
September 13, 2018 14:06
-
-
Save justarandomuser/45d4462da8d8077407a74e246bbe2d28 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <errno.h> | |
#include <string.h> | |
#include <unistd.h> | |
#include <stdlib.h> | |
#include <sys/types.h> | |
#include <sys/socket.h> | |
#include <sys/ioctl.h> | |
#include <arpa/inet.h> | |
#define DATA_SIZE 10 | |
#define PORT_NUMBER 8888 | |
int main(void) | |
{ | |
int mysocket, client_socket; | |
int testsocket; | |
int datainbuffer; | |
int result; | |
int len = 0; | |
int client_addr_size; | |
struct sockaddr_in server_addr, client_addr; | |
socklen_t mysockaddrlen = sizeof(struct sockaddr); | |
char sent_data[DATA_SIZE]; | |
printf("[+] Starting\n"); | |
mysocket = socket(AF_INET, SOCK_STREAM, 0); | |
server_addr.sin_family = AF_INET; | |
server_addr.sin_addr.s_addr = INADDR_ANY; | |
server_addr.sin_port = htons( PORT_NUMBER ); | |
bind(mysocket, (struct sockaddr *) &server_addr, sizeof(server_addr)); | |
listen(mysocket, 2); | |
printf("[+] Socket number %d was allocated\n", mysocket); | |
printf("[+] Send more than %d bytes of data\n", DATA_SIZE); | |
client_socket = accept(mysocket, (struct sockaddr *) &client_addr, (socklen_t*) &client_addr_size); | |
recv(client_socket, sent_data, DATA_SIZE, 0); | |
printf("[+] Data received - %s\n", sent_data); | |
sleep(5); | |
result = ioctl(client_socket, FIONREAD, &len); | |
if (result == -1) | |
printf("[-] Ioctl call failed. Error is %s\n", strerror(errno)); | |
else | |
printf("[+] Queue size is %d!\n", result); // MISTAKE HERE - should have been len instead of result | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment