על ידי ארי גרינשפון » א' פברואר 01, 2009 6:11 pm
YYY שלום,
יש הבדל בין תקשורת בין מחשב לבקר ותקשורת בין מחשב לאינטרנט
את שניהם אפשר לעשות בשפת C
תקשורת בין מחשב לאינטרנט משתמשים בדרך כלל בפרוטוקול TCP או פרוטוקול UDP
מבחינת החומרה יש LAN-ים שיכולים להיות למשל בעזרת כבל קואקסיאלי, סיב אופטי, אלחוטי...
ולכל ראוטר מתחברים לפחות שני LAN-ים
יש צורך לבצע switching שמעביר את המידע מהכניסה לראוטר ליציאה שלו
יש צורך לבצע ACT כלומר כאשר ביט ACT דולק אזי המידע הגיע וכאשר מכובה המידע לא הגיע וצריך לשלוח אותו שוב ולהוריד את קצב השליחה מכיוון שרוב הסיכויים שהמידע לא הגיע כי קצב השידור גבוה יותר מקצב הקליטה ולכן שמים buffer שאוגר את המידע כך שלא ילך לאיבוד
כאשר הbuffer מלא אז מידע נוסף שישלך ילך לאיבוד
מבחינת תוכנה יש כל מיני פקודות בC
( )Listen – מקשיב לפורט המתאים ובודק אם מה שהוא משדר שווה למה שהוא שומע אם לא זהה אז משדר שוב אבל צריך לעשות תזמון שונה
( )S = socket – יצירת מבנה נתונים חדש שיכול לשמש לקריאה ולכתיבה צריך אותם גם במשדר וגם במקלט
( )Bind – מקשר בין הפורט לsocket
( )Accept – ממתין שהמשדר יתחבר אליו ואז נותן למשדר socket חדש
( )Connect – מפרט את כתובת ה IP של השרת ואת מספר הפורט
יש עוד פקודות ועוד מה ללמוד ואם אתה רוצה להרחיב אז אתה יכול לחפש במנוע חיפוש
BSD socket API TCP, Computer connections, ...
אפשר לבצע תקשורת בין מחשב לבקר בC אבל לפי דעתי CVI יותר נוחה מC
<sys/ipc.h> - קובץ פקודות מיוחד לשליחה וקבלת הודעות
למשל
( )Msgsnd – משמש לשליחת הודעות
( )Msgrcv – משמש לקבל הודעות
<sys/ipc.h> - קובץ פקודות לשליטה בתור של ההודעות
<time.h> - קובץ פקודות לשליטה בזמנים
ויש עוד קובץ פקודות לשליטה בזיכרון ועוד קבצי פקודות רלוונטיים
ארי גרינשפון