A pesar de haber hecho varios intentos con c, se puede decir que soy nuevo en c++. Estaba intentando programar un socket, pero me arroja el siguiente error: ERROR: INVALID UTP-8 SEQUENCE: n Ya que el equipo d.
El error me aparece en wsaconnect y para saber qué error era use la función:
GetLastError())
void iniciarConeccion(char nombreMaquina[],char paisMaquina[]){
char respuesta1[]="vacio";
char respuesta2[]="vacio";
WSAStartup(MAKEWORD(2,2), &wsa);
Winsock=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,(unsigned int)NULL,(unsigned int)NULL);
host = gethostbyname("localhost");
localIP = inet_ntoa (*(struct in_addr *)*host->h_addr_list);
direc.sin_addr.s_addr = inet_addr(localIP);
direc.sin_family=AF_INET;
direc.sin_port=htons(999);
if(Winsock==INVALID_SOCKET)
{PromptOK("ERROR ");}
if((WSAConnect(Winsock,(SOCKADDR*)&direc,sizeof(direc),NULL,NULL,NULL,NULL))==SOCKET_ERROR){
String error=MensajeError(GetLastError());
PromptOK(error);
}
fromlen=sizeof(direc);
while(strcmp(respuesta1,"vacio")==0){
if(sendto(Winsock,nombreMaquina,sizeof(nombreMaquina),0,(struct sockaddr *)&direc, sizeof(direc))==-1)
{
PromptOK("ERROR");
}
_sleep(5000);
recvfrom(Winsock,respuesta1,sizeof(respuesta1),0,&addr,&fromlen);}
while(strcmp(respuesta2,"vacio")==0){
sendto(Winsock,paisMaquina,sizeof(paisMaquina),0,(struct sockaddr *)&addr, sizeof(addr));
{
PromptOK("ERROR");}
_sleep(5000);
recvfrom(Winsock,respuesta1,sizeof(respuesta1),0,&addr,&fromlen);
}
WSACleanup();
}
Me olvidaba: estoy usando u++