Web Server DAT
پرش به ناوبری
پرش به جستجو
خلاصه
Web Server DAT به شما اجازه میدهد به TouchDesigner بهعنوان یک کلاینت وب متصل شوید؛ برای مثال از طریق یک مرورگر وب.
Web Server DAT از HTTP، WebSocket و همچنین ارسال و دریافت دادههای باینری (مانند تصاویر برای آپلود و دانلود) پشتیبانی میکند. نحوهی مدیریت درخواستهای کلاینت کاملاً بر عهدهی کاربر است و از طریق Callbackها تعیین میشود.
Web Server DAT میتواند بهصورت امن اجرا شود و همچنین از احراز هویت پایه (Basic Authentication) از طریق متد authenticateBasic در کلاس webserverDAT_Class پشتیبانی میکند.
در حال حاضر فقط احراز هویت Basic (یعنی نام کاربری و رمز عبور کدگذاریشده) از طریق متد پایتون پشتیبانی میشود.
اطلاعات احراز هویت در دیکشنری درخواست HTTP و تحت کلید Authorization قرار میگیرد.
در نهایت، مسئولیت امنیت کاملاً بر عهدهی کاربر است.
این وظیفهی کاربر است که اطمینان حاصل کند درخواستهای HTTP بهدرستی احراز هویت شدهاند و هرگونه دادهی ذخیرهشده شامل نام کاربری و رمز عبور، بهصورت رمزنگاریشده یا خصوصی نگهداری میشوند.
پشتیبانی از HTTPS از طریق پارامتر Secure (TLS) فراهم شده است.
Web Server DAT با POCO نسخه 1.13.3 ساخته شده است.
همچنین ببینید: Web Client DAT
محتویات
-
خلاصه
-
پارامترها – صفحه Web Server
-
پارامترها – صفحه Common
-
کانالهای Info CHOP
4.1 کانالهای اطلاعات اختصاصی Web Server DAT
4.2 کانالهای اطلاعات DAT مشترک
4.3 کانالهای اطلاعات اپراتور مشترک
پارامترها – صفحه Web Server
-
Active (active)
وبسرور را اجرا (Start) یا متوقف (Stop) میکند. -
Restart (restart)
زمانی که سرور فعال است، با پالس دادن، سرور ریاستارت میشود. -
Port (port)
پورت اتصال وبسرور.
مثال: اگر شماره پورت 9980 باشد، وبسرور بهصورت محلی از طریق مرورگر وب با آدرسlocalhost:9980در دسترس خواهد بود. -
Secure (TLS) (secure)
در صورت فعالسازی، وبسرور از امنیت لایه انتقال (TLS) برای ایجاد اتصال امن با کلاینتها استفاده میکند.
در این حالت وبسرور بهجای HTTP از HTTPS استفاده خواهد کرد. -
Private Key File Path (privatekey)
مسیر فایل کلید خصوصی مربوط به گواهی TLS سرور. -
Certificate File Path (certificate)
مسیر فایل گواهی TLS سرور. -
Certificate Password (password)
رمز عبور گواهی مشخصشده در بالا.
این رمز عبور فقط از نظر بصری مخفی است و همچنان از طریق پایتون قابل دسترسی میباشد.
برای محافظت و رمزنگاری آن هنگام ذخیره پروژه، توصیه میشود Web Server DAT داخل یک کامپوننت خصوصی (Private Component) قرار داده شود. -
Callbacks DAT (callbacks)
ارجاع به یک DAT شامل Callbackهای پایتونی.
Web Server DAT بهشدت به Callbacks DAT وابسته است و در واقع بیشتر قابلیتهای آن از طریق Callbackها عبور میکند.
Callbackها:
-
onHTTPRequest
زمانی فعال میشود که وبسرور یک درخواست HTTP دریافت کند.
درخواست بهصورت یک دیکشنری از هدرهای HTTP است.
به همین شکل، پاسخ (response) نیز یک دیکشنری شامل اطلاعاتی مانند status و reason است.
میتوان جفتهای کلید/مقدار اضافی به دیکشنری پاسخ اضافه کرد که بهعنوان هدرهای پاسخ HTTP ارسال میشوند.
دیکشنری پاسخ باید از Callback بازگردانده شود تا به کلاینت ارسال گردد. -
onWebSocketOpen
زمانی فعال میشود که یک اتصال WebSocket با کلاینت باز شود.
آدرس کلاینت به Callback ارسال میشود. -
onWebSocketClose
زمانی فعال میشود که یک اتصال WebSocket بسته شود.
آدرس کلاینت به Callback ارسال میشود. -
onWebSocketReceiveText
زمانی فعال میشود که اتصال WebSocket سرور دادهی متنی از یک کلاینت دریافت کند.
کلاینت ارسالکننده داده به Callback پاس داده میشود. -
onWebSocketReceiveBinary
زمانی فعال میشود که اتصال WebSocket سرور دادهی باینری از یک کلاینت دریافت کند.
کلاینت ارسالکننده داده به Callback پاس داده میشود. -
onServerStart
هنگام شروع به کار سرور اجرا میشود. -
onServerStop
هنگام توقف سرور اجرا میشود.
پارامترها – صفحه Common
-
Language (language) ⊞
تعیین میکند DAT از کدام زبان اسکریپت استفاده کند. -
Edit/View Extension (extension) ⊞
تعیین پسوند فایلی که DAT به ویرایشگرهای خارجی معرفی میکند. -
Custom Extension (customext)
تعیین پسوند سفارشی. -
Word Wrap (wordwrap) ⊞
فعالسازی شکستن خط (Word Wrap) برای نمایش نود.
کانالهای Info CHOP
اطلاعات اضافی Web Server DAT از طریق یک Info CHOP قابل دسترسی است.
کانالهای اطلاعات اختصاصی Web Server DAT
-
server_running – وضعیت اجرای سرور
-
websocket_connections – تعداد اتصالهای فعال WebSocket
کانالهای اطلاعات DAT مشترک
-
num_rows – تعداد ردیفهای این DAT
-
num_cols – تعداد ستونهای این DAT
کانالهای اطلاعات اپراتور مشترک
-
total_cooks – تعداد دفعات Cook شدن اپراتور از زمان شروع
-
cook_time – مدت زمان آخرین Cook (میلیثانیه)
-
cook_frame – شماره فریم Cook نسبت به تایملاین کامپوننت
-
cook_abs_frame – شماره فریم Cook نسبت به زمان مطلق
-
cook_start_time – زمان شروع Cook اپراتور (میلیثانیه)
-
cook_end_time – زمان پایان Cook اپراتور (میلیثانیه)
-
cooked_this_frame – اگر اپراتور در این فریم Cook شده باشد مقدار 1
-
warnings – تعداد هشدارهای اپراتور (در صورت وجود)
-
errors – تعداد خطاهای اپراتور (در صورت وجود)
