Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mester en 22 Noviembre 2015, 22:17 pm



Título: ¿Qué ocurre al crear un socket?
Publicado por: mester en 22 Noviembre 2015, 22:17 pm
Hola.
Hace poco me introduje en el mundo de los sockets en C, y hay una duda que no la consigo resolver.
Cuando creas un socket, se le asigna una variable entera, ya sea porque vas a enviar información o porque vas a recibirla con la funcion accept().
Cuando yo envío con la función send() o write(), ¿como entiende el ordenador que se lo voy a enviar a la dirección 192.168.1.1 si solo le estoy pasando un entero?
¿No es necesaria una estructura?
He leido que al igual que se le asigna el numero 0 a stdin, el 1 a stdout y el 2 a stderr, se le asignará de 3 en adelante a los sockets.
Pero ¿cómo entiende el ordenador que lo quiero enviar a X dirección IP pasándole solo el entero?
Gracias


Título: Re: ¿Qué ocurre al crear un socket?
Publicado por: kondrag_X1 en 23 Noviembre 2015, 15:48 pm
a ver, cuando tienes un socket haces una conexión a esa conexión se le asigna un número pero antes has de decirle a donde te quieres conectar, es decir, indicar la dirección del servidor.

Ten encuentra que para servidores no es necesario porque ellos están escuchan y aceptan clientes mientras que los clientes si tienes que conocer previamente la dirección del servidor.

te recomiendo que te mires la capa de protocolos TCP/IP para que lo entiendas mejor.


Título: Re: ¿Qué ocurre al crear un socket?
Publicado por: mester en 23 Noviembre 2015, 16:48 pm
a ver, cuando tienes un socket haces una conexión a esa conexión se le asigna un número pero antes has de decirle a donde te quieres conectar, es decir, indicar la dirección del servidor.

Ten encuentra que para servidores no es necesario porque ellos están escuchan y aceptan clientes mientras que los clientes si tienes que conocer previamente la dirección del servidor.

te recomiendo que te mires la capa de protocolos TCP/IP para que lo entiendas mejor.
Si eso ya lo sé, pero lo que quiero saber es cómo entiende el ordenador que el numero entero que contiene la variable del socket es X dirección IP, y no un numero aleatorio.
¿Es relevante la estructura o puede ser eliminada despues de haber aceptado la conexion?


Título: Re: ¿Qué ocurre al crear un socket?
Publicado por: ivancea96 en 23 Noviembre 2015, 22:19 pm
Si te refieres al número del tipo SOCKET, es un identificador. Los datos los guarda el SO.