הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תחזוק שרתים ושירותי רשת נוספים (https://hosts.co.il/forums/forumdisplay.php?f=29)
-   -   שאלה | איך יוצרים עמוד עם פורט (https://hosts.co.il/forums/showthread.php?t=100104)

xeonuser 28-09-12 22:37

שאלה | איך יוצרים עמוד עם פורט
 
לדוגמא:
יש לי שרת שהIP שלו הוא 1.2.3.4
אני מריץ עליו שרת רדיו (shoutcast) בפורט 8000 נגיד.
כשאני נכנס ל 1.2.3.4:8000 אני רואה עמוד HTML.

או לדוגמא הפאנל DIRECTADMIN כשאני נכנס ל 1.2.3.4:2222 אני רואה עמוד HTML.

א. שרת שמריץ shoutcast ואין עליו HTTPD (אפצ'י) מציג עמוד HTML, איך זה יכול להיות?
ב. איך אני יוצר עמוד כזה? (לדוגמא אני מחליט על פורט 9000 ושיכנסו יראו עמוד HTML שאני אכתוב)
ג. אם יש שרת רדיו שרץ על פורט 8000 יש אפשרות שאני אכין עמוד HTML על פורט 8000 (כמו ששאלתי בב' אם אני יכול לעשות דבר כזה) ואז השרת ירוץ על פורט 8000 אבל שיכנסו ל 1.2.3.4:8000 יראו עמוד שאני אכין?

תודה :)

BuildDream 28-09-12 22:55

אתה צריך לכתוב תוכנה שתרוץ על השרת ו"תאזין" לפורט שאתה רוצה. לדוגמה אתה קובע שהיא תאזין על פורט 555. (אתה יכול לעשות את זה למשל בפייתון, שהיא שפה פשוטה ללמידה)

למשל הדפדפן כשאתה נותן לו כתובת (אם אתה לא נותן פורט הוא קובע לבד פורט 80, שזה הברירת מחדל) הוא פונה לכתובת שנתת, בפורט שנתת (או 80 אם לא נתת) ושולח בקשת GET, הנה דוגמה לבקשה כזאת:

GET /index.html HTTP/1.1
Host: www.example.com


כמובן שיש המון אפשרויות לתת בבקשה הזאת, יש פרוטוקול שלם איך זה אמור להראות.
ואז בקוד שלך, כשאתה מקבל הודעה בפורט שאתה מאזין לו אתה קורא אותה ומחליט מה לעשות איתה. אתה יכול להחליט שאם פונים אלייך בבקשת GET, אתה תחזיר עמוד HTML (דוגמא לבקשה שחזרה):

HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Etag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: none
Connection: close
Content-Type: text/html; charset=UTF-8

תוכן הדף....

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

אדיר 28-09-12 22:56

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

ג' -
לא, אתה לא יכול להריץ 2 תהליכים שונים שיאזינו לאותו פורט במקביל.
מה שכן אפשר זה לתכנת תהליך שיאזין על פורט מסויים וידע לתמוך בכמה פרוקוטולים שונים, במקרה שלך אתה תצטרך לערוך את התהליך של שרת ה- shoutcast בשביל זה, מה שאני מאמין שבלתי אפשרי (לפחות לא בדרכים המקובלות).

BuildDream 28-09-12 22:59

ציטוט:

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

ג' -
לא, אתה לא יכול להריץ 2 תהליכים שונים שיאזינו לאותו פורט במקביל.
מה שכן אפשר זה לתכנת תהליך שיאזין על פורט מסויים וידע לתמוך בכמה פרוקוטולים שונים, במקרה שלך אתה תצטרך לערוך את התהליך של שרת ה- shoutcast בשביל זה, מה שאני מאמין שבלתי אפשרי (לפחות לא בדרכים המקובלות).

דווקא את ShoutCast לא צריך לערוך, הוא תומך בHTTP

Kernel 28-09-12 22:59

ציטוט:

נכתב במקור על ידי xeonuser (פרסם 858375)
לדוגמא:
יש לי שרת שהIP שלו הוא 1.2.3.4
אני מריץ עליו שרת רדיו (shoutcast) בפורט 8000 נגיד.
כשאני נכנס ל 1.2.3.4:8000 אני רואה עמוד HTML.

או לדוגמא הפאנל DIRECTADMIN כשאני נכנס ל 1.2.3.4:2222 אני רואה עמוד HTML.

א. שרת שמריץ shoutcast ואין עליו HTTPD (אפצ'י) מציג עמוד HTML, איך זה יכול להיות?
ב. איך אני יוצר עמוד כזה? (לדוגמא אני מחליט על פורט 9000 ושיכנסו יראו עמוד HTML שאני אכתוב)
ג. אם יש שרת רדיו שרץ על פורט 8000 יש אפשרות שאני אכין עמוד HTML על פורט 8000 (כמו ששאלתי בב' אם אני יכול לעשות דבר כזה) ואז השרת ירוץ על פורט 8000 אבל שיכנסו ל 1.2.3.4:8000 יראו עמוד שאני אכין?

תודה :)

א. Shoutcast עובד על HTTP (הסאונד נשלח בבקשה ארוכה מאוד), אז יש איזה MINI HTTPD.
ב. אתה מגדיר את Apache לרוץ בפורט 9000.
ג. לא ב-Shoutcast.

לגבי מה שזה שמעליי כתב, לכתוב שרת שיענה לפרוטוקול HTTP זה לא משהו פשוט, יש המון משתנים שיכולים לגרום לשגיאות (GZIP, KEEPALIVE ועוד).

אדיר 28-09-12 23:02

ציטוט:

נכתב במקור על ידי BuildDream (פרסם 858378)
דווקא את ShoutCast לא צריך לערוך, הוא תומך בHTTP

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

BuildDream 28-09-12 23:25

ציטוט:

נכתב במקור על ידי Kernel (פרסם 858379)
א. Shoutcast עובד על HTTP (הסאונד נשלח בבקשה ארוכה מאוד), אז יש איזה MINI HTTPD.
ב. אתה מגדיר את Apache לרוץ בפורט 9000.
ג. לא ב-Shoutcast.

לגבי מה שזה שמעליי כתב, לכתוב שרת שיענה לפרוטוקול HTTP זה לא משהו פשוט, יש המון משתנים שיכולים לגרום לשגיאות (GZIP, KEEPALIVE ועוד).

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

ברור שהוא לא ממש את כל הפרוטוקול, ולא הייתי מריץ עליו אתר אינטרנט - אבל הוא מילא את כל הצרכים שלי באותו זמן

ונחמד לדעת שShoutCast מעביר את הסאונד בHTTP, אף פעם לא טרחתי לבדוק באיזה פרוטוקול הסאונד עובר :-)


כל הזמנים הם GMT +2. הזמן כעת הוא 12:30.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ