#include #include #include using namespace std; int server(){ #define BUF_LEN 512 SOCKET listen1 , client; WSAData wsadat; int result; char recvbuf[BUF_LEN]; int recvbuflen = BUF_LEN; int error; int sendresult; char local[100] = "0.0.0.0"; result = WSAStartup(MAKEWORD(2,2), &wsadat);// initiate winsock with winsock version 2.2 if(result != 0){ printf("WSAStartup() failed: %d\n", result); goto clean; // if result == 0 b.c WSAStartup if success is 1 } SOCKADDR_IN server; //struct for Host info server.sin_family = AF_INET; //AF_INET is internet something server.sin_port = htons(2007); //port but htons converts to byte order on 2007 server.sin_addr.s_addr = inet_addr(local); // inet addr converts to //net work byte order from local variable which is 127.0.0.1 listen1 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //listen1 // is a socket but w.e so listen 1 is socket infor like internet //family then SOCK_STREAM, which is for beginners // and ipproto_TCP is so you use tcp instead of UDP if(listen1 == INVALID_SOCKET){ error = WSAGetLastError(); cout<<"socket() returned error: "<>recvbuf; do{ result =recv(client, recvbuf, recvbuflen, MSG_PEEK); //only reason we put result =recv() is for error checking //now recv(SOCKEt, incoming buf, Len for incoming buf, flags //MSG_PEEKS at the data and shows you but dosen't remove from //input queue which i think is a problem. if(result > 0){ printf(" Bytes Recived: %d\n", result); cout<0); clean: WSACleanup();//WSACleanup() cleans up winsock shit.. idk put // at end always no params closesocket(listen1); system("PAUSE"); } int main(){ server(); }