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 - Ruso_x

#1
Hola a todos, es la primera vez que posteo.

Miren intento crear un programa que me conecte 2 ordenadores

El codico de client.c es:

// cliente.cpp: define el punto de entrada de la aplicación de consola.
//
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>


int main(){
char SendBuff[512],RecvBuff[512];
WSADATA wsaData;
SOCKET conn_socket;
struct sockaddr_in server;
struct hostent *hp;
int resp;
char adres[12]="192.168.1.6";
unsigned long uadres;
resp=WSAStartup(MAKEWORD(1,0),&wsaData);
if(resp){
printf("Error al inicializar socket\n");
getchar();
return -1;
}
hp=(struct hostent *)gethostbyaddr (adres,sizeof(adres),AF_INET);
if(!hp){
printf("no se ha encontrado el servidor");
getchar();
return -1;
}
conn_socket=socket(AF_INET,SOCK_STREAM, 0);
if(conn_socket==INVALID_SOCKET) {
printf("Error al crear socket\n");
getchar();
return -1;
}
memset(&server, 0, sizeof(server)) ; //Pone a zero la estructura
memcpy(&server.sin_addr, hp->h_addr, hp->h_length); //copia la los datos de conexion a la mascara server
server.sin_family = hp->h_addrtype;
server.sin_port = htons(5555);
if(connect(conn_socket,(struct sockaddr *)&server,sizeof(server))==SOCKET_ERROR){
printf("Fallo al conectarse con el servidor\n");
closesocket(conn_socket);
return -1;
}
printf("Conexión establecida con: %s\n", inet_ntoa(server.sin_addr));
strcpy(SendBuff,"Hola servidor... .P");
//Enviamos y recibimos datos...
printf("Enviando Mensaje... \n");
send(conn_socket,SendBuff,sizeof(SendBuff),0);
printf("Datos enviados: %s \n", SendBuff);
printf("Recibiendo Mensaje... \n");
recv(conn_socket,RecvBuff, sizeof(RecvBuff), 0);
printf("Datos recibidos: %s \n", RecvBuff);
getchar();
// Cerramos el socket y liberamos la DLL de sockets
closesocket(conn_socket);
WSACleanup();
return EXIT_SUCCESS;
}


El programa client.c que intento compilar en Microsoft Visual Studio 2008 me saca un errores del linker;

1>------ Operación Generar iniciada: proyecto: client, configuración: Debug Win32 ------
1>Vinculando...
1>client.obj : error LNK2019: símbolo externo _WSACleanup@0 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _recv@16 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _send@16 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _strcpy sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _inet_ntoa@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _closesocket@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _connect@12 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _htons@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _memcpy sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _memset sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _socket@12 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _gethostbyaddr@12 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo __imp__getchar sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo __imp__printf sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _WSAStartup@8 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo ___security_cookie sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo @__security_check_cookie@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo @_RTC_CheckStackVars@8 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo __RTC_CheckEsp sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2001: símbolo externo __RTC_Shutdown sin resolver
1>client.obj : error LNK2001: símbolo externo __RTC_InitBase sin resolver
1>LINK : error LNK2001: símbolo externo _mainCRTStartup sin resolver
1>C:\Documents and Settings\Antonio\Mis documentos\Visual Studio 2008\Projects\client\Debug\client.exe : fatal error LNK1120: 22 externos sin resolver
1>El registro de compilación se guardó en el "file://c:\Documents and Settings\Antonio\Mis documentos\Visual Studio 2008\Projects\client\client\Debug\BuildLog.htm"
1>client - 23 errores, 0 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========



Entonces he intentado entrar en herramientas->opciones->VC++ e incluir las librerias que me faltan, dando la ruta completa a la libreria windows.h en archivos de inclusion,
tengo una carpeta que se llama Microsoft SDKs->Windows dentro de esta carpeta tengo otras 2 una es v5.0 y la otra v6.0A en las 2 hay archivos de encabezado pero en la carpeta de v6.0A ademas hay mas cosas como una carpeta bin con varios programas. Intente incluiendo las rutas de las 2 carpetas, despues lei que puede que hubiera conflictos al tener las 2 carpetas un windows.h  :silbar: entonces probe con las 2 por separado, pero el problema persiste. Ya en un acto de desesperacion instale Dev-Cpp para probar, pero ahi tambien me da algo parecido

C:\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: warning: cannot find entry symbol _mainCRTStartup; defaulting to 00401000
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2a):cliente.c: undefined reference to `_alloca'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2f):cliente.c: undefined reference to `__main'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x66):cliente.c: undefined reference to `WSAStartup@8'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x84):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x89):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0xb6):cliente.c: undefined reference to `gethostbyaddr@12'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0xd4):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0xd9):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x104):cliente.c: undefined reference to `socket@12'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x122):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x127):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x154):cliente.c: undefined reference to `memset'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x182):cliente.c: undefined reference to `memcpy'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x19f):cliente.c: undefined reference to `htons@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x1c9):cliente.c: undefined reference to `connect@12'

C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x1dd):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x1eb):cliente.c: undefined reference to `closesocket@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x20b):cliente.c: undefined reference to `inet_ntoa@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x21e):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x234):cliente.c: undefined reference to `strcpy'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x240):cliente.c: undefined reference to `printf'

C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x268):cliente.c: undefined reference to `send@16'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x281):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x28d):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2b5):cliente.c: undefined reference to `recv@16'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2ce):cliente.c: undefined reference to `printf'

C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2d3):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2e1):cliente.c: undefined reference to `closesocket@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2e9):cliente.c: undefined reference to `WSACleanup@0'

collect2: ld returned 1 exit status
gcc.exe: unrecognized option `-verbose'

Ejecución Terminada


Estoy bastante frustrado con esto, solo necesito compilar algo en windows  :xD por que en linux el server me funciona i no se que mas hacer.
Donde esta mi error????
Que es lo que hago mal???

Gracias de antemano por su tiempo