working on adding requests
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <unistd.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
|
||||
@@ -25,19 +26,39 @@ void handleClient(int sock) {
|
||||
continue;
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
HttpRequestHeader rh;
|
||||
char packetBuilder[HTTP_RECIVE_PACKET_SIZE] = "";
|
||||
char packetBuilder[HTTP_RECIVE_PACKET_SIZE + 1] = "";
|
||||
int sizeOfBuffer = HTTP_RECIVE_PACKET_SIZE;
|
||||
char* packetBuffer = malloc(HTTP_RECIVE_PACKET_SIZE);
|
||||
|
||||
int sizeOfPacket = recv(sock, packetBuilder, HTTP_RECIVE_PACKET_SIZE, 0);
|
||||
int sizeOfPacket = 0;//= read(client_sock, packetBuilder, HTTP_RECIVE_PACKET_SIZE - 1);
|
||||
|
||||
char* packetBuffer = malloc(sizeOfPacket);
|
||||
|
||||
while ((sizeOfPacket = recv(sock, packetBuilder, HTTP_RECIVE_PACKET_SIZE, 0)) > 0) {
|
||||
strncat(packetBuffer, packetBuilder, sizeOfPacket);
|
||||
while ((sizeOfPacket = recv(client_sock, packetBuilder,
|
||||
HTTP_RECIVE_PACKET_SIZE, 0)) > 0) {
|
||||
printf("size of packet: %d\n", sizeOfPacket);
|
||||
if(sizeOfPacket > HTTP_RECIVE_PACKET_SIZE) {
|
||||
char* tmp = packetBuffer;
|
||||
int tmpSize = sizeOfBuffer;
|
||||
sizeOfBuffer += sizeOfPacket;
|
||||
packetBuffer = malloc(sizeOfPacket);
|
||||
memcpy(packetBuilder, tmp, tmpSize);
|
||||
free(tmp);
|
||||
memcpy(&packetBuffer[tmpSize], packetBuilder, sizeOfPacket);
|
||||
continue;
|
||||
}
|
||||
memcpy(packetBuffer, packetBuilder, sizeOfPacket);
|
||||
|
||||
}
|
||||
if(sizeOfPacket < 0) {
|
||||
exit(-1);
|
||||
}
|
||||
printf("size of packet: %d\n", sizeOfPacket);
|
||||
|
||||
|
||||
HttpRequestHeaderFromS(&rh, packetBuffer);
|
||||
|
||||
HttpRequestHeaderFromS(&rh, packetBuffer, sizeOfPacket);
|
||||
|
||||
free(packetBuffer);
|
||||
|
||||
@@ -75,6 +96,11 @@ void handleClient(int sock) {
|
||||
}
|
||||
|
||||
int main() {
|
||||
char tmp[] = "testing this is a test";
|
||||
HttpRequestHeaderFromS(NULL,tmp, 23);
|
||||
|
||||
|
||||
|
||||
int sock = socket(AF_INET, SOCK_STREAM, 0);
|
||||
if (sock < 0) {
|
||||
perror("socket");
|
||||
@@ -83,7 +109,7 @@ int main() {
|
||||
|
||||
struct sockaddr_in addr;
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(9090);
|
||||
addr.sin_port = htons(9091);
|
||||
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
|
||||
|
||||
if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
|
||||
|
||||
Reference in New Issue
Block a user