7. IVEDI oturum protokolü (/ivedi)

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > Netsim System Agent İstemci Protokolü Referansı >

7. IVEDI oturum protokolü (/ivedi)

Motorla doğrudan konuşan istemci-sunucu protokolü (IVEDI işlemcisi, IVEDI_Code/src/netw/HttpProIvedi.cpp). Tasarım ve kararlar (K1-K12): IVEDI_Code/docs/ivedi-client-server-api-plan.md. Python istemcisi ve canlı sınama: IVEDI_Code/sqltest/tools/ivedi_client.py, ivedi_api_test.py.

  • Bir WebSocket bağlantısı = bir motor oturumu. GET /ivedi ile yükseltme (oturum çerezi gerekmez), ardından open ile kimlik. Oturum durumu (motor bağlantısı, açık imleçler, hazırlanmış deyimler) bağlantıyı tutan işçi sürecin içindedir; soket kapanınca hepsi bırakılır ve açık işlem geri alınır.
  • Kodlama çerçeve türünden anlaşılır: metin çerçevesi JSON, ikili çerçevesi BSON; yanıt isteğin kodlamasıyla döner. Bir oturumda ikisi karışık kullanılabilir.
  • Mesaj biçimi: istek {"cmd": "...", "id": n, ...}, yanıt {"id": n, "ok": true|false, ...}. ok: false ise error nesnesi: name, code (motor kodu), sqlState, message, line, column, file? (satırın #include zincirindeki dosyası, biliniyorsa), statement?. HTTP durum kodu yoktur; §1'in K3 sözleşmesi bu yüzeye uygulanmaz (istemci birimi yenidir).
  • Kimlik zorunlu: open MASTER login'ini parolasıyla doğrular (authenticateServiceLogin) ve motora iter (setLoginUser); kimliksiz oturum yoktur. Bu sürümde yalnız SYSADMIN rolündeki login'ler ve SYSDBA oturum açabilir (K6; M8 kapısı - #SHELL, OS paketleri - gelene kadar). Veritabanı seçilirse (database) login'in o veritabanındaki kullanıcı eşlemesi (ivd$user_map, CREATE USER ... FOR LOGIN) şarttır; kullanıcının DEFAULT SEARCH_PATH'i SET CATALOG'dan sonra uygulanır.

Bu bölümdeki konular