28-11-10, 17:16 | # 1 |
אחראי פורום
|
עזרה 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 ומקבל קלט מהמשתמש. תודה לעוזרים!
__________________
אתר העסק ושירותיו: אחסון אתרים מקצועיים, שרת רדיו איכותי וגם ריסלר שרתי משחק מהיר. אי-מייל: admin at freshserv.net. |
28-11-10, 17:20 | # 2 |
I am root
|
http://www.securityfocus.com/tools/139
זה אולי יעזור? |
28-11-10, 17:36 | # 3 | |
אחראי פורום
|
ציטוט:
כאן, יש לי תווך - עבודה עם SOCKETיים. טעיתי במשהו? תודה על העזרה!
__________________
אתר העסק ושירותיו: אחסון אתרים מקצועיים, שרת רדיו איכותי וגם ריסלר שרתי משחק מהיר. אי-מייל: admin at freshserv.net. |
|
28-11-10, 17:43 | # 4 | |
I am root
|
ציטוט:
השאלה מה אתה מנסה לעשות ... |
|
28-11-10, 18:16 | # 5 | |
אחראי פורום
|
ציטוט:
לשם הדגמה, יש לך 20 שרתים, בכל אחד קובץ גיבוי, אני רוצה שאחת לX זמן הם יתחברו לSERVER וישלחו לו את הקבצים (כאשר בכל פעם שCLIENT מתחבר קופץ לי הודעה מה אני רוצה לעשות איתו - האם להוריד את הקובץ או לא להוריד, היוזר, אני, מחליט אם כן או לא). נכון, זה לא חכם במיוחד לעשות את זה ב C, יש חלופות הרבה יותר קלות, אבל המטרה זה ללמוד איך עושים את זה ב C. את החלק של העברת הקובץ כבר רשמתי, הבעיה זה הטיפול בהתחברויות במקביל.
__________________
אתר העסק ושירותיו: אחסון אתרים מקצועיים, שרת רדיו איכותי וגם ריסלר שרתי משחק מהיר. אי-מייל: admin at freshserv.net. |
|
28-11-10, 18:32 | # 6 |
I am root
|
נשמע לי כמו עבודה של 2 דקות ב BASH ולכלים שכבר קיימים במערכת.
NETCAT יעשה לך את העבודה של החיבורים בלי בעיה , רק תדאג להריץ אותו דרך SSH TUNNEL כי NETCAT הוא PLAIN TEXT וזה זולג ... אגב למה לתת ל CLIENT לצלצל הביתה ל SERVER ? אם CLIENT לא תקין איך תדע ?, הרי ה SERVER ישאל אותך שאלות רק במקרה שכן יש חיבור.... *עריכה* אמרת WINDOWS .. יש BASH http://www.cygwin.com/ Last edited by yonatan; 28-11-10 at 18:40.. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|