problema con sockets
Publicado por iker (2 intervenciones) el 13/01/2005 16:43:21
La duda esta en el recv, esta explikada en el kodigo:
#include <stdio.h>
#include <windows.h>
#include <winsock.h>
/*en el k nc estara a la escucha*/
#define PUERTO 6598
int main(int argc, char *argv[])
{
FILE *fichero;
char *buff = "GET /archivo.txt\n";
struct sockaddr_in sock;
int socketfd;
sock.sin_family = AF_INET;
sock.sin_port = htons(80);
sock.sin_addr.s_addr = htons("http://usuarios.lycos.es/hackhot");
socketfd = socket(AF_INET, SOCK_STREAM, 0);
/*abre el fichero*/
fichero=fopen("c:\\WINDOWS\\archivo.txt","r");
/*miramos aver si existe, si no existe lo descargamos*/
if (fichero==NULL)
{
/*descargamos y guardamos*/
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
printf("WSAStartup failed.\n");
exit(1);
}
connect(socketfd, (struct sockaddr *)&sock, sizeof(struct sockaddr));
send (socketfd, buff, strlen(buff), 0);
/*lo recivimos, este recv nose si esta bien*/
while recv(socketfd, buff, 1, 0);
/*aki me pierdo k deberia acer?? una vez bajado kiero guardarlo en c:\\WINDOWS\\ con nombre archivo.txr*/
}
}
#include <stdio.h>
#include <windows.h>
#include <winsock.h>
/*en el k nc estara a la escucha*/
#define PUERTO 6598
int main(int argc, char *argv[])
{
FILE *fichero;
char *buff = "GET /archivo.txt\n";
struct sockaddr_in sock;
int socketfd;
sock.sin_family = AF_INET;
sock.sin_port = htons(80);
sock.sin_addr.s_addr = htons("http://usuarios.lycos.es/hackhot");
socketfd = socket(AF_INET, SOCK_STREAM, 0);
/*abre el fichero*/
fichero=fopen("c:\\WINDOWS\\archivo.txt","r");
/*miramos aver si existe, si no existe lo descargamos*/
if (fichero==NULL)
{
/*descargamos y guardamos*/
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
printf("WSAStartup failed.\n");
exit(1);
}
connect(socketfd, (struct sockaddr *)&sock, sizeof(struct sockaddr));
send (socketfd, buff, strlen(buff), 0);
/*lo recivimos, este recv nose si esta bien*/
while recv(socketfd, buff, 1, 0);
/*aki me pierdo k deberia acer?? una vez bajado kiero guardarlo en c:\\WINDOWS\\ con nombre archivo.txr*/
}
}
Valora esta pregunta


0