עזרה SERVER בשפת C
מה נשמע חבר'ה?
אני מחפש הכוונות / פתרונות לבנייה של SERVER בשפת C.
המטרה:
בניית SERVER שמקבל CONNECTIONS ומטפל בהם. הSERVER אמור להיות מסוגל לקבל CONNECTIONS רבים שיעבדו בו"ז (כולל קלט - פלט). לדוגמא, התחבר CLIENT, יקפיץ לי הודעה מה אני רוצה לעשות איתו ובו"ז אם מתחבר CLIENT חדש, יקפיץ לי הודעה גם לגביו.
פתרונות שניסיתי:
1. יצירת THREAD חדש לכל התחברות - לא עובד טוב כיוון שאי אפשר שיהיו (עד כמה שאני יודע) THREADיים שעובדים במקביל ולכולם פתוח CONSOLE לקלט / פלט עצמאי.
2. העברתי את הפונקציה שמטפלת ב CLIENT (לכולם אותה פונקציה) לPROCESS אחר ועשיתי שבכל התחברות נוצר PROCESS שמועבר אליו כפרמטר ה SOCKET DESCRIPTOR.
הבעיה:
1. בפתרון השני, עם יצירת הPROCESS, הוא לא מצליח לשלוח מידע דרך הSOCKET (כאילו אין SOCKET פתוח, הוא מתייחס ל SOCKET DESCRIPTOR בתור INT רגיל - ERROR 10038).
2. המשמעות היא יצירת PROCESS חדש לכל התחברות (לא נכון מבחינת ניהול משאבים).
חיפשתי בגוגל, מלא! על יצירת MULTI-CONNECTION SERVER עבור מ.הפעלה WINDOWS בשפת C ולא מצאתי משהו שמנהל בו"ז כמה CLIENTS ומקבל קלט מהמשתמש.
תודה לעוזרים!
|