通常、コネクションの確立は非対称に行われます。1 つのプロセスは、クライアントとして動作し、もう一方のプロセスはサーバーとして動作します。サーバーは、サービスに関連付けられた既知のアドレスにソケットをバインドし、コネクション要求のためにソケットをブロックします。これで、無関係のプロセスがサーバーに接続できます。クライアントは、サーバーのソケットへのコネクションを起動することでサーバーにサービスを要求します。クライアント側では、connect(3SOCKET) 呼び出しでコネクションを起動します。UNIX ファミリでは、これを次のように表現します。
struct sockaddr_un server; server.sun.family = AF_UNIX; ... connect(s, (struct sockaddr *)&server, strlen(server.sun_path) + sizeof (server.sun_family));
コネクションエラーについては、コネクションエラーを参照してください。データ転送では、データの転送方法を、ソケットを閉じるでは、ソケットを閉じる方法が説明されています。