Bueno pues tengo un pequeño problema...voy a empezar poniendo mi source haber si encontrais algún error, yo creo que no tiene ninguno pero simplemente no funciona, es el primer programa(por llamarlo de alguna manera) que hago con socket en C:
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define MYPORT 3333 //Puerto que se deja a la escucha
#define NUBACK 5 //Numero maximo de conexiones a la espera.
int main()
{
int nSocket;
int nSocket2;
int nBind;
int nListen;
struct sockaddr_in my_dire;
struct sockaddr_in su_dire;
int sin_zero;
if ((nSocket=socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("[-] Socket");
exit(1);
}
printf("[+] Socket iniciado.\n");
my_dire.sin_family = AF_INET;
my_dire.sin_port = htons(MYPORT);
my_dire.sin_addr.s_addr = INADDR_ANY;
memset(&(my_dire.sin_zero), '\0', '8');
if ((nBind=bind(nSocket, (struct sockaddr *)&my_dire, sizeof(struct sockaddr))) == -1)
{
perror("[-] Bind");
exit(1);
}
printf("[+] Bind iniciado.\n");
if ((nListen=listen(nSocket, NUBACK)) == -1)
{
perror("[-] Listen");
exit(1);
}
printf("[+] Listen iniciado.\n");
sin_zero = sizeof(struct sockaddr_in);
if ((nSocket2=accept(nSocket, (struct sockaddr *)&su_dire, &sin_zero)) == -1)
{
perror("[-] Accept");
exit(1);
}
printf("[+] Accept iniciado.\n");
return 0;
}
Esto me sale al ejecutarlo:
[neohex@localhost neohex]$ gcc server.c -o server
[neohex@localhost neohex]$ server
[+] Socket iniciado.
[-] Bind: Socket operation on non-socket
[neohex@localhost neohex]$
Haber si alguien puede ayudarme a solucionarlo.....