שליחת הודעה לקליינט בווב סוקט מתהליכים נפרדים
-
שרת ב NodeJs.
משתמש (לצערי) בפריימוורק שנקרא Sails. המבוסס express וספריות בסיסיות נוספות.
פיצלתי את השרת לכמה מופעים, עקב עומסים.
כל מופע הוא בעצם תהליך נפרד לגמרי שמאזין לפורט אחר, וה nginx מפנה כל תת דומיין לפורט אחר.יש תקשורת webSocket על בסיס Socket.IO.
כל קליינט נרשם לשרת ברגע שהוא מתחבר, והשרת רושם את ה socket id שלו.אך שמתי לב שכל אחד מהתהליכים יכול לשלוח הודעה גם לסוקטים שנרשמו בהתליך אחר (בהינתן ה ID של הסוקט הנשמר כאמור ב DB).
התפלאתי איך זה יכול להיות, הרי כל אחד מאזין לפורט אחר, אז איך הוא בכלל מגיע לסוקט שנרשם בתהליך אחר.
יש למישהו הסבר איך זה אפשרי?
והאם תהיה אפשרות לעשות זאת גם מכתובות IP נפרדות ?תודה ושבוע טוב
-
@מנצפך אם ההנחות שלך נכונות, אין לי שום הסבר, זה באמת חידה
אני נוטה לחשוב שאיפשהו יש לך הנחה לא נכונה. אני לא מצליח לנחש איפה בדיוק...
(אולי משהו בקובץ ההגדרה של nginx שמנתב את כל הווב סוקטים לאותו תהליך?)(עיין עוד: https://socket.io/docs/using-multiple-nodes/ ולפום ריהטא מבואר להדיא שאי אפשר לשלוח הודעה לסוקט שלא התחבר לתהליך שלך, בלי להשתמש ב-
io.adapter) -
@מנצפך אם ההנחות שלך נכונות, אין לי שום הסבר, זה באמת חידה
אני נוטה לחשוב שאיפשהו יש לך הנחה לא נכונה. אני לא מצליח לנחש איפה בדיוק...
(אולי משהו בקובץ ההגדרה של nginx שמנתב את כל הווב סוקטים לאותו תהליך?)(עיין עוד: https://socket.io/docs/using-multiple-nodes/ ולפום ריהטא מבואר להדיא שאי אפשר לשלוח הודעה לסוקט שלא התחבר לתהליך שלך, בלי להשתמש ב-
io.adapter)
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות