פרוטוקולי-רשת בפלאש
נכתב על ידי: אלעד כהן
תאריך: 31/08/10

מהו פרוטוקול?
פרוטוקול הוא הגדרה של רצף אירועים המתרחשים בזה אחר זה כדי לבצע פעולות מסויימות. לדוגמא: כדי ששיחת טלפון תתקיים, צד אחד צריך לחייג והצד השני לענות. רק לאחר מכן שני הצדדים יוכלו לדבר בינהם. דוגמא אחרת לפרוטוקול-רשת באינטרנט: הפרוטוקול FTP (File Transfer Protocol) מגדיר איך קובץ יכול להישלח ממחשב אחד לאחר. הפרוטוקול מגדיר איך הקשר הראשוני נוצר, שמות הפקודות והתגובות שכל צד שולח לאחר. פרוטוקול-רשת מפורט במסמך המסביר אותו (מסמך RFC) וכדי לממש אותו צריכה להיכתב תוכנת מחשב אחת או יותר. כדי לממש את פרוטוקול FTP צריכות להיכתב שתי תוכנות, אחת בצד-השרת והשניה ובצד-הלקוח. כל אחת מהתוכנות האלו יכולה להיכתב ע"י מתכנת אפליקציות אחר ובלבד שיממש את הפרוטוקול בצורה מדוייקת לפי פירוטו הידוע לכל. לדוגמא: שליחת קובץ עם פקודה זהה וקבלת קובץ עם פקודה זהה. קיימות הרבה תוכנות מסוג FTP Clients ו-FTP Servers. כל התוכנות האלו ממשות את אותו פרוטוקול FTP ולכן תוכנת FTP Client שנכתבה ע"י מתכנת מסויים ותוכנת FTP Server שנכתבה ע"י מתכנת אחר יכולות לעבוד ביחד.

המחלקה Socket בשפת AS3
באמצעות המחלקה החדשה Socket בשפת AS3 אפשר לממש את צד-הלקוח של פרוטוקולי-רשת. לדוגמא כדי ליצור: email client או web client. המחלקה Socket משתמשת בפרוטוקול TCP כדי להתחבר לכתובת IP מרוחקת במבואה מסויימת ולאחר מכן לשלוח ולקבל נתונים בפורמטים שונים. בצד-השרת צריכה להיות קיימת תוכנה שתאשר את החיבור ותגיב לנתונים השונים שיישלחו אליה.

שימוש בקומפוננטות שמפשטות את השימוש במחלקה Socket
קיימים פרוייקטי קוד-פתוח שמשתמשים במחלקה Socket המוסברת בפסקה הקודמת כדי לממש פרוטוקול-רשת מסויים. פרוייקטים אלו מייצאים API שמאפשר להשתמש בפרוטוקול-הרשת בצורה פשוטה יותר ובשכבה גבוהה יותר מאשר בשכבה הנמוכה של Socket שמצריכה שליחת וקבלת רצף בתים (Bytes). לדוגמא: הפרוייקט SmtpMailer מאפשר לשלוח הודעות דואר אלקטרוני מתוך אפליקצית פלאש באמצעות API פשוט. הפרוייקט מבוסס על המחלקה Socket.

קישורים למידע נוסף
מהו מסמך RFC: http://en.wikipedia.org/wiki/Request_for_Comments
הפרוייקט SmtpMailer: http://code.google.com/p/smtpmailer/


 
אודות המחבר

המאמר נכתב ע"י אלעד כהן - מתכנת פלאש בחברת GAME DEV LTD.

המאמר הודפס מאתר portal-asakim.com - אתר מאמרים עסקיים ומקצועיים
http://www.portal-asakim.com/Articles/Article10548.aspx