Sistemas Operativos I
Ejemplo Sockets
Rolando Montero Canela
¿Qué es un socket?
Representación
abstracta de un punto de comunicación, que permite
establecer un canal de comunicación entre dosrutinas o programas.
Los
podemos considerar como archivos, que se crean de manera
especial.
Los
sockets trabajan con los servicios de entrada/salida de sistemas
operativos del tipo Unix.
Diversos
programas corriendo en computadoras diferentes dentro de
una red, pueden comunicarse a través del uso de sockets.
¿Qué se necesita para crear socket?
Función socket
Función
bind
Función
getservbyname y gethostbyname(Depende de como se haga
el programa)
Funciones
del servidor
Función listen
Función accept
Funciones del cliente
Función connect
¿Qué se necesitapara crear socket?
Función:
getservbyname()
struct servent *Puerto
Puerto = getservbyname(“Nombre_servicio”,”tcp”);
Nombre_servicio: parámetro de /etc/services
Tcp: protocolo de uso(tcp oudp)
Función: gethostbyname()
struct servent *Host
Puerto = gethostbyname(“Nombre_servidor”);
Nombre_servidor: Nombre del servidor tal como esta en /etc/hosts
¿Qué se necesita para crearsocket?
Función:
socket()
#include
#include
int socket(int family,int type,int protocol);
Family:
Type:
especifica la familia del protocolo (AF_INET o AF_UNIX)especifica el tipo de servicio (SOCK_STREAM,SOCK_DGRAM)
Protocol:
especifica el protocolo (usualmente 0, lo cual significa el
protocolo por defecto para la familia elegida)
¿Qué se necesita para crearsocket?
Función
bind()
#include
#include
Int bind(int sockfd,const struct sockaddr *myaddr,int addrlen);
*myaddr:
asigan la dirección especificada en laestructura del tipo sockaddr.
Existen dos estructuras sockaddr_in y sockaddr_un(Depende de que se uso si
AF_INET o AF_UNIX)
Sockfd:
descriptor del socket involucrado
Addrlen:
tamaño de la estructura...
Regístrate para leer el documento completo.