פרוייקט ל5 יחידות בסביבת NET.-שאלות חשובות - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

פרוייקט ל5 יחידות בסביבת NET.-שאלות חשובות


MasterOr

Recommended Posts

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

הוא הסביר לי שבקצרה הHTTP POST או GET לא יכול לתפקד עם כמות מידע גדולה כמו DATASET לדוגמא, אז הלבישו עליו את הSOAP.

אני משתמש בstudio.net 2003 בינתיים ומחכה ל2005 שקרובה לצאת.

דבר אחד עוד לא הבנתי איך אני - איך אני עושה שהסרבר יאזין כל הזמן ויחכה להודעות שמגיעות מהלקיינט לסרבר ומהסרבר אליו(כאילו שליחת הודעה)

ממה שכתבת הבנתי שאני יצטרך כאילו בכל הודעה לשלוח בנוסף גם בקשה לסרבר לשלוח את ההודעה למיקום מסויים שלא תהיה לי בעיה להשיג את הIP שלו גם כן.

הבנתי נכון?

קישור לתוכן
שתף באתרים אחרים

  • תגובות 41
  • נוצר
  • תגובה אחרונה

אני לא הכי מתמצא בWS אבל בREMOTING כן (עליו אני חושב מבוסס הWS).

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

כל פעם שנשלחת הודעה השרת יחפש את הלקוח ואז יפעיל בו קריאה אסיכרונית עם המידע של ההודעה, הלקוח יקבל את הקריאה הזאת (בעזרת DELEGATE) ויעשה מה שהוא רוצה איתה, במידה והקריאה נכשלת, אפשר להעיף את הURI כי אפשר להניח לדגומא שהלקוח כבר לא מחובר.

ככה שולחים ומקבלים הודעה.

עכשיו אפשר כמובן שהלקוחות יפנו לשרת כל 60 שניות או כל זמן אחר ויקבלו רשימת לקוחות מחוברים, אבל זה כבר פחות חשוב.

הקטע של הקיראות האסיכרוניות הוא לא הכי פשוט, אבל בהחלט מעניין.

שוב זו רק הצעה, שאני לא יודע אם בכלל תקפה על WS אבל שווה ניסיון. (מבחינת קוד.. תתפלא כמה מעט שורות זה)

קישור לתוכן
שתף באתרים אחרים

אני אישית עבדתי עד היום בעיקר עם SOCKETS... וקצת עם ה SOAP בשביל משחק...

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

ב SOAP אפשר לשמור על חיבור קבוע בין ה CLIENT ל SERVER ולגרום ל SERVER לשלוח עדכונים ל CLIENT ? (כמו למשל אנשים שעשו SIGNOFF וכו') ?

קישור לתוכן
שתף באתרים אחרים

רק הערה לבחור, שיבין:

socket, במובן של רשתות הוא פשוט זוג של כתובות אייפי ופורטים כלומר זה סוקט:

(ip1:port1,ip2:port2)

זה לא איזה פרוטוקול בפני עצמו, פשוט מושג.

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

בהצלחה עם הפרוייקט, נראה לי בחרת משהו הרבה מעל לרמה של 5 יחידות בגרות במחשבים :)

קישור לתוכן
שתף באתרים אחרים

הבנתי את הקטע של הסוקט תודה.

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

קישור לתוכן
שתף באתרים אחרים

אם תבנה מערכת מידע בשיטת הN-TIER אני מבטיח לך שזה לא ישעמם אותך :)

יש הרבה שם...

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

קישור לתוכן
שתף באתרים אחרים

הבנתי את הקטע של הסוקט תודה.

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

כל הכבוד שאתה עושה משהו מעבר לנדרש, זו גישה טובה לעתיד במקצוע :xyxthumbs:

קישור לתוכן
שתף באתרים אחרים

אל תפחד מהקטע של הציון, במקצוע כל כך חדש (אני חושב שזו רק השנה השלישית שנבחנים על זה) הבוחנים יתנו לך 100 כמעט אוטומטי על כל דבר שתעשה

הבעיה היא שצריך ללמוד הרבה לבד כי גם המורים חדשים בקטע הזה...

קישור לתוכן
שתף באתרים אחרים

את הפתרון הפשוט שרציתי לשמוע פה לא ממש שמעתי.

ואף אחד לא אמר.

כולם מפוצצים פה במוסגים שלא ניראה לי שממש מבינים.

אז שוב.

כמו כל תוכניתן אני כל יום לומד דברים חדשים.

אף פעם לא תכנתתי עם sockets.

מהידע המועט שיש לי אז שוב: socket הוא connection בינרי בין שני מחשבים.

כדי שקשר כזה יתקיים אתה צריך תוכנה גם בclient וגם ב server . ואתה צריך לפתוח לו פורטים ב firewall.

ההתרון של ws שהוא טקטואלי והוא עובד על פורט שעובד עליו האינטרנט 80 ולכן לא צריך לפתוח לו port מפני שכל ה firewalls מאפשרות חיבור אינטרנטי.

אבל אתה יכול רק לפנות לשרת ולקבל תשובה.

השרת בחיים לא פונה אלך .... פשוט ...

אתה פונה ל HWZONE .. והוא מחזיר לך תשובה .. דף .

שוב...

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

ולכן בשיטה הנ"ל אתה צריך שהclients יפנו לשרת כל כמה זמן ויבדקו אם יש מידע חדש ...

ויקבלו תשובה ...

אתה לא צריך לכתוב שם דבר מיחד כדי לעבוד עם ws או ASP.net בגלל שכל התשתית מוכנה IIS (שרת אנטרנט) ואקספלורר בצד השני ..

WS נועד בעיקר לתקשורת בין שרתים שרוצים לחלוק מידע בינהם בלי לחשוף את ה database שלהם ..

איפה אתה רואה את ה WS נכנס לתמונה בפרוייקט שלך?

אך אמורים להיות כתובים ה clients שלך?

אך ה server שלך?

ב ASP.NET ?

WINFORMS ?

קישור לתוכן
שתף באתרים אחרים

הבנתי את העיקרון של ההסבר שלך, הוא נראה לי מתאים.

הWS שלי ישמור את הרשימה של האנשי קשר שכל פעם שתתחבר תקבל אותם ישירות אליך.

הוא יעשו עבודות שונות פשוטות שקשורות לשמירת נתונים או שליחת SMS-אלה דברים שאני יודע לעשות.(כמובן שהSMS יעבוד טכנית לא במציאות כי אז צריך חברה סלולרית).

אבל העיקרון של הWS הוא אמור להיות קבלת הודעה מקליינט 1 ושליחת לקליינט 2(אלה 2 פרמטרים שנשלחים מהמחשב ששולח את ההודעה).

כמובן שהסרבר הוא IIS אין פה שאלה בכלל. ד"א אני מתמצא טוב בשרת אז אין צורך להסביר דבר.

והכל בASP.NET או C# אבל למדתי רק ASP/VB.NET.

קישור לתוכן
שתף באתרים אחרים

אני חייב לציין שאכן אני מבין הרבה יותר בעבודה עם SOCKETS מאשר WS (שבשבילי כלל כמה נסיונות פשוטים של SOAP דרך PYTHON), אבל נראה לי קצת פרימיטבי..

להבנתי ה WS עובד בין CLIENTS שמבקשים שרות לבין ה SERVER... אין קשר ישיר CLIENT ל CLIENT דרך זה....

גם מכיוון שזה ONE WAY PROTOCOL, אז בוא נגיד שהשרת שינה מצב (מישהו התחבר, מישהו עזב, מישהו מבקש ליצור שיחה עם מישהו אחר).. איך השרת יכול לשלוח את ה EVENTS ללקוח בלי שיש לו חיבור ישיר איתו ?

קישור לתוכן
שתף באתרים אחרים

סתם קראתי את הת'רד הזה וחשבתי שהגיע אחרי כמה שנים של קריאה להצטרף לפורום רק כדי להגיב עליו :)

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

כל מה שאתה צריך זה להעביר ב Login של הקליינט אובייקט שיורש מהמחלקה MarshallByRef (המשמעות של המחלקה הזאת זה שכשמעבירים אותה מעל Remoting אז לא עובר עותק של האובייקט למחשב [בעצם AppDomain אם להתפס לקטנות] השני, אלא Proxy שלו, כלומר, מתודות וProperties של האובייקט הזה שיקראו בServer יירוצו בעצם בקליינט), אז תוכל פשוט לקרוא למתודות חזרה בקליינט.

בכלל, בתור מישהו שכתב מערכות לשוק גם עם Remoting וגם עם WebServices אני יכול להגיד שWebServices זאת לא מתאימה פה כ"כ לדעתי. WebService זה יותר לבקשות שירות, אתה מבקש משהו ומקבל בחזרה. לא כ"כ לאינטראקציה. (למרות שאיתה יש לי פחות ניסיון, יכול להיות שאני מפספס פה משהו).

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

בהצלחה! :xyxthumbs:

קישור לתוכן
שתף באתרים אחרים

דבר ראשון, ברוך הבא לפורום :)

דבר שני, אם אתה יכול תביא קצת לינקים לנושא הזה של REMOTING, גם לי ה WEB SERVICE לא נראה כלכך עוזר פה. לרוב אני בכלל איש של SOCKETS אבל מעניין לקרוא על הדברים האלו גם כן.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...