Código
#include<windows.h> #include<iostream> #include<string.h> #include<stdio.h> #include<sys/types.h> #include<winsock.h> #include<conio.h> int main(){ { WSADATA wsaData; /* Si esto no funciona */ //WSAData wsaData; /* prueba esto en su lugar */ if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) { fprintf(stderr, "WSAStartup failed.\n"); exit(1); } } /////////////////////////////////////////////////////////////////// struct sockaddr_in my_addr, they_addr; SOCKET sockfd, newfd; sockfd=socket(AF_INET,SOCK_STREAM,0); if(sockfd==-1){ printf("error en socket"); std::cin.get(); exit(-1); } my_addr.sin_family = AF_INET; my_addr.sin_port = htons(54336); if(my_addr.sin_addr.s_addr = htonl(INADDR_ANY)==-1){ printf("error en ip\n"); std::cin.get(); exit(-1); } memset(&(my_addr.sin_zero), '\0', 8); if(bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))==-1){ printf("error en bind()"); std::cout<<WSAGetLastError()<<std::endl; std::cin.get(); exit(-1); } if(listen(sockfd, 10)==-1){ printf("error en listen()"); getch(); exit(-1); } int bytes_sent; int size_sockaddr=sizeof(sockaddr); while(1){ newfd=accept(sockfd,(struct sockaddr *)&they_addr, &size_sockaddr); //send(newfd, "hola", 5, 0); bytes_sent=send(newfd, "mola", 5, 0); closesocket(newfd); } WSACleanup(); printf("todo en orden\n"); getchar(); }