I obviously am doing something wrong. Can someone identify what it could be?
If I try to connect to this server using "127.0.0.1", all is well. But if I use my WAN ip, I never get connected. (The port is already forwarded).
Any help appreciated.
Code:#include <stdio.h> #include <winsock2.h> #include <windows.h> int main (void) { WSADATA wsaData; SOCKET sckserver = INVALID_SOCKET; struct sockaddr_in server; SOCKET sckclient = INVALID_SOCKET; int addrclientlen; struct sockaddr_in client; int result = 0; unsigned int numrecv = 0; char recvbuf[1024]; int recvbuflen = 1024; unsigned short *temp, port; unsigned long *tempip, ip; printf("Initializing Proxy Server...\n"); result = WSAStartup(MAKEWORD(2,2), &wsaData); if (result != NO_ERROR) { printf("Error at WSAStartup()\n"); return 0; } sckserver = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sckserver == INVALID_SOCKET) { printf("Error at socket(): %ld\n", WSAGetLastError()); WSACleanup(); return 0; } server.sin_family = AF_INET; server.sin_addr.s_addr = inet_addr("127.0.0.1"); server.sin_port = htons(6112); if (bind(sckserver, (SOCKADDR*)&server, sizeof(server)) == SOCKET_ERROR) { printf("bind() failed.\n"); closesocket(sckserver); return 0; } printf("Socket successfully bound on port 6112\n"); if (listen(sckserver, SOMAXCONN ) == SOCKET_ERROR) { printf("Error listening on socket.\n"); WSACleanup(); return 0; } printf("Listening for incoming connections...\n"); addrclientlen = sizeof(client); sckclient = accept(sckserver, (SOCKADDR*)&client, &addrclientlen); if (sckclient != INVALID_SOCKET) { printf("Connection Established!\n"); result = 1; while (result != 0) { result = recv(sckclient, recvbuf, recvbuflen, 0); if ( result > 0 ) { numrecv++; if (numrecv == 1) { printf("SOCKS Version Number: 0x%02X\n", recvbuf[0]); printf("Command Code: 0x%02X\n", recvbuf[1]); temp = (unsigned short *)&recvbuf[2]; port = ntohs(*temp); printf("Port Number: %d\n", port); tempip = (unsigned long *)&recvbuf[4]; ip = *tempip; printf("%X\n", ip); } } } numrecv = 0; printf("Connection Terminated!\n"); closesocket(sckclient); } WSACleanup(); return 1; }



LinkBack URL
About LinkBacks


