پنجشنبه, ۱۳ اردیبهشت, ۱۴۰۳ / 2 May, 2024
مجله ویستا

معرفی سرور افزار Flash Communication Server


معرفی سرور افزار Flash Communication Server
● مقدمه
در این مقاله در مورد نرم افزار Flash communication Server و توانایی های آن صحبت خواهیم کرد.اینکه چطور ارتباط بین یک سرویس گیرنده و flashcom‌ انجام می شود و چگونه می توان صدا و تصویر را بین سرویس دهنده و سرویس گیرنده منتقل کرد و داده ها چگونه بین چندین سرویس گیرنده مشترک می شوند. سه تا از کلاس های مهم ارتباطی بین سرویس گیرنده و سرویس دهنده را به طور خلاصه توضیح می دهیم .این کلاس ها عبارت است از NetConnection Object‌، NetStream Object و SharedObject
۲-۱) تعریف نرم افزار Flash Communication MX
این نرم افزار، یک سرویس دهنده بسیار کاملی است که به شما اجازه می دهد که برنامه های کاربردی و ارتباطات تحت وب قوی ای را در Flash MX ایجاد کنید. با نصب FlashCom ارتباطات و اجزای اضافه ای در Flash MX نصب می شود که با استفاده از آن اجزا به راحتی می توانید برنامه های کاربردی قوی ای اجرا کنید .سرویس دهنده های وب مثل FlashComکارهای پشت صحنه را انجام می دهد و shareObject ها و NetStream ها را در برنامه های کاربردی مدیریت می کند.یک فیلم فلش می تواند داده های صوتی و تصویری را از میکروفن و دوربین در یک کامپیوتر دریافت کند و آن را به Flash Communication Server MX بفرستد.سپس این سرویس دهنده می تواند این فایل های صوتی و تصویری را به سرویس گیرنده دیگری که flash player در کامپیوترش نصب است، بفرستد. FlashCom به کاربران اجازه می دهد که از طریقchat,video.audio با هم ارتباط برقرار کنند. مثلاً شما می توانید از flash communication server برای ملاقات ها، ارتباطات online ، آموزش ها ، انتشار پیام های آنی و ... استفاده کنید. با استفاده ازFlashCom می توانید اطلاعات موجود در سایت تان را سریع بدست آورید. می توانید ویژگی های ارتباطی قوی مثل whiteboard ها و اتاق های meeting و presentation را به سایتتان اضافه کنید.
چندین سرویس گیرنده می تواند به یک برنامه کاربردی ای که درflashcom وجود دارد، متصل شوند.در واقع flashcom به عنوان واسطی بین سرویس گیرنده ها عمل می کند که می تواند اطلاعات را از یک سرویس گیرنده بگیرد و پردازش کند و به سرویس گیرنده دیگر بفرستد.
فلش و FlashCom می تواند محیطی را ایجاد کند که بدون صرف زمان و کدنویسی زیادی، برنامه های کاربردی قوی ای ایجاد کند.flash player و flashcom مچموعه ای ازشیء ها را پشتیبانی می کند که میتواند به صورت بلادرنگ [۱] داده های صوتی/تصویری را بین چند کاربر به اشتراک بگذارد.
۲-۲) نصب Flash Communication Server
قبل از نصب flashcom، نرم افزار فلش را در سیستم خود نصب کنید.
شما می توانید نرم افزارتان را در یکی از قالب های زیر نصب کنید :
▪ flashcom را در همان کامپیوتری نصب کنیدکه flash mx نصب می باشد.این کار را می توانید فقط در حالتی انجام دهید که سرورتان روی سیستم عامل ویندوز نصب باشد.
▪ شما می توانید flashcom را در یک کامپیوتر و flash mx را درکامپیوتر دیگری نصب کنید.یک مثال از این حالت این است که می توانید سرویس دهنده را روی سیستم عامل یونیکس و برنامه های کاربردی را روی کامپیوتر با سیستم عامل مکینتاش نصب کنید.
۲-۲-۱) نیازمندیهای لازم برای ایجاد برنامه های کاربردی
کامپیوتری که flashcom می تواند درآن نصب شود، باید قابلیتهای زیر را داشته باشد:
▪ نرم افزار فلش در آن نصب شده باشد.
▪ یک پردازنده ایتل پنتیوم ۲۰۰ مگاهرتز.
▪ سیستم عامل ویندوزهای XP home ،۲۰۰۰ professional، NT ۴.۰ یا بالاتر.
▪ جافظه ۶۴ مگابایتی(۱۲۸ بهتر است)
▪ ۵۰ مگا بایت هارد خالی موجود باشد.
▪ یک مانیتور با رنگهای ۱۶ بیتی و با دقت ۱۰۲۴*۷۶۸.
۲-۲-۲) نیازمندیهای لازم برای گسترش flashcom
flashcom می تواند در سیستم های زیر به صورت پیشرفته استفاده شود:
▪ win۲۰۰۰ server یا NT ۴.۰ server که روی پردازنده پنتیوم۳ ِ ۵۰۰ مگاهرتزی یا بالاتر اجرا می شود.
▪ Red Hat Linux ۷.۳,۸.۰ که روی یک پردازنده پنتیوم۳ ِ ۵۰۰ مگاهرتزی یا بالاتراجرا می شود.
این سیستم همچنین به یک حافظه ۲۵۶ (۵۱۲ توصیه می شود)، ۵۰ مگا بایت فضای دیسک خالی و یک سی دی درایو نیاز دارد.
۲-۲-۳) در مورد نصب flashcom
در طول نصب شما باید محل نصب فایلهای طرف سرویس گیرنده را تعیین کنید.فایلهای طرف سرویس دهنده در یک مسیر پیش فرض نصب می شوند.تفاوت میان فایل های طرف سرویس گیرنده و سرویس دهنده در زیر آورده شده است.
▪ فایلهای طرف سرویس گیرنده html وswf می باشد که به طور پیش فرض در شاخه sample، در مسیر نصب flashcom قرار می گیرد.البته بعد از نصب شما می توانید این فایلها را در جای دیگری قرار دهید.
▪ فایلهای طرف سرویس دهنده شامل فایلهایasc ،فایلهای stream ای مثلflv و فایلهای shared object می باشد که باید در کامپیوتر طرف سرویس دهنده وجود داشته باشد.به طور پیش فرض این فایلها در ویندوز در مسیر زیر نصب می شود.
C:Program FilesMacromediaFlashCommunicationServerMXapplications
و در یونیکس در مسیر /opt/macromedia/fcs/applications نصب می شود.
موقعیت این دایرکتوری در تگ <AppsDir> در فایل Vhost.xml وجود دارد که این فایل در
مسیر conf\_defaultRoot_ در مسیر نصب flashcom تان قرار دارد.
سرویس دهنده موقعیت فایلهای طرف سرویس دهنده را در این فایل جستجو می کند.
وقتی شما میخواهید یک برنامه کاربردی ایجاد کنید، درآغاز باید یک شاخه همنام برنامه کاربردی تان در این مسیر ایجاد کنید و فایلهای طرف سرورتان را در آنجا قرار دهید.مثلاً اگر نام برنامه کاربردی تان my_app باشد، یک شاخه با این نام ایجاد کنید و فایلهای طرف سرورتان را آنجا قرار دهید.
در طول اجرای برنامه کاربردی تان باید فایلهای طرف سرویس دهنده و سرویس گیرنده را از هم جدا کنید.کاربران باید بتوانند به فایل های html و swf دسترسی داشته باشند.اما نباید به فایل هایasc ، flv ، mp۳ که سرویس دهنده استفاده می کند،‌ دسترسی داشته باشند.
همراه نصب flashcom نرم افزارهای اضافی مثل NetConnection Debugger و Communication App inspector نیز نصب میشود .
NetConnection Debugger برای اشکال زدایی [۲] برنامه کاربردی تان که به flashcom متصل می شوند، به کار می رود.
Communication App inspector برای نمایش برنامه های کاربردی در حال اجرا به کار می رود.
۲-۲-۴) انتخاب یکی از گزینه های نصب
اگر بخواهیدflash communication server را در یک کامپیوتر و flash mx را در یک کامپیوتر دیگر نصب کنید، در این حالت روی آیکن نصب دابل کلیک کنید و از منویی که ظاهر می شود گزینه custom را انتخاب کنید و سپس روی دکمه install کلیک کنید.در این حالت نرم افزارهای Communication App inspector و NetConnection Debugger و یک سری از component [۳] ها و فایلهای help در فلش نصب می شود.
اگر می خواهید flash communication server و flash را در یک کامپیوتر نصب کنید از منویی که ظاهر می شود گزینهtypical را انتخاب کنید.
طرز کار flash Communication server : بخش دوم
۲-۲) سرویس گیرنده و سرویس دهنده
در ماشینی که flashcom نصب می شود ، flashcom یک سرویس دهنده است که می باشد که روی یک ماشین مانند وب سرور نصب می شود.
وقتی سرویس گیرنده ای یک صفحه html درخواست می کند، ‌سرویس دهنده صفحه مورد نظر را که در دایرکتوری وب روتش[۴] وجود دارد، بوسیله پروتکل http به سرویس گیرنده می فرستد.داخل این صفحه html می تواند فایلswf قرار گیرد که این فایل می تواند اتصال بین سرویس گیرنده و flashcom را برقرار کند. هر فیلم فلش(swf) می تواند با کمک flashcom و از طریق پروتکل rtmp داده ها را بین فیلم های فلش دیگری که در یک کامپیوتر دیگری وجود دارد، به اشتراک بگذارد.
وقتی سرویس گیرنده صفحهhtml را دریافت کرد، می تواند بوسیله پروتکل rtmp به flashcom‌متص شود.وقتی سرویس گیرنده به سرویس دهنده از طریق این پروتکل متصل می شود داده های متنی و صوتی و تصویری می توانند انتقال پیدا کنند.flash player می تواند درون فلش یا در یک مرورگر اجرا شود.flashcom نمی تواند اتصال به سرویس گیرنده را آغاز کند بلکه باید تقاضای برقراری اتصال از طریقflash player ای که در سرویس گیرنده اجرا می شود، انجام شود.
۲-۳) ایجاد یک برنامه کاربردی
برای ساختن یک برنامه کاربردی با استفاده از flash communication server باید در طرف سرویس گیرنده و سرویس دهنده کدنویسی انجام دهیم.برنامه فلش ِطرف سرویس گیرنده در ۲.۰و ActionScript۱.۰ نوشته می شود. برنامه طرف سرویس دهنده هم مشابه طرف سرویس دهنده می باشد با این تفاوت که یک سری توابع و شیء های اضافه تری را پشتیبانی می کند.
برای ایجاد یک برنامه کاربردی، در آغاز یک شاخه [۵]همنام با برنامه کاربردی تان در applications که در مسیر نصب flashcom وجود دارد، ایجاد کنید. با انجام این کار برنامه کاربردی تان برای سرویس دهنده شناخته شده می شود و سرویس گیرنده ها می توانند به آن متصل شوند.سرویس دهنده می تواند برای کنترل بیشتر روی سرویس گیرنده ها کدنویسی انجام دهد. این کدنویسی با نام main.asc در مسیری که گفته شد، ذخیره می شود. این برنامه را می توانید در هر ویرایشگر متنی مانندnotepad یا ویرایشگر javaScript یا Macromedia Dreamweaver بنویسید.
وقتی که برنامه طرف سرویس گیرنده آماده شد،‌ با استفاده از دستورFile>Publish آنرا به فایل swf تبدیل کنید.این فایل را می توانید در یک صفحه html قرار دهید و به طرف سرویس گیرنده بفرستید.کاربر هم می تواند با استفاده از این فایل به flashcom متصل شود و عملیات لازم را انجام دهد.
۲-۴) به کارگیری و مدیریت یک application
برای به کارگیری یک برنامه کاربردی باید فایل های طرف سرویس گیرنده و سرویس دهنده را در مکانهای لازم قرار دهید.فایل های swf و html طرف سرویس گیرنده باید در دایرکتوری وب روت سرورتان قرار گیرد.(مثلاً اگر سرویس دهنده تان apache است، وب روتتان شاخه htdoc در مسیر نصب apache می باشد)البته فایل های swf طرف سرویس گیرنده می تواند از طریق attachment ِپست الکترونیکی به آنها فرستاده شود.ارتباطات flashcom از طریق پروتکل rtmp صورت می گیرد نه http .بنابراین آنچه در اینجا لازم است وجود یک سرویس دهندهflashcom می باشد نه سرویس دهنده اینترنت(مانند apache‌یا IIS)
نکته :‌ فایلهای طرف سرویس دهنده شامل فایلهای asc و فایلهای صوتی و تصویری ضبط شده(مثل flv و mp۳) در شاخه ای که همنام برنامه کاربردی تان تعریف کرده اید، قرار می گیرد.
۲-۵) پروتکل RTMP
ارتباط flash player با flashcom با استفاده از پروتکل Real-Time Protocol(RTMP) انجام می شود که این پروتکل از پروتکلTCP (پروتکل کنترل ارسال) استفاده می کند.TCP پروتکلی است که انتقال هر بسته اطلاعات را به گیرنده تضمین می کند. پروتکلrtmp داده های متنی را در فرمت amf، داده های صوتی را در فرمت mp۳ و داده های تصویری را در فرمت flv انتقال می دهد.فرمتamf به نحوی داده ها را بین سرویس گیرنده و سرویس دهنده منتقل می کند که به هیچ رمزنگاری و رمزگشایی نیاز ندارد.
۲ـ۶) FlashCom در مقایسه با سرویس دهنده های سنتی
پروتکل TCP داده های متنی، صوتی و تصویری را که بین سرویس گیرنده و سرویس دهنده منتقل می شود، مدیریت می کند.TCP یک پروتکل نقطه به نقطه می باشد.یعنی اینکه هر سرویس گیرنده به یک اتصال TCP جداگانه نیاز دارد.با استفاده از این پروتکل، سرویس دهنده نمی تواند یک بسته اطلاعات را روی یک اتصال به چند سرویس گیرنده بفرستد.(multicast یا broadcast کند)اگر لازم باشد که سرویس دهنده یک فایل صوتی را به چندین سرویس گیرنده بفرستد، باید از آن فایل صوتی کپی بگیرد و برای هر سرویس گیرنده بفرستد.سرورهای سنتی داده ها را با استفاده از پروتکل UDP منتقل می کردند.UDP می تواند [۶]stream ها را همزمان به چندین سرویس گیرنده بفرستند.(multicast یاbroadcast کند) وقتی که multicast فعال باشد یک کپی از stream به سرویس گیرنده ها منتقل می شود و هر سرویس گیرنده که که می تواند از multicast استفاده کند، آنرا دریافت می کند.multicasting دو ویژگی عمده دارد:
زمان بارشدن در سرویس دهنده کاهش پیدا می کند و پهنای باندی که وجود دارد می تواند برای تعداد بیشتری سرویس گیرنده استفاده شود.اکثر سرویس دهنده های اینترنت(ISP ها)multicasting را در شبکه شان بخاطر بحث های امنیتی پشتیبانی نمی کنند.بنابراین سرورهای سنتی از پروتکل UDP برای unicasting استفاده می کنند.unicasting یعنی اینکه سرویس دهنده از یک stream کپی برداری می کند و روی هر اتصال جداگانه به هر سرویس گیرنده می فرستد.اگر به هر دلیلی یک سرویس گیرنده، unicasting را نپذیرد، سرویس دهنده های UDP داده های stream را به سرویس گیرنده دیگری می فرستد.
حتی بدون multicast ، UDP مزایای بیشتری نسبت به سرورهای سنتی دارد.UDP یک پروتکل معتبر نیست.این پروتکل فرستادن هر بسته اطلاعاتی[۷] از سرویس دهنده به سرویس گیرنده را تضمین نمی کند.ممکنه بعضی از stream های صوتی و تصویری کیفیت قابل توجه ای نداشته باشد.شبکه های بر مبنای UDP کوچکتر از TCP هستند، اما داده ها را سریعتر از پروتکلTCP انتقال می دهند.با بزرگتر شدن شبکه های UDPبسته ها ی اطلاعاتی بیشتری از بین می رود.
در مقابل، پروتکل TCP با از بین رفتن یک بسته اطلاعاتی، بسته اطلاعاتی دیگری به سرویس گیرنده می_ فرستد.برای اینکه فرستادن stream روی پروتکل TCP تضمین شود،باید پروتکل rtmp با کاهش پهنای باند مقدار داده های صوتی و تصویری را که به سرویس گیرنده می فرستد، کاهش دهد.در شبکه های متراکم بهتر است که از پروتکلTCP به جای UDP استفاده کنیم تا فرستادن هربسته اطلاعاتی از فرستنده به گیرنده تضمین شود.
rtmp انتقال داده های صوتی و تصویری و داده هایactionscript را از سرویس گیرنده به سرویس دهنده و از سرویس دهنده به سرویس گیرنده تضمین می کند. داده هایactionscript هرگز از بین نمی رود زیرا که اثر فاجعه آمیزی روی سرویس دهنده می گذارد.اگر داده های صوتی موجود در بافر به یک مقدار مشخصی برسد، داده های قبلی موجود در بافر از بین می رود.داده های ورودی جدید می تواند به سرویس گیرنده مورد نظر فرستاده شود.داده تصویری که به سرویس دهنده وارد می شود، نیز همینگونه است با این تفاوت که وقتی بافر به یک حد مشخصی می رسد، با ورود هر قاب به بافر، یک قاب از بافر از بین می رود.rtmp داده های وارد شده به سرویس دهنده را طبقه بندی می کند.داده های صوتی بالاترین تقدم ، و پیامات متنی و داده های تصویری به ترتیب در تقدم های بعدی قرار دارند.
۲-۶) کلاسهای ارتباطی
درحالیکه پروتکلrtmp می تواند داده های stream را در شبکه منتقل کند، قدرت واقعیflash و flashcom به کلاسهایی که دارد بستگی دارد. در این فصل به طور جزئی این کلاسها را توضیح می دهیم.در فصل های بعد می توانید به طور مفصل این کلاسها و تابع ها و property های آنها را ببینید.
۲-۷) اتصال به سرویس دهنده
کلاسNetConnection یک سرویس گیرنده را به نمونه ای از یک برنامه کاربردی ِموجود در سرویس دهنده متصل می کند.کد زیر یک شیء ای از این کلاس ایجاد می کند و سپس آن را به سرویس دهنده متصل می کند.
nc = new NetConnection( );
nc.connect("rtmp://echo.ryerson.ca/campusCameras/connector");
برای اینکه مطمئن شوید که آیا اتصال انجام می شود، از دستور زیر استفاده کنید.
nc.onStatus = function (info) {
trace("The connection code is: " + info.code);
};
نکته :‌ توجه کنید که تنها سرویس گیرنده است که می تواند اتصال را آغاز کند.اما هر دو سرویس گیرنده و سرویس دهنده می توانند تابع onStatus را فراخوانی کنند و اتصال را قطع کنند.
۲-۸) تابع های دور
بعد از اینکه اتصال سرویس گیرنده به سرویس دهنده انجام شد، سرویس گیرنده و سرویس دهنده می توانند تابع های یکدیگر را فراخوانی کنند.
۲-۸-۱) فراخوانی تابع های سرویس دهنده توسط سرویس گیرنده
در یک برنامه کاربردی معمولی، ممکن است سرویس گیرنده بخواهد تا بعضی از تابع های روی سرویس دهنده را فراخوانی کند.(البته سرویس گیرنده می تواند تابع هایی را فراخوانی کند که در فایل main.asc مربوط به این برنامه کاربردی وجود داشته باشد)برای نمونه ممکن است تا قبل از اجرای یک stream ضبط شده طول آنرا از سرویس دهنده بپرسد یا اینکه از سرویس دهنده بخواهد تا پیامی را به سرویس گیرنده دیگری بفرستد.
سرویس گیرنده می تواند یک تابع را در سرویس دهنده با استفاده از NetConnection object صدا بزند.
nc.call("getStreamLength", streamInfoResponder, streamName);
که پارامتر اول نام تابع، پارامتر دوم خروجی تابع و پارامتر های بعدی هم آرگومانهای ورودی تابع ِطرف سرویس دهنده می باشند.
ساختار زیر مثالی را نشان می دهد که سرویس گیرنده تابعی از سرویس دهنده را فراخوانی می کند.در این ساختار سرویس گیرنده تابع"dothis" را روی اتصال nc فراخوانی می کند.تابع "dothis"به این نمونه برنامه کاربردی اختصاص دارد.
۲-۸-۲) فراخوانی تابع های سرویس گیرنده توسط سرویس دهنده
این روش هم مشابه حالت قبل است .در طرف سرویس گیرنده شما می توانید یک تابع را به شیء اتصالی [۸] که تعریف کرده اید، اختصاص دهید سپس سرویس دهنده می تواند با استفاده از تابع call این تابع را فراخوانی کند.
ساختار زیر فرآیندی نشان می دهد که چگونه سرویس دهنده می تواند یک تابع را در سرویس گیرنده فراخوانی کند.در این مثال تابع "doThis" به نمونه nc‌که یک شیء از جنس کلاس NetConnection است، تعلق دارد.سرویس دهنده این تابع را با استفاده از تابع call که یکی از توابع سرویس گیرنده است، فراخوانی می کند.
همچنینflashcom می تواند یک تابع دور را همزمان در چندین سرویس گیرنده فراخوانی کند.سرویس گیرنده هایی که به یک شیءای از جنس کلاس shared object متصل هستند، می توانند از این تابع استفاده کنند.مثلاً برای به روزرسانی یک text chat از تابع زیر استفاده می کنند.chat_so‌شیءای از جنس کلاس shared object می باشد.
chat_so.showMessage = function (msg) {
chatTextArea.text += msg + &#۰۳۹;
&#۰۳۹;;
chatTextArea.vPosition = chatTextArea.maxVPosition;
};
۲-۹) انتقال داده های صوتی و تصویری و داده های ActionScript
پس از متصل شدن به سرویس دهنده، ممکن است بخواهید که داده های صوتی/تصویری را به سرویس دهنده بفرستید یا از سرویس دهنده دریافت کنید.فرض کنید فایلی به نام film۱.flv در مسیر/applications/appName/public سرویس دهنده وجود دارد و شما به عنوان یک سرویس گیرنده می خواهد این فایل را در سیستم خود اجرا کند.برای انجام این کار، در آغاز باید یک شیءای از جنس کلاسNetStream‌ تعریف کنید سپس از دستور play استفاده کنید تا فایل را از سرویس دهنده دریافت کنید.
برای نمایش فایل تصویری باید از یک شیء ویدیوئی به نام videoArea استفاده کنیم.
in_ns = new NetStream(nc);
videoArea.attachVideo(in_ns);
in_ns.play("public/film۱");
داده های صوتی که در فایلfilm۱.flv وجود دارد به صورت اتوماتیک از speaker ِکامپیوترتان پخش می شود و نیازی به درج دستور اضافه تری نداریم.توجه داشته باشید که از پسوند این فایل در دستور play استفاده نکنید. فرستادن یک stream از سرویس گیرنده به سرویس دهنده نیز به همین آسانی می باشد.در این حالت ابتدا باید یک NetStream ایجاد کنیم و سپس داده های صوتی و تصویری را از میکروفن(درصورت نبود میکروفن به صورت اتوماتیک از speaker گرفته می شود) و دوربین دریافت کنیم و با استفاده از دستورpublish آنرا به سرویس دهنده بفرستیم.
out_ns = new NetStream(nc);
out_ns.attachAudio(Microphone.get( ));
out_ns.attachVideo(Camera.get( ));
out_ns.publish(userName); // Name the stream after the user&#۰۳۹;s name.
streamها کانال یک طرفه ای روی اتصال تان ایجاد می کند.با استفاده از این کانال می توانید داده های صوتی و تصویری را به سرویس دهنده بفرستید یا آنها را از سرویس دهنده دریافت کنید.بنابراین اگر بخواهید به صورت همزمان یک stream را به سرویس دهنده بفرستید و stream دیگری را از سرویس دهنده دریافت کنید،‌ باید دو شیء از جنس کلاسNetStream تعریف کنید. برای کسب اطلاعات بیشتر در مورد Netstream ها به فصل ۴ مراجعه کنید.
۲-۱۰) کلاسCamera، Microphone و Video
کلاسهای Camera و Microphone چگونگی دسترسی به منابع صوتی و تصویری(مانند میکروفن و دوربین) را در سرویس گیرنده توضیح می دهد.این کلاسها می تواند مقدار داده های صوتی و تصویری را که به سرویس دهنده فرستاده می شود کنترل کند.کلاس Camera برای تغییر دقت تصویر، سرعت فریم و کیفیت آهنگ به کار می رود.
۲-۱۱) اشتراک داده به صورت بلادرنگ
برنامه ها ی بلادرنگ معمولاً نیاز دارند تا داده ها را بین خود به اشتراک بگذارند یا ممکن است بخواهند تابعی را به صورت همزمان در تمام سرویس گیرنده هایی که به آن متصل هستند، فراخوانی کند. کلاس SharedObject برای خیلی از برنامه نویسان خبره فلش آشنا می باشد.
شیء مشترک [۹] می تواند استفاده شود تا :
• همه سرویس گیرنده هایی را که به آن برنامه کاربردی متصل هستند آگاه کند.
• اطلاعات مربوط به موقعیت، مکان و رنگ هر عنصر گرافیکی که بین همه سرویس گیرنده ها مشترک است در خود نگه دارد.
• داده ها را برای هر کدام از عناصر این شیء مشترک نگه می دارد.
برای استفاده ازشیء مشترک، درآغازآن را با استفاده از دستورSharedObject.getRemote() تعریف می کنیم و به کمک دستور connect به سرویس دهنده متصل می کنیم.سپس باید تابع onSync را در این شیء مشترک تعریف کنیم.وقتی سرویس گیرنده به این شیء مشترک متصل می شود یا تغییری در آن ایجاد می شود، این تابع فراخوانی می شود.کدی که در داخل این تابع نوشته می شود بستگی به نیاز ما متفاوت است.برای نمونه در گفتگو اینترنتی [۱۰]، لیست کاربران آنلاین را با استفاده ازشیء مشترک به روز رسانی می کنیم.با ورود هر کاربر جدید این شیء مشترک تغییر می کند و تابع onSync در همه سرویس گیرنده ها فراخوانی می شود. کد تابعonSync نام همه کاربران آنلاین را از این شیء‌مشترک ‌دریافت می کند و داخل فهرست کاربران آنلاین قرار می دهد.
ساختار زیر دو سرویس گیرنده را نشان می دهد که به یک شیء مشترک به نام obj۱ متصل شده اند.وقتی هر سرویس گیرنده به سرویس دهنده متصل می شود، پیغام clear در آنها فراخوانی می شود.سپس سرویس گیرنده۱ درpropery ای با نام &#۰۳۹;x&#۰۳۹; مقدار ۴ را قرار می دهد.سپس سرویس گیرنده۱ یک پیغام success دریافت می کند به این معنی که تغییرات انجام شده در شیء مشترک با موفقیت انجام شده است.سرویس گیرنده۲ هم یک پیغام change دریافت می کند که نشان دهنده این است که obj۱ تغییر پیدا کرده است.
۲-۱۲) شیء‌client ‌ و application
وقتی یک سرویس گیرنده به یک نمونه برنامه کاربردی در سرویس دهنده متصل می شود، یک شیء‌client در سرویس دهنده تشکیل می شود.این شیء می تواند برای ارسال یا دریافت داده از سرویس گیرنده استفاده شود. شیء‌ دیگری به نام application در طرف سرویس دهنده وجود دارد که برای مدیریت چرخه زندگی یک برنامه کاربردی به کار می رود.
۲-۱۳) ارتیاط برنامه های کاربردی باData Source
flashcom می تواند باdata source ها مانند سرویس دهنده وب [۱۱] و پایگاه داده ها ارتباط داشته باشد.
باید در actionscript طرف سرور کدنویسی اضافه تری انجام دهیم تا ارتباط برنامه کاربردی با coldfusion یا برنامه های دیگر انجام شود.flashcom می تواند از پایگاه داده پرس و جویی [۱۲] انجام دهد سپس نتیجه پرس و جو را به سرویس گیرنده اطلاع دهد.
شکل زیر این مسئله را نشان می دهد.
نویسنده : فائزه حاجی ظهیری
[۱] real-time
[۲] debugging : debugging به شما امکان می دهد که بتوانید برنامه کاربردی تان را اشکال زدایی کنید و آنرا خط به خط اجرا کنید.
[۳] component ها مولفه های پیش ساخته ای هستند که توسط سازندگان نرم افزار flash communication server آماده شده است.
مثل textchat،presentation و ... .
[۴] webroot شاخه ای در سرویس دهنده می باشد که فایل هایی که می خواهیم به اینترنت بفرستیم در آنجا قرار می دهیم.
[۵] Directory یا Folder
[۶] به فایل های صوتی و تصویری گفته می شود
[۷] paket : کوچکترین بسته اطلاعاتی می باشد که در اینترنت منتقل می شود.
منبع : سایت ماکرومدیاx