Implementación de Sockets en C: Programación de Redes TCP y UDP

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en con un tamaño de 2,68 KB

Implementación de Sockets en el Cliente

  1. int socket(int dominio, int tipo, int protocolo): Donde dominio es AF_INET, tipo es SOCK_STREAM y protocolo es 0 (el sistema operativo lo elige automáticamente).
  2. int connect(int socket, struct sockaddr *dir, int long): Donde socket es el descriptor devuelto por la función socket, dir es la dirección del socket remoto y long es la longitud de la dirección. Esta primitiva establece la conexión con el servidor.
  3. int write(int sd, char *buffer, int long): Donde sd es el socket, buffer es un puntero a los datos a enviar y long es el tamaño de los datos.
  4. int read(int sd, char *buffer, int long): Donde sd es el socket, buffer es un puntero a los datos a recibir y long es el tamaño de los datos a recibir.
  5. int close(int sd): Cierra el descriptor de archivo del socket.

Implementación de Sockets en el Servidor

  1. int socket(int dominio, int tipo, int protocolo): Donde dominio es AF_INET, tipo es SOCK_STREAM y protocolo es 0.
  2. int bind(int sd, struct sockaddr *dir, int long): Donde sd es el socket, dir es la dirección del socket y long es el tamaño de la dirección. Habilita el socket para poder recibir conexiones entrantes.
  3. int listen(int sd, int backlog): Donde sd es el socket y backlog es el número de peticiones que se pueden encolar antes de que el servidor ejecute accept.
  4. int accept(int sd, struct sockaddr *dir, int *long): Donde sd es el socket, dir es la dirección del cliente que ha realizado connect y long es el tamaño de la dirección.
  5. int read(int sd, char *buffer, int long): Donde sd es el socket, buffer es un puntero a los datos a recibir y long es el tamaño de los datos.
  6. int write(int sd, char *buffer, int long): Donde sd es el socket, buffer es un puntero a los datos a enviar y long es el tamaño de los datos.
  7. int close(int sd): Cierra el descriptor de archivo del socket.

Protocolo UDP

  • int sendto(int sd, char *buffer, int long, int flags, struct sockaddr *dir, int addrlen)
  • int recvfrom(int sd, char *buffer, int long, int flags, struct sockaddr *dir, int addrlen)

Entradas relacionadas: