Nada ya esta solucionado dejo el código cambiado por si a alguien le interesa:
Código (cpp) [Seleccionar]
#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();
}