So, I've been working on a Wii application. I want it to connect to my server and receive a status code response. I wrote the following code to try to do so(yeah, it's messy, I know)
s32 connectSocket(const char *hostn, u32 port) {
int sock = net_socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
char buffer[1024];
struct sockaddr_in connect_addr;
if (sock == INVALID_SOCKET) {
printf("[err] Cannot create a socket.\n");
} else {
struct hostent *host = 0;
host = net_gethostbyname(hostn);
if (host == NULL) return -2;
connect_addr.sin_family = AF_INET;
connect_addr.sin_port = port;
memcpy(&connect_addr.sin_addr, host->h_addr_list[0], host->h_length);
if (net_connect(sock, (struct sockaddr*)&connect_addr, sizeof(connect_addr)) == -1) {
net_close(sock);
return -3;
}
}
printf("Sending get request...\n");
int bytesTransferred = 0;
char *getRequest = "GET /test/ HTTP/1.1";
bytesTransferred = net_send(sock, getRequest, strlen(getRequest), 0);
printf("Transferred: %d\n",bytesTransferred);
for (int i = 0; i < 1024;) {
bytesTransferred = net_recv(sock, &buffer[i], 1, 0);
printf("Received: %d\n", bytesTransferred);
}
}
The output of said code is:
Sending get request...
Transferred: -7
Received: 0
Received: 0
Received: 0
(etc)
I don't know where to begin. Can someone help me out?