Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Mr.Blue

#131
los socket estan es una parte del code eso, la parte que falla. La conexion entre cliente y servidor anda, se conectan.
El problema esta en cuanto quiero mandar un mensaje al servidor y viceversa.
De todas formas le echo un ojo al tuto de mazard
Saludos
#133
hola gente, bueno les comento el problema, estoy usando las funciones send y recv y no logro poder enviar o recivir datos, en este caso mensajes.

Pongo el codigo

Cliente

Código (cpp) [Seleccionar]
val=connect (sock_1, (struct sockaddr *) &serv, sizeof (sockaddr));
while (val==-1)
{
Sleep (1000);
val=connect (sock_1, (struct sockaddr *) &serv, sizeof (sockaddr));
}
   
printf ("Conectando...\n Conectado con: %s\n\a", inet_ntoa (serv.sin_addr));
   printf ("Ingrese mensaje a enviar:");
   fgets (ibuffer, strlen (ibuffer), stdin);
send(sock_1,ibuffer, sizeof (ibuffer), 0);     //ENVIA MENSAJE
printf ("mensaje enviado:%s \n", ibuffer);
while (b!=0){
         
recv (sock_1, vbuffer, sizeof (vbuffer), 0);  //RESIVO MENSAJE
//std::string sibuffer (ibuffer);
printf ("Datos recividos:%s\n",vbuffer);
   
   printf ("Ingrese mensaje a enviar:");
   fgets (ibuffer, strlen (ibuffer), stdin);
b=send(sock_1,ibuffer, sizeof (ibuffer), 0);
printf ("mensaje enviado:%s \n", ibuffer);

   getchar ();
   }


Servidor

Código (cpp) [Seleccionar]
   b=recv (sock_1, vbuffer, sizeof (vbuffer), 0);  //RESIVO
//std::string svbuffer (vbuffer);
printf ("datos recividos:%s\n",vbuffer);
   
   while (b!=0){

   send(sock_1,"Prueba de mensaje", 17, 0);  //ENVIO
   printf ("mensaje enviado \n");

       printf ("Resepcion de mensajes\n");
b= recv (sock_1, vbuffer, sizeof (vbuffer), 0);
//std::string svbuffer (vbuffer);
printf ("datos recividos:%s\n",vbuffer);

getchar ();
   }


//vbuffer e ibuffer son locales del main
char vbuffer[512], ibuffer[512];



CitarMe faltaria limpear el buffer pero de todas formas no logro conseguir enviar ni recivir mensajes
#134
Hola gente!
Bueno, estoy intentando aprender sobre socket y para ello me eh propuesto como meta realizar un troyano de conexion inversa. Pero antes de empezar a tirar codigo sin saber al respecto sobre los troyano (mas aya de la definicion de troyano) intento comprender como funciona y que metodos hay para llegar a mi objetivo.
Y eh aqui donde me surgen las primeras preguntas.

Por lo que estuve leyendo hay 3 tipos de modelos de conexion.


  • Modelo Simple Cliente-Servidor: Conexión Stream
  • Modelo Concurrente Cliente-Servidor: Conexión Stream
  • Modelo Cliente-Servidor: Conexión Datagram


Ahora bien cual de estos modelos es el mas efectivo, y que diferencia hay entre ellos a grandes rasgos.
Se que por ej.


  • el modelo simple: Usa las funciones send y recv
  • el modelo concurrente: Crea un nuevo thread  --> que quiere decir con crear un nuevo thead? crear un nuevo hilo para cada conexion, como se logra esto? Funciones?
  • el modelo datagram: Usa las funciones sendto y rcvfrom. --> que diferencia hay con el modelo simple?


Bueno desde ya gracias, y disculpen mi poca imaginacion en intentar aprender sockets con un troyano  :xD :laugh:
#135
Porque tengo internet  :xD
#138
Hola gente les comento, estoy descargando un capitulo de una serie, pesa unos 300 a 400mb y no se porq razon dejo de descargar.
El archivo esta subido a hotfile.com

Dejo el log del error que me da.
Si entienden que quiere decir y lo explican buenisimo  :xD
Puede ser q se deba a la IP? que aya superado el tiempo de descarga o algo de eso?

Tue Nov 23 21:04:24 2010 Connected.
Tue Nov 23 21:04:24 2010 GET /dl/84135959/c68998a/The.Walking.Dead.S01E04.HDTV.XviD-FEVER.avi.html?expire=1 HTTP/1.1
Tue Nov 23 21:04:24 2010 Host: hotfile.com
Tue Nov 23 21:04:24 2010 Accept: */*
Tue Nov 23 21:04:24 2010 Referer: http://hotfile.com/dl/84135959/c68998a
Tue Nov 23 21:04:24 2010 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Tue Nov 23 21:04:24 2010 Range: bytes=202921039-
Tue Nov 23 21:04:24 2010 Pragma: no-cache
Tue Nov 23 21:04:24 2010 Cache-Control: no-cache
Tue Nov 23 21:04:24 2010 Connection: close
Tue Nov 23 21:04:24 2010 HTTP/1.1 200 OK
Tue Nov 23 21:04:24 2010 Cache-Control: no-cache, must-revalidate
Tue Nov 23 21:04:24 2010 Expires: Sat, 26 Jul 1997 05:00:00 GMT
Tue Nov 23 21:04:24 2010 Set-Cookie: lastdl=%2Fdl%2F84135959%2Fc68998a%2FThe.Walking.Dead.S01E04.HDTV.XviD-FEVER.avi.html%3Fexpire%3D1; expires=Fri, 24-Dec-2010 00:04:19 GMT; path=/; domain=.hotfile.com
Tue Nov 23 21:04:24 2010 Content-type: text/html
Tue Nov 23 21:04:24 2010 Connection: close
Tue Nov 23 21:04:24 2010 Transfer-Encoding: chunked
Tue Nov 23 21:04:24 2010 Date: Wed, 24 Nov 2010 00:04:19 GMT
Tue Nov 23 21:04:24 2010 Server: lighttpd/1.4.26
Tue Nov 23 21:04:24 2010 File size already changed!
Tue Nov 23 21:04:24 2010 Connecting hotfile.com [IP=199.7.177.238:80]
Tue Nov 23 21:04:25 2010 Connected.

Esto se va repitiendo intentando conectar con el servidor.

Desde ya gracias, Saludos.
#139
Depende del IPS que tenga contratado, geolocalizar una ip no es dar la ciudad, o direccion de quien posea esa ip, si no es dar la localizacion geografica del IPS, por esta razon puede ser que si. Sí esta persona tiene contratado dos IPS distintos o que los proveedores, misma empresa, tengan distintas zonas cubiertas.
#140
Código (cpp) [Seleccionar]
#include <stdio.h>
int main(void)
{
/* DECLARACIÓN DE VARIABLES (Realice la tabla de objetos) */
int i;
int n;


int primo;
/* LECTURA DE DATOS */
printf("Introduzca un numero natural:");
scanf("%d",&n);
/* ALGORITMO DETERMINACIÓN NÚMERO PRIMO */
/*************INICIO CÓDIGO*****************/
i=2;
primo=0;
if(n%i==0)
{
primo=primo+1;
}
else
{
i=i+1;
}


/***************FIN CÓDIGO ******************/
/* ESCRITURA DE RESULTADOS */
if(primo==1) printf("El numero %d es primo",n);
if(primo==0) printf("El numero %d no es primo",n);
/* BLOQUEO DE PANTALLA*/
printf("\n");
getchar ();
return 0;
}


No veo ninguna falla, de logica.
Por ahi te falto poner las librerias? o #include <windows.h> para system (PAUSE);
Sugerencias
Algunas cosas para tener encuenta es no usar la llamda al sistema para hacer pausa para eso tenes getchar ();, y la estuctura del main deberia ser int main () con un return al final como se ve ahi, para indicar si hubo un error o no.
declarar i =2; me parece al cohete jeje, pone
if (n%2==0) i es lo mismo y usas menos variables.
otra cosa, porq usar tantos if?

if (n%2==0)

puts ("es primo");

else puts ("no es primo");

y eliminas lineas de codigo

las declaraciones de variables puede ser asi tmb.

int i, n, primo;  separados por coma y punto y coma en la ultima variable declarada