ABA


"איך אפשר לשלוט על המחשב של ה- client side דרך ממשק web?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20173 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20173
MrSus
חבר מתאריך 8.5.09
1801 הודעות
   23:03   23.08.13   
אל הפורום  
  איך אפשר לשלוט על המחשב של ה- client side דרך ממשק web?  
 
   יצא לי לא מזמן לשחק באטלפילד (מקורי), וכל פעם שרציתי להפעיל את המשחק הייתי מתחבר למשתמש שלי באתר (origin) ודרך שם לוחץ על Play, מה שהיה מפעיל את המשחק במחשב שלי.

ברור לי שמעורבת פה תוכנה נוספת שיושבת בדסקטופ שלי (כנראה בצורת service) שבעצם הדפדפן מדבר איתה.

מעניין אותי לדעת איך הדבר הזה עובד ואיך מפתחים תוכנות כאלה שיודעות לדבר עם הדפדפן ולשלוט על דברים במחשב של ה- client.

יש לי רעיון לאיזה פרויקטון קטן שבו אני רוצה לבנות ממשק אינטרנט שהלקוח נכנס אליו, מזין כל מיני אפשרויות ואז לוחץ על כפתור, שבתורו מתחבר לתוכנה שיושבת ב- tray של הלקוח (או בצורת סרוויס טהור), ומבצעת פעולה מסוימת (לשם הפשטות נניח שאני רוצה שתהוכנה פשוט תפעיל מסך command line ותדפיס hello world).

את התוכנה עצמה שתשב בדסקטופ אני מעוניין לבנות ב- c# (יש לי ידע בסיסי), אך אין לי מושג איזה סוג של תוכנה צריך לבנות, ואיך בדיוק היא אמורה לדבר עם הדפדפן?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  בעקרון זה די בעייתי.. VeNom  24.08.13 00:07 1
     מוכר לי MrSus 24.08.13 00:19 2
         אוקיי.. VeNom  24.08.13 00:57 3
             תן לי לראות אם הבנתי נכון MrSus 24.08.13 01:11 4
                 הצעתי 2 דברים. VeNom  24.08.13 09:50 5
  קבל תשובה ממישהו שעבד על הפיתוח של זה:(גוגל חברו הטוב של האדם) משה הלולן 24.08.13 18:30 6
     בדיוק מה שחיפשתי MrSus 26.08.13 02:30 8
  אתה יכול לעשות את זה די בקלות, last_test 24.08.13 18:56 7
     בדיוק מה שהבחור מעליך הציע בהפניה לשאלה ב- stack overflow MrSus 26.08.13 02:32 9

       
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   00:07   24.08.13   
אל הפורום  
  1. בעקרון זה די בעייתי..  
בתגובה להודעה מספר 0
 
   מבחינת אבטחה.
אני מכיר דרך להריץ על דפדפנים של IE שהאבטחה שלהם ברצפה ועם ACTIVEX..משהו כזה:



<html>
<head>
<script type='text/javascript'>
function openNotepad(){
var runObj = new ActiveXObject("WScript.Shell");
runObj.Exec("C:\\Windows\\notepad.exe");
}
</script>
</head>
<body>
<button onclick='openNotepad();'>Open Note Pad</button>
</body>
</html>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MrSus
חבר מתאריך 8.5.09
1801 הודעות
   00:19   24.08.13   
אל הפורום  
  2. מוכר לי  
בתגובה להודעה מספר 1
 
   זה לא מה שהתכוונתי... מה גם שזה תומך רק ב- IE כמו שאמרת, ואני צריך פתרון CROSS BROWSER..

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

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

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   00:57   24.08.13   
אל הפורום  
  3. אוקיי..  
בתגובה להודעה מספר 2
 
   לחיצה על כפתור מתקשרת עם השרת. הוא יכול לתקשר עם הסריווס דרך DATABASE או אולי WEB SERVICE..יש גם WEB SERVICES שעובדים בDUPLEX MODE וזו גם דרך(דומה לPUSH במובייל)..אני לא מכיר את באטלפילד אבל יש מספיק פתרונות לדבר הזה.

חשבתי שאתה מחפש לפתוח קובץ מהדפדפן..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MrSus
חבר מתאריך 8.5.09
1801 הודעות
   01:11   24.08.13   
אל הפורום  
  4. תן לי לראות אם הבנתי נכון  
בתגובה להודעה מספר 3
 
   מה שאתה מציע הוא שלחיצה על הכפתור (בדפדפן), תעדכן איזה DB (לדוגמא), שהתוכנת דסקטופ כל הזמן מתשאלת אותו, וכשהיא רואה שהוא עודכן היא מבצעת את הפעולה הנדרשת?

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

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   09:50   24.08.13   
אל הפורום  
  5. הצעתי 2 דברים.  
בתגובה להודעה מספר 4
 
   1. עדכון מקור חיצוני כמו DB - ואז כמו שאמרת, הסרוויס צריך לתשאל את ה DB בחלון זמן שתגדיר לו. היום זה פחות נפוץ לעבוד ככה.

2. עבודה עם WEBSERIVCE שיש לו אופציה לעבוד עם callbacks. לפתוח ערוץ duplex ואז לעבוד בצורה דומה ל push שעובד אצלך בסמארטפון - זה הרבה יותר מומלץ - אבל שוב, גם פתרון (1) יכול להיות טוב במקרים מסוימים.
הייתי ממליץ לך לקרוא על wcf duplex..תחשוב שזו אחלה דרך לממש נגיד צאט קבוצתי..כי כל פעם שהודעה מגיעה לשרת, הוא דוחף אותה לכל הלקוחות שמחוברים ושאתה רוצה שזה יגיע אליהם. ככה בעצם אתה יוצר צאט קבוצתי. האנלוגיה לסרוויס שישב אצלך בדסקטופ הוא כזה שיהיה מחובר ישירות לסרבר ויקבל עדכונים על פי איוונטים שמתעדכנים.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
משה הלולן לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 11.6.13
4818 הודעות, 8 פידבק
   18:30   24.08.13   
אל הפורום  
  6. קבל תשובה ממישהו שעבד על הפיתוח של זה:(גוגל חברו הטוב של האדם)  
בתגובה להודעה מספר 0
 
   http://stackoverflow.com/questions/7995353/how-does-battlelog-launch-games-from-browser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MrSus
חבר מתאריך 8.5.09
1801 הודעות
   02:30   26.08.13   
אל הפורום  
  8. בדיוק מה שחיפשתי  
בתגובה להודעה מספר 6
 
   חיפשתי בגוגל במשך חצי שעה לפחות, עברתי על מלא תוצאות אבל לא הצלחתי להגיע למה שהבאת פה...

תודה רבה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
last_test
חבר מתאריך 20.8.13
328 הודעות
   18:56   24.08.13   
אל הפורום  
  7. אתה יכול לעשות את זה די בקלות,  
בתגובה להודעה מספר 0
 
   קודם כל אם אתה בכניסה לאתר תתקין אצל ה-user תוסף לדפדפן זה סוגר לך את הפינה, כי דרך התוסף אתה תוכל לבדוק אם התוכנה מותקנת אצל המשתמש ובאמצעות command-line פשוט להריץ אותה.

תוסף - plugin לא extension אני לא בטוח שדרך NPAPI יש לך הרשאות להריץ shell commands למרות ששווה לבדוק (יהיה פשוט יותר).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MrSus
חבר מתאריך 8.5.09
1801 הודעות
   02:32   26.08.13   
אל הפורום  
  9. בדיוק מה שהבחור מעליך הציע בהפניה לשאלה ב- stack overflow  
בתגובה להודעה מספר 7
 
   הייתי צריך כיוון, עכשיו אני אחקור קצת את הנושא הזה של plug ins לדפדפן.. על פניו זה נשמע פתרון מצוין, ובדיוק מה שחיפשתי!

תודה לכם!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net