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ú

Temas - NowhereMan

#1
Que tal a todos, he estado trabajando en un programa que me envie un archivo via socket usando la libreria de windows. Lo intente abriendo un archivo (En mi caso una imagen jpg) en modo binario y guardandola en un buffer para enviar, el archivo logro enviarse, tiene el mismo peso que la original pero solo se media imagen, a veces solo una tercera parte, alguien me puede ayudar o decirme en que me equivoque? Gracias.

Codigo del programa que envia la imagen:

#include <iostream>
#include <winsock.h>
#include <fstream>
using namespace std;

int main(){
int iResult;
struct sockaddr_in server;
struct sockaddr_in client;
struct hostent *hp;
WSADATA wsaData;
SOCKET servidor;
SOCKET cliente;

ifstream input("ejemplo.jpg", ifstream::binary);
input.seekg(0, input.end);
long size = input.tellg();
input.seekg(0);

char * buffer = new char[size];
char tamanio[512];
itoa(size, tamanio, 10);

input.read(buffer, size);

cout << "\n\t\t ----- Servidor FTP by Abraham -----" << endl;

iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if(iResult){
cout << "Error al iniciar." << endl;
return -1;
}

hp = (struct hostent *)gethostbyname("localhost");
if(!hp){
cout << "No se puede conectar al servidor." << endl;
return -1;
}

servidor = socket(AF_INET, SOCK_STREAM, 0);
if(servidor == INVALID_SOCKET){
cout << "No se puede crear socket." << endl;
WSACleanup();
return -1;
}

memset(&server, 0, sizeof(servidor));
memcpy(&server.sin_addr, hp->h_addr, hp->h_length);
server.sin_family = hp->h_addrtype;
server.sin_port = htons(6000);

if(bind(servidor, (struct sockaddr*)&server, sizeof(server))==SOCKET_ERROR){
cout << "Error al asociar socket." << endl;
WSACleanup();
return -1;
}

if(listen(servidor, 0)==SOCKET_ERROR){
cout << "Error al escuchar." << endl;
WSACleanup();
return -1;
}

cout << "Esperando al cliente." << endl;
int size1 = sizeof(struct sockaddr);
cliente = accept(servidor, (struct sockaddr *)&client, &size1);
if(cliente == 0){
cout << "Error al aceptar." << endl;
WSACleanup();
return -1;
}

send(cliente, tamanio, sizeof(tamanio), 0);
Sleep(1000);
send(cliente, buffer, size, 0);
cout << "Enviados: " << size << " bytes." << endl;

closesocket(servidor);
input.close();
WSACleanup();
return 0;
}


Codigo del programa que recibe la imagen

#include <iostream>
#include <winsock.h>
#include <fstream>
using namespace std;

int main(){
int iResult;
struct sockaddr_in client;
struct hostent *hp;
WSADATA wsaData;
SOCKET cliente;
char buffer[512];

ofstream output("salida.jpg", ofstream::binary);

cout << "Recibir imagen" << endl;

iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if(iResult){
cout << "Error al iniciar." << endl;
return -1;
}

hp=(struct hostent*)gethostbyname("localhost");
if(!hp){
cout << "No se puede conectar con servidor." << endl;
return -1;
}

cliente = socket(AF_INET, SOCK_STREAM, 0);
if(cliente == INVALID_SOCKET){
cout << "No se puede crear socket." << endl;
return -1;
}

memset(&client, 0, sizeof(client));
memcpy(&client.sin_addr, hp->h_addr, hp->h_length);
client.sin_family = hp->h_addrtype;
client.sin_port = htons(6000);

if(connect(cliente, (struct sockaddr *)&client, sizeof(client))==SOCKET_ERROR){
cout << "Error al conectar" << endl;
WSACleanup();
return -1;
}

cout << "Recibiendo datos... " << endl;

recv(cliente, buffer, sizeof(buffer), 0);

long int li;
li = atol(buffer);
char *buffer2 = new char[li];

Sleep(1000);
recv(cliente, buffer2, li, 0);

output.write(buffer2, li);
delete[] buffer2;

cout << "Listo!" << endl;

closesocket(cliente);
output.close();
WSACleanup();

return 0;
}
#2
Programación C/C++ / Conectarme a servidor SMTP
21 Diciembre 2015, 23:13 PM
Hola gente, estoy tratando de programar un keylogger que me envie un documento por correo, (lo se, la idea esta gastada pero lo hago para practicar) estoy consultando la API de windows y leyendo documentacion de sockets, pero no logro enviar ningun correo ni conectarme, estoy consultando algunos codigos en la red pero me siguen dando error, trato de conectarme a traves del smtp.gmail.com en el puerto 25 sin exito, no pretendo pedirles codigo ya hecho, pero si alguien me pudiera ayudar con la metodologia para conectarme a un servidor smtp o que se requiere. Gracias
#3
Seguridad / Problema "Blocked because of IPS attack"
16 Noviembre 2015, 08:07 AM
Hola, hace poco traté de ingresar a la página de la universidad, por unos momentos no cargaba nada, y cuando lo hizo, me apareció un mensaje que decía
Blocked because of IPS attack
An attack was detected, originating from your system. Please contact the system administrator.

Ahora estoy preocupado, no he podido acceder en ningún navegador o dispositivo y me sale el mismo mensaje, estoy en algun problema por esto, alguien sabe si tiene reparación?

Pd. No sabía en que categoría escribir esto, disculpen si estoy equivocado.

Gracias
#4
Quiero instalar la librería boost para dev c++ en windows, sigo las instrucciones y a la hora de ejecutar el bootstrap.bat, me tira un error del gcc, lo he intentado varias veces y siempre me tira error. Alguien podría ayudarme? Gracias
#5
GNU/Linux / Problema en la instalación de Linux
27 Octubre 2014, 06:48 AM
Buenas noches, hace unos meses cambié a una laptop con windows 7, quiero instalarle mint, pero al instalarlo la partición de windows desaparece, y solo arranca el mint, como necesito el windows por ciertos programas, logré recuperar el windows, pero el mint ya no corre, intenté varias distribuciones como ubuntu y fedora, pero sucede lo mismo, alguien podría ayudarme a explicar lo que pasa? Gracias y un saludo
#6
Programación C/C++ / Problema con DLL
12 Julio 2014, 00:07 AM
Hola a todos, estoy tratando de programar con DLL en C, el problema es que siempre me salen errores a la hora de compilar y no se porque, incluso el código que viene por defecto en el dev c++ me marca errores. Espero que me puedan ayudar. Gracias.
#7
Lo que pasa es que mi lap le salio ese letrero, de Falta bootmgr presione ctrl + alt + suprimir para reiniciar, y pensé en formatear mi lap, pero al momento de formatear me sale una pantalla azul que dice "Se ha encontrado un problema y windows ha sido denegado para para evitar daños en el equipo", Alguien sabe qué puede ser o cómo resolver este problema?? Por favor espero sus respuesta, saludos!
#8
Redes / Error al ingresar a una red
9 Diciembre 2011, 01:30 AM
Hola a todos, lo que pasa es que por mi casa hay una red inalambrica, pero no me puedo conectar, me dice acceso limitado.
El tipo de seguridad es WEP y el tipo de radio 802.11g
Espero sus respuestas, gracias.
#9
Disculpen mi ignorancia pero me gustaria como desbloquear los puertos, si es necesario acceder al router el mio es TP-LINK
saludos!!!!!!!!!!!
#10
soy nuevo en la programacion y he estado aprendiendo C, el problema es que cuando creo un programa exe en C, al abrirlo me sale un letrero que dice 'x'.exe dejo de funcionar y las opciones de buscar una solucion enline y no se que mas, he intentado con otros compiladores pero es lo mismo, alguien me podria decir cual es el problema? saludos!!!
#11
estoy aprendiendo c y me pregunto como mantener abierto un programa, lei que se logra utilizando getchar() pero no me funciona  :-\
#12
Programación C/C++ / COMPILADOR DE C++
27 Junio 2011, 01:08 AM
alguien me puede dar el nombre o el link d un compilador de c++ para windows?
necesito uno  :-\
#13
me gustaria saber si se puede aprender c++ desde cero sin antes haber aprendido c?
o sera que es mas dificil? es que los tutoriales que estoy leyendo siempre involucran y recuerdan al lenguaje c :¬¬
#14
alguno d ustedes me puede recomendar un curso de python de principiante a experto?? qe no sea el d python para todos xq ya lo lei hehe
#15
Scripting / AYUDA EN PYTHON
20 Junio 2011, 03:29 AM
veran.. soy principiante en python, he estado estudiando el tema de archivos y directorios y me decia como eliminar ficheros, ver ultimo acceso al fichero, etc.
os.remove('mifoto.jpg')
for foto in glob.glob('*.jpg') + glob.glob('*.tif'):
    os.remove(foto)
pero al momento de tratar de hacerlo me dice qe el archivo no se encuentra (en el caso de mifoto.jpg) y mi pregunta es: como puedo resolver este problema, que debo hacer.
de antemano, gracias y un saludo a la comunidad