איך בדיוק מיישמים TcpListener.? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

איך בדיוק מיישמים TcpListener.?


bdoron

Recommended Posts

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

אפילו ראיתי קטעי קוד לדוגמא

השאלה שלי היא כזאת, איפה אני שם את הקוד הזה בדיוק? זה קובץ CS כאילו פה אני נאבד לגמרי, נגיד יש לי 2 קבצים, אחד CS שלclient והקובץ השני הוא הlistener

מה כאילו? אני מבולבל

אני צריך עכשיו פשוט להעתיק את הקובץ הזה לשרת? ולשתול את הקטע קוד של הclient אצלי בתוכנה?

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

רגע אז אם אני בעצם עושה תוכנה שלי, למשל אני רוצה סתם לדוגמא לעשות איקס עיגול, אז איך זה בדיוק מתנהל, תוכנה של listener שיושבת בשרת, והיא מתווכת בין 2 של הclient?

מה שאני לא מבין זה שאם יש לי תוכנה של client שעל המחשב שלי, ותוכנה של client על מחשב של חבר, אז איך אני מעביר מידע אחד לשני? דרך שרת? תוכנה שיושבת על שרת והיא listener? והיא זורקת ל2 האפציקציות את התוצאות שנשארו?

אני אסביר זאת באיור הבא:

http://img690.imageshack.us/img690/7159/13zv.jpg" target="_blank" rel="nofollow">[img'>http://img690.imageshack.us/img690/7159/13zv.th.jpg</a>"]http://13zv.th.jpg

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

אבל אז זה אומר שהתוכנה שרשמתי בשרת צריכה לעבוד כל הזמן

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

- - - תגובה אוחדה: - - -

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

:)

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

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

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

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

ככה שאחד יוזם את המשחק (והוא השרת) והשחקן השני מצטרף למשחק (והוא הלקוח).

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

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

אני רוצה להתחיל לרשום תוכנה, אבל אני לא יודע באיזה סוג שרת לבחור, זה שרת רגיל? כאילו הכוונה שלי שאני צריך למצוא אתר חינמי, להעתיק לבפנים את הקובץ הרצה וזהו? רק לזכור את הIP של השרת ואת הPORT שבחרתי לתוכנה? ואיך אני גם מפעיל את התוכנה על השרת?

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

...אז? תתחיל מלכתוב קוד שעובד כשהשרת והלקוח על אותו מחשב. אחרי שזה יעבוד תחשוב על להריץ על מחשבים שונים.

חוץ מזה, אתה תמיד יכול גם להרים מכונה וירטואלית (VM) על המחשב, ואז יש לך כאילו שני מחשבים.

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

כאילו הכוונה שלי שאני צריך למצוא אתר חינמי, להעתיק לבפנים את הקובץ הרצה וזהו? רק לזכור את הIP של השרת ואת הPORT שבחרתי לתוכנה? ואיך אני גם מפעיל את התוכנה על השרת?

לא. אתה לא חייב שרת שלישי.

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

אחד מהם הוא השרת, ואחד מהם הוא הלקוח.

הIP של השרת הוא הIP של המחשב של השחקן שרץ כשרת.

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

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

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

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

ארכיון

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

×
  • צור חדש...