פיתוח אתר כמו צ'אט רולט PDF הדפסה דוא
דירוג משתמש: / 0
גרועהכי טוב 
טכנולוגיה - טכנולוגיה כללי
השיעור נכתב על ידי : אלעד כהן   
רביעי, 11 אוגוסט 2010 02:08
פירוט ארכיטקטורת אתר צ'אט רולט ואת ושימוש בשרות Stratus של Adobe על מנת שגולשים יוכלו לתקשר אחד עם השני ישירות (P2P) ללא שימוש בשרת עם אפליקציה לדוגמא וקוד-מקור.

באתר צ'אט רולט אפשר לקיים שיחות וידאו צ'אט עם משתמשים שונים מהעולם. בלחיצה על כפתור, המערכת מוצאת משתמש אחר, אקראי ופנוי שאפשר לשוחח איתו, בלחיצה חוזרת על הכפתור המערכת מוצאת אדם חדש.

המיוחד באתר הוא שהגולשים יכולים לקיים שיחת וידאו צ'אט ללא צורך בשימוש בשרת, הקלט מהמצלמה והמיקרופון שלהם עוברים ישירות בין שני המחשבים שלהם.


אפשרות זו (תקשורת ישירה בין שני מחשבים) קיימת החל מגירסא 10 של נגן הפלאש ונקראת בשם Stratus.

Stratus מאפשר תקשורת חד כיוונית בין שני מחשבים. מחשב אחד משדר נתונים (וידאו / אודיו / צ'אט) ומחשב אחר מאזין לנתונים.
במידה ושני המשתמשים צריכים לשלוח ולקבל נתונים (כמו במקרה של צ'אט רולט, בו כל גולש שולח את הקלט מהמצלמה והמיקרופון שלו ויכול לכתוב בצ'אט),
כל אחד משני המשתמשים, פותח ערוץ תקשורת בו הוא משדר נתונים ובנוסף מאזין לערוץ התקשורת של האחר.

ידע מקדים רצוי
שימוש במחלקות: NetConnection, NetStream, Microphone, Camera
הסבר בקצרה:
NetConnection – נועד ליצור חיבור עם מחשב מרוחק
NetStream – נועד לשלוח ולקבל נתונים על גבי NetConnection
Microphone – מאפשר גישה למיקרופונים שמחוברים למחשב, אפשרות לקביעה את איכות הקלט מהמיקרופון ולשלוח את הקלט על גבי NetStream (ככל שהאיכות גבוהה יותר כך תעבורת הנתונים גדולה יותר)
Camera – מאפשר גישה למצלמות שמחוברות למחשב, אפשרות לקבוע את איכות הקלט ולשלוח נתונים על גבי NetStream (ככל שהאיכות גבוהה יותר כך תעבורת הנתונים גדולה יותר)

שידור באמצעות Stratus
כדי להתחיל לשדר נתונים (וידאו / אודיו / צ'אט) , מתכנת פלאש צריך להירשם באתר של Adobe ולקבל Developer Key, כדי להתחיל לשדר צריך ליצור מופע של המחלקה NetConnection, יצירת אירוע ל-NetStatusEvent.NET_STATUS וקריאה ל-connect עם הארגומנט שקיבלת כאשר נרשמת באתר של Adobe.
לאחר מכן, בתוך האירוע שיצרת, כאשר e.info.code (שם הארגומנט של האירוע הוא e) שווה ל-NetConnection.Connect.Success, הפעולה הראשונה היא יצירת מופע של המחלקה NetStream, בארגומנט הראשון צריך להגדיר את המופע של NetConnection ובארגומנט השני להגדיר: NetStream.DIRECT_CONNECTIONS
הפעולה השנייה היא קבלת המחרוזת שנמצאת בתוך MyNetConnection.nearID (כאשר שם המופע של המחלקה NetConnection הוא MyNetConnection), את המחרוזת הזאת צריך לשלוח לכל מי שרוצה להאזין לשידור, כי רק באמצעותה אפשר להתחבר לשידור.

השידור של אפליקציית וידאו ואודיו מבוצע ע"י:
MyStream.attachCamera(Camera.getCamera());
MyStream.attachAudio(Microphone.getMicrophone());
MyStream.publish("MyName");

MyName יכול להיות כל מחרוזת, כדי להאזין לשידור יהיה צריך לכתוב את אותה המחרוזת בדיוק.
MyStream הוא שם המופע של המחלקה NetStream שיצרת מקודם.

האזנה לשידור שמבוצע באמצעות Stratus
כדי להתחבר לשידור מסויים צריך לקבל את ה-nearID של השידור, אפשר לקבל אותו בדרכים שונות, לדוגמא ע"י שימוש ב-Web Service.
שליחת מחרוזת זו (nearID) היא מעבר לסקופ של מאמר זה, כדי לא להרחיק לכת מההסבר על הצורה בה צ'אט רולט עובד.
לאחר שמחרוזת ה-nearID ידועה אפשר להאזין לשידור ע"י יצירת מופע של המחלקה NetConnection, בדיוק כמו שבוצע בעת השידור (הגדרת אירוע סטטוס וקריאה למתודה connect עם ארגומנט מסויים שהתקבל בעת הרישום באתר המפתחים של Adobe), בתוך אירוע הסטטוס, כאשר e.info.code (שם הארגומנט של האירוע הוא e) שווה ל-NetConnection.Connect.Success, צריך ליצור מופע של המחלקה NetStream, כאשר הארגומנט הראשון הוא המופע של NetConnection והארגומנט השני הוא ה-nearID של המשדר.
לאחר מכן, קריאה ל:

PartnerStream.play("MyName"); כאשר PartnerStream הוא שם המופע של המחלקה NetStream.

ארכיטקטורת אתר צ'אט רולט
אפליקציית הפלאש שולחת לשרת את ה-nearID של כל גולש חדש שמתחבר לאתר.
לאחר מכן כאשר הגולש לוחץ על כפתור "חפש משתמש אחר לשיחה" (בשם כזה או אחר) נשלח חיווי לשרת שהגולש רוצה לשוחח עם משתמש חדש, השרת מחפש משתמש אחר, אקראי ופנוי. לאחר שמשתמש אחר נמצא השרת שולח לכל אחד משני המשתמשים את ה-nearID של השני וכך הם יכולים ליצור קשר באמצעות Stratus.

אפליקצייה לדוגמא
http://www.gamedevstudio.co.il/ChatP2P

קישור לקוד-מקור
http://www.gamedevstudio.co.il/ChatP2P/code.rar


המאמר נכתב ע"י אלעד כהן - מתכנת פלאש בחברת GAME DEV LTD (גיימדב בע"מ) העוסקת בפיתוח אפליקציות לפייסבוק, פיתוח אפליקציות לאייפון ופיתוח משחקי מחשב.

עוד מכותב זה
עוד מאמרים מכותב זה
טכנולוגיה כללי
בדיקת אבטחת מידע במספר משחקים באתר נענע המשחקים, המשחקים שנבדקו הם: ראש בקיר, נקמת המחוננים ומבחן IQ. בכל אחד מהמשחקים מוסבר איך להגיע...
טכנולוגיה כללי
משחקים ואפליקציות בטכנולוגיות פלאש קלים להעתקה מכיוון שהמבנה בו נשמרים הנתונים ידוע לכל, מאמר זה יפרט מספר טכניקות להגנה מפני העתקה של...
טכנולוגיה כללי
אפליקציות AIR הן אפליקציות שנכתבו בפלאש, פלקס או Html ומותקנות על המחשב (כמו אפליקציות רגילות), אפליקציות AIR פועלות על גבי AIR Runtime, דבר המאפשר...
טכנולוגיה כללי
התקפת DDoS (Distributed Denial of Service) הינה התקפה המבוצעת ע"י מספר גדול של גורמים (לדוגמא: מחשבים שונים באינטרנט) על גורם מסויים אחד (לדוגמא: אתר...
טכנולוגיה כללי
כשמפתחים אפליקציית פלאש אפשר להוסיף את האפשרות שכל פעולה שהמשתמש מבצע באפליקציה תישלח למחשב אחר ובמחשב האחר הפעולה שהמשתמש ביצע תוצג…
עוד בנושא
מאמרים קשורים
קידום אתרים
כתיבת תוכן היא כתיבה חשובה והכרחית לכל עסק. באמצעות כתיבת תוכן להגיע לחשיפה גבוהה לאתר, להגדיל את התנועה לאתר ואף להגיע לקהל לקוחות שללא...
לימודים כללי
מדוע כדאי ללמוד לתכנת? בשנים האחרונות עולם הייטק הולך ומתחזק, מוצרים חדשים נכנסים לחיינו מידי יום, תחומים רבים שהתרגלנו שמבוצעים בצורה...
משרדי תיוון
מאת סקארט לא מזמן חלמתי - חלום אמתי כזה בלילה, לא סתם חלום בהקיץ - שאני יושבת בדירת החדר השכורה שלי בתל אביב, מכווצת בריכוז על הספה הקטנה...
צרכנות כללי
  אתם מבצעים לא מעט רכישות דרך איביי או אלי אקפסרס? מהיום אתם לא צריכים חשבון פיי-פאל וגם לא כרטיס אשראי בינלאומי כדי לבצע את הקניות האלה....
מדינה וחברה
קורה לנו לא מעט פעמים לפנטז על זוגיות טובה, על בעל / אישה שאנחנו רוצים בעתיד. לא תמיד אנחנו זוכים למציאת זיווג טוב משמיים, משורש נשמתנו, ...
מאמרים אחרונים
מאמרים אחרונים
ארועים - ארגון ארועים
אתם משקיעים באלכוהול איכותי, בוחרים במתחם אירועים שידוע באוכל משובח ואפילו רוכשים מזכרות לכל אורח. עם השקעתכם באורחים, אל תשכחו לרגע...
קפה
רמת גן היא אחת הערים המרכזיות בגוש דן ומוקד משיכה עבור תיירים, סטודנטים, בעלי עסקים וכמובן עובדים של חברות גדולות. כתוצאה מכך יש ברמת גן...
עסקים כללי
מפיצי ריח חשמליים הפכו בשנים האחרונות להיות אחד המכשירים ההכרחיים בכל עסק ואפילו בתים פרטיים שכן אנשים הבינו כבר מזמן את החשיבות האדירה...
על אימון אישי
אנחנו יצור אנושי, רגשי. שרוצה להרגיש ביטחון. שייכות וקרקע יציבה. וקיים בנו דחף הישרדותי, להתחבר לאנשים אחרים ,להיות מוקפים באנשים,...
צרכנות כללי
משנה לשנה ניתן לראות כי כמעט בכל בית עסק וכן אפילו בתים פרטיים משתמשים במפיצי ריח חשמליים לבישום החלל בצורה אחידה מתוך כוונה להעניק...
 

risom

התחברות לאתר






התחבר באמצעות:

STU2

מאמרים - כל הזכויות שמורות לפרסום אתרים באינטרנט מבית אקטיביטק בע"מ קידום אתרים