/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

socks C y Windows

 
      Índice del Foro elrincondelc.com -> Programación en Servidores
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Qbyte



Registrado: 17 Nov 2005
Mensajes: 3

MensajePublicado: 17/11/2005 3:57 am
Título: socks C y Windows

Hola a todos, alguien m podria decir donde esta inet_aton en windows ... estoi aprendiendo a programar socks en wind.

para el k lo nesecite k siempre se agradece algo de codigo de muestra
posteo codigo kon el k estoi consiguiendo resultados

mi intncion es poder mandar mails desde la aplicación

//ahi va el codigo
Wink
//ya se k no esta muy limpio, lo tengo k pulir, són pruebas
//=========================================
Código:


//para comprobar comunicación
// c:\telnet 192.168.1.34 8888
//incluir librerias en el proiecto winsock y ws2_32
#include <windows.h>
#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include <time.h> algunas pruebas del libro de protocolos interet
//constantes del programa-------------------------------------------------------
#define MAX_CLIENT 10  /* número máximo de clientes */
#define PUERTO_SERVIDOR 8888 /* puerto que "escucha" el programa */
//------------------------------------------------------------------------------
//esto k aun no se k es ...
SOCKET sock_server;
SOCKET sock_client[MAX_CLIENT];
int c=0;
int main()
{
  //iniciando la libreria de socks----------------------------------------------
    WSADATA wsadat;
    WORD version = MAKEWORD(1,1);
    /* inicializamos el entorno de windows sockets */
    if (WSAStartup( version, &wsadat)) {
      printf("Error inicializando windows sockets\n");
       return 1;
    }

//COPIA DEL CODIGO DEL LIBRO PROTOCOLOS DE INTERNET
//empezamos por las variables que utilizara el programa
            int s,c,n;
            struct sockaddr_in sa;
            char buffer[80]="jejejeje hola socketworld :p\0";;
            time_t t;
           
          if((s = socket(PF_INET,SOCK_STREAM,0))<0)
          {
           printf("Error en SOCKET\n");
           system("pause");
           exit(1);
           }       
     printf("Tenemos socket c = %d\n",s);
     
     sa.sin_family = AF_INET;
     sa.sin_port = htons(PUERTO_SERVIDOR);
     sa.sin_addr.s_addr = htonl(INADDR_ANY);//cualquier posible cliente
     
     if(bind(s, (struct sockaddr*)&sa, sizeof(sa)) <0)
          {
          printf("Error en BIND\n");
          system("pause");
          exit(1);
          }
     //marcando el socket
     
     if(listen(s,5)<0)
           {
           printf("Error en LISTEN\n");
           system("pause");
           exit(1);
           }
           
     //preparando el envio
 do{
        if((c=accept(s,NULL,0))<0)
          {           
           printf("Error en ACCEPT\n");
           system("pause");
           exit(1);
           }
    //si no ha avido error enviamos

         n=strlen(buffer);
         //if(send(s,DATA,strlen(DATA),0)<0) /*Enviamos datos
       /*
       //eeps k akesta es la k funciona!!!!
        if(send(c,buffer,strlen(buffer),0)<0)
         {
          printf("Error en SEND\n");
          system("pause");
          close(c);
          closesocket(sock_server);
          exit(1);
         }
        */
          do{
             
             char cadena[5] = "\0\n";
             int longitud=0;
             gets(buffer);
             longitud = strlen(buffer);
             printf("mandando %d letras\n",longitud);

             
             fflush(stdin);
             //algunas pruebas
        //t = time(NULL);
             //n=sprintf(buffer,"\n%s\n",ctime(&t));
             send(c,buffer,strlen(buffer),0);
             send(c,cadena,strlen(cadena),0);
             //send(c,intro,strlen(intro),0);
           
          }while(buffer!=0);
         //no creo k aga falt tanto cierre
          closesocket(c);//lo cerramos todo
          closesocket(sock_server); //todo XD
   }while(1);

  //saliendo de la libreria de socks--------------------------------------------
  closesocket(sock_server);
    WSACleanup() ;

  system("PAUSE");   
  return 0;
}


se acceptan comentarios criticas sujerencias Wink ya abeis todo por aprender algo mas
Volver arriba
macu



Registrado: 01 May 2005
Mensajes: 227
Ubicación: Galicia

MensajePublicado: 19/11/2005 10:29 am
Título:

Sugerencia: Usa funciones
Si tienes algunas dudas sobre la programación de sockets en windows puedes visitar:

[url] www.iespana.es/freixed [/url]

Espero que te sea de ayuda
Volver arriba
Qbyte



Registrado: 17 Nov 2005
Mensajes: 3

MensajePublicado: 21/11/2005 1:40 pm
Título:

Gracias mirare aber k tal ... aber si consigo programar un server y un cliente que rulen bien para postear de ejemplos.
Wink
_________________
"Sin viento, el pasto no se mueve. Sin software, el hardware es inútil."
Volver arriba
      Índice del Foro elrincondelc.com -> Programación en Servidores
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com