next up previous contents
Next: 3.3.3 Auf einen Verbindungswunsch Up: 3.3 Anwendungsentwicklung Previous: 3.3.1 Einen Socket erzeugen

Einen Verbindungswunsch äußern

Hat ein Prozeß mittels socket() einen Socket erzeugt, kann er mit der Funktion connect() versuchen, eine Verbindung zu einem anderen Prozeß herzustellen. Die Schnittstelle lautet:

int connect(int socket , struct sockaddr *server_addr , int addrlen );
Mit socket übergibt man die Nummer des Sockets.

server_addr enthält Adresse und Port des Serverprozesses. Die Struktur sockaddr ist dabei protokollunabhängig und je nach Protokoll gecastet von sockaddr_in oder sockaddr_in6. Letztere Struktur enthält zusätzlich ein 32 Bit langes Feld sin6_flowinfo, bestehend aus Flowlabel und Priorität. Inhalt und Interpretation dieses Feldes sind gegenwärtig noch nicht spezifiziert.

addrlen ist die Größe von server_addr .

Die sockaddr_in6-Struktur ist folgendermaßen definiert:

  #include <netinet/in.h>

  struct sockaddr_in6 {
      u_int16m_t      sin6_family;    /* AF_INET6 */
      u_int16m_t      sin6_port;      /* transport layer port # */
      u_int32m_t      sin6_flowinfo;  /* IPv6 flow information */
      struct in6_addr sin6_addr;      /* IPv6 address */
  };



Copyright Munich Network Management Team