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
int socket(int dominio, int tipo, int protocolo): Donde dominio esAF_INET, tipo esSOCK_STREAMy protocolo es 0 (el sistema operativo lo elige automáticamente).int connect(int socket, struct sockaddr *dir, int long): Donde socket es el descriptor devuelto por la funciónsocket, 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.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.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.int close(int sd): Cierra el descriptor de archivo del socket.
Implementación de Sockets en el Servidor
int socket(int dominio, int tipo, int protocolo): Donde dominio esAF_INET, tipo esSOCK_STREAMy protocolo es 0.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.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 ejecuteaccept.int accept(int sd, struct sockaddr *dir, int *long): Donde sd es el socket, dir es la dirección del cliente que ha realizadoconnecty long es el tamaño de la dirección.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.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.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)