
socket.io, ומייבאים אותו למשתנה io.expressServer ו-socketServer.expressServer מגישים סטטית את קובץ ה-HTML של הלקוח עם express.static.expressServer.listen על port 3000 (עד עכשיו לא השתמשנו בו) ומעבירים אותו לפונקציה io, וכך נוצר socketServer.socketServer.on('connection', ...) נקרא כשלקוח מתחבר, ומקבל את הסוקט של אותו לקוח. מדפיסים הודעה על התחברות ואת מספר הלקוחות הכולל מתוך socketServer.engine.clientsCount.socket.on עם שם אירוע שאנחנו ממציאים (message from client). הלקוח חייב לשלוח בדיוק את אותו שם. אפשר להאזין לכמה שמות אירועים, למשל גם some other message.disconnect מופעל כשהלקוח מתנתק, ושם מדפיסים הודעה ואת מספר הלקוחות שנותרו.הטקסט המלא של הדקות הראשונות בהרצאה «שימוש ב-Socket.io בצד שרת» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז בואו נצלול לתוך הקוד ונראה מה אנחנו צריכים להתקין ומה אנחנו צריכים לכתוב ראשית בצד של השרת בכדי לבסס את התקשורת של Socket.io אז אנחנו רוצים להתקין את אקספרס ראשית כי Socket.io מתבססת על אקספרס ואת הספרייה Socket.io יש לנו את ההתקנה ואנחנו נמצאים ב-app.js צד שרת.
בואו נפתח את אקספרס ונפתח משתנה שנקרא לו io require מ-socket.io יש לנו כאן את המשתנה של האקספרס סרבר אבל יש לנו בעצם שני סרברים סרבר אחד זה הסרבר הסטנדרטי של אקספרס וסרבר שני זה סרבר שמשרת רק את התקשורת של socket.io לכן במקום לקרוא להם משהו לא ברור כמו סרבר אחד וסרבר שתיים או כל מיני שמות לא ברורים בואו נקרא לזה אקספרס
סרבר ולשני נקרא סוקט סרבר אז יש לנו כאן את האקספרס סרבר ודרכו דרך האקספרס סרבר אנחנו רוצים קודם כל אקספרס נקודה סטטיק דיר ניים זה בעצם יחשוף לנו את קובץ ה html של הקליינט וכעת אנחנו יכולים להרים את הסוקט הסוקט סרבר מקבל io כפונקציה ופה אנחנו צריכים לקחת איזשהו משתנה שמוחזר מפונקציית הליסן של אקספרס אז בואו שנייה אחת לפני זה נפתח
את אותו ליסנר ניתן לו את אקספרס סרבר נקודה ליסן 3000 בדיוק כמו שתמיד היינו עושים יש לנו פה קונסול לוג listening on http://localhost 3000. והמשתנה שהוחזר לנו ה-listener הזה אנחנו שמים אותו פה.
זאת אומרת שעד היום אף פעם לא קיבלנו את המשתנה שמוחזר מפונקציית ה-listen. עכשיו אנחנו מקבלים אותו, מעבירים אותו ל-socket server. נצמצם פה טיפה ויש לנו כאן עכשיו את כל התשתית בכדי להתחיל לבצע האזנה.
אז איך אנחנו מאזינים, הסוקט סרבר הזה מאפשר לנו להגיע לכל רשימת הסוקטס שמחוברים כרגע, כלומר כל הסוקטים של כל הקליינט ולהאזין on זה בעצם האזנה לאירוע.
אם יש לנו אירוע שנקרא קונקשן, ספציפית השם הזה, זה אומר שקליינט חדש התחבר לרשימה הזאת ואז אנחנו מקבלים סוקט לאותו קליינט, אוקיי? ברגע שאיזשהו קליינט יתחבר אלינו יש לנו עכשיו סוקט אליו.
מה אנחנו עושים? בואו נציג פה איזה הודעה client has been