Microsoft PowerPoint - lecture14_networking.ppt

מסמכים קשורים
תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

HTML - Hipper Text Makeup Language

המשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return +

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

מערכות הפעלה קורס מס'

סרגל כלים ל-Outlook או לExplorer- מדריך למשתמש

PowerPoint Presentation

מערכות הפעלה

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office

Slide 1

שאלהIgal : מערכים דו מימדיים רקורסיה:

Microsoft Word IG Lab - Configure Wireless Router in Windows Vista.docx

Microsoft Word - Ass1Bgu2019b_java docx

(Microsoft Word - SQL\353\351\345\345\365 \341\361\351\361 \360\372\345\360\351\355 \ doc)

Microsoft PowerPoint - meli-iso.ppt

הגנה - שקפי תרגול

מבחן בפיתוח מערכות תוכנה בשפת Java ( )

תורת הקומפילציה

PowerPoint Presentation

מבוא למדעי המחשב

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

Microsoft PowerPoint - lec2.ppt

סדנת תכנות ב C/C++

הסבר על HSRP, VRRP, GLBP

תוכנה חופשית מאחורי הקלעים? על סדר היום: קצת על עצמי מה זאת תוכנה חופשית? ההיסטוריה של תוכנה חופשית כיצד תוכנה חופשית משתלבת בשוק התוכנה היתרונות של ת

תכנות מונחה עצמים א' – תש"ע

שאלהIgal : מערכים דו מימדיים רקורסיה:

מבוא לתכנות ב- JAVA תרגול 11

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

PowerPoint Presentation

Microsoft PowerPoint - rec3.ppt

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

מהוא לתכנות ב- JAVA מעבדה 3

PowerPoint Presentation

מדריך למרצים ומתרגלים 1

מסע מדע ו - מסע ברכב שטח ביבשות רחוקות

PowerPoint Presentation

איטרטורים: 1 תוכנה 1 סתיו תשע"ג תרגיל מספר 9 הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה moodl

People. Partnership. Trust מסלול Free פורטל החינוך מבית U-BTech מסלולים ומחירים חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנב"ס ולסי

eriktology The Prophets Book of Isaiah [1]

פרויקט שורשים דמות

PowerPoint Presentation

Slide 1

תרגול 1

שאלהIgal : מערכים דו מימדיים רקורסיה:

הוספת קישור לאתר אינטרנט תוכן ממשק בדיקת מטלות...3 איחוד אתרי קורסים...5 סל מחזור... 7 חידושים בפעילויות...8 תצורת קורס: כפתורים... 9 פורומים...10 שיפ

Slide 1

People. Partnership. Trust שלבי הפרויקט והמסלולים השונים - פלטפורמת "קהילה לומדת" מסלול Free שלבי הפרויקט: חיבור לשירותי Office 365 ללא עלות פורטל התח

תוכן העניינים

eriktology The Prophets Book of 1 st Kings [1]

PowerPoint Presentation

Microsoft PowerPoint - Lecture1

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

מקביליות

PowerPoint Presentation

התגוננות בפני כוחות האופל

eriktology The Writings Book of Psalms [1]

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

יצוא לחשבשבת תוכן עיניינים הגדרות - חשבונות בנק...2 הגדרות - הגדרות חשבשבת... 3 הגדרות - כרטיסי אשראי... 4 הגדרות - סוגי הכנסה... 5 יצוא לחשבשבת...6 י

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

Microsoft PowerPoint - lec10.ppt

מבוא למדעי המחשב

Homework Dry 3

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

<4D F736F F D20FAE5F1F4FA20ECE7E5E5FA20E3F2FA20ECE2E1E920E3E9F1F720FAEEE5F0E5FA20E6E9F8FA20E4F8F6E72E646F63>

מצגת של PowerPoint

ה ש ל מ ת מ ש פ ט ים ש א ל ה מ ס פ ר 1: ע ד ן ש ל מ כ ב י ת ל אב יב ב כ ד ור ס ל, ו ל כ ן מ ק פ יד ל ל כ ת ה ק ב וצ ה כ ש מ ת אפ ש ר ל ו. ל מ ש ח ק י

מדריך להתקנת Code Blocks מדריך זה נועד לתאר את תהליך התקנת התוכנה של הקורס "מבוא למחשב שפת C". בקורס נשתמש בתוכנת Code::Blocks עם תוספת )אשף( המתאימה

PowerPoint Presentation

ייבוא וייצוא של קבצי אקסל וטקסט

eriktology The Writings Book of Proverbs [1]

מדריך לחיפוש במאגר JCR Journal Citation Reports מעודכן לדצמבר 2015 כל הזכויות שמורות לתחום היעץ, אוניברסיטת חיפה, הספריה

מבוא למדעי המחשב

.#8)* '!),$ 217):: '!),$ ,'!8$ !20/

תרגיל בית מספר 1#

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

Microsoft Word - c_SimA_MoedB2005.doc

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

פקולטה לחינוך מנהל סטודנטים Beit Berl College الكلية االكاديمية بيت بيرل 20/06/2016 י"ד/סיון/תשע"ו ייעוץ וירטואלי הרכבת מערכת )רישום לקורסים( באמצעות

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

Slide 1

Real Time College Course: Networking Duration: 90 Hours Hands-On-Training

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

PowerPoint Presentation

מבוא למדעי המחשב

תוכן העניינים

Microsoft Word - Instructions_JavaEE_2011A_Uri_Shamay.doc

ביה"ס היסודי ע"ש יצחק רבין, נשר

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

PowerPoint Presentation

מיכפל

ISI

29 מאי 2019 לכבוד המשתתפים שלום רב, הנדון: מכרז פומבי מס' 3213/2019 לתכנון, הספקת והתקנת ציוד לאולפן צילום TAU ONLINE בבניין נזריאן בקמפוס אוניברסיטת

תמליל:

החיים ה מקו וני ם Networking הרצאה מספר 14 היום בהרצאה החומר היום אינו למבחן, אבל חיוני לפרויקט הסיום תקשורת בין מחשבים TCP/UDP תקשורת פרוטוקול HTTP ושימושיו?Servlets מהם הסבר על פרויקט הסיום 2 תקשורת בין מחשבים תקשורת בין מחשבים 4 3 עד כה דיבר נו על תוכ נות עצמאיות הכתובות ב- Java אז מה דרוש ב ש ביל ש שתי יש ויות ידברו אחת עם השנייה? שם מז הה ער וץ תקש ו רת שם מז הה ישנן דוגמאות רבות לתוכנות הדורשות קשר עם גורם חיצוני התחברות למסד נתונים חיצוני (לאו דוקא באותו מחשב) התחברות לתוכנה אחרת על מנת לקבל שירות טעינת קוד ממיקום מרוחק (למשל מהאינטרנט) שרת באינטרנט המכין תוכן דינאמי בהתאם לבקשה כמה עותקים של אותה תוכנה משתפים פעולה ברשת האינטרנט כתובות ושירותים staredu 192556 פרוטוקול האינטרנט (IP) מגדיר כתובות לכל מחשב המחובר לרשת/לאינטרנט יש כתובת הכתובת מאפשרת לרשת למצוא את המחשב הכתובת הינה 32 bit unsigned integer 192525252 בנוסף, ניתן לתת שם סימבולי, כגון wwwgooglecom שרתים הנקראים (Domain Name Server) DNS מתרגמים שמות סימבוליים לכתובות אינטרנט האם זה מספיק? flowerorg 192554 רו צ ה לה תח בר ל שי ר ות ספ צ י פי א יז ה שי ר ות? 6 5

כתובות ושירותים ערוצי תקשורת כשנרצה שירות מסוים, (number מספרי שירותים הם בין 0 ל- 65535 ישנם שירותים רבים המוגדרים כבר flowerorg 192554 נוסיף לכתובת הרצויה גם מספר שירות ) Port 23 רוצה להתחבר לשירות ספציפי א יז ה שי ר ות? כעת אנו יודעים למצוא אחד את השני אבל מה עם שפה משותפת? @#$$#@ 123331 @@#$#!^^ 34 :o) ער וץ תקש ו רת גכעןגכעןנ דגכ דגכש שדג שדג staredu 192556 Http: 80 Ftp: 21 Email: 25 Telnet: 8 7 ערוצי תקשורת UDP תקשורת לא אמינה ישנם שני פרוטוקולים ראשיים לתקשורת המוגדרים ברשתות IP TCP המאפשר יצירת קשר יציב בין שתי מכונות והחלפת מידע בצורה סינכרונית UDP שליחת חבילות מידע קטנות ממחשב למחשב MULTICAST UDP שליחת הודעה לקבוצה גדולה של מחשבים פרוטוקול הבנוי על גבי פרוטוקול האינטרנט הבסיסי חבילה נשלחת, אין וודאות שתגיע ליעדה לא מקבלים אישור שחבילה ששלחת הגיעה לא מקבלים הודעה אם החבילה נאבדה או נזרקה החבילות לאו דווקא מגיעות בסדר מסוים החבילות עלולות להיזרק לפח אם הרשת עמוסה מק בל שו לח 10 9 מודל ה- Sockets TCP תקשורת אמינה פרוטוקול אמין הבנוי על גבי בסיס לא אמין מאפשר זרימה דו-כיוונית של מידע משתמש במספרי הודעות ושליחות מחדש כדי לוודא שחבילות אומנם מגיעות ומגיעות לפי הסדר יש הודעה אם הייתה תקלה בתקשורת הפשטה בתוכנה של תקשורת על גבי רשת בין שני מחשבים (שתי ישויות) הפשטה חזקה דיה להתמודד כמעט עם כל פרוטוקול תקשורת (אך משתמשים בה בעיקר עבור פרוטוקולי (IP יש מימוש של Sockets כמעט בכל מערכת הפעלה ושפת תכנות 12 11

מודל ה- Sockets אז מה זה?HTTP Hyper Text Transfer Protocol HTTP השרת מאזין על שירות( PORT ) מסוים, לכל לקוח שרוצה להתחבר כשמגיעה בקשה מלקוח נוצר ללקוח ולשרת Socket וביניהם נפתח ערוץ תקשורת על גבי ערוץ זה כעת אפשר לתקשר סינכרונית בקש ת ה תח בר ו ת שייך למשפ חה של פרוטו קולים שיו שבי ם שכ בה מעל ו- UDP TCP הפרוטוקול העיק רי ברשת האינט רנט תקשורת בין דפדפן האינטרנט לשרתים ברשת מספר שירות עיקרי: 80 ער וץ תקש ו רת 14 13 לק וח שרת אז מה זה?HTTP אז מה זה?HTTP מחכה לבקשות על Port 80 HTTP שרת בהינתן בקשה, השרת מחזיר תשובה בעצם קובץ מחכה לבקשות על Port 80 HTTP שרת בהינתן בקשה, השרת מחזיר תשובה בעצם קובץ URL (Uniform Resource Locator) מש תמ ש מק ל יד כת ו בת אי נ טר נט השרת של GOOGLE מטפל בבקשה מייצג משאב כלשהוא ברשת, דף אינטרנט, קובץ, שירות כלשהוא 16 15 מחז יר ד ף HTML המ ו צג בד פדפ ן פרוטוקול ה- HTTP URL 18 17 1 2 3 4 מורכב מהחלקים הבאים פרוטוקול File) (Http, Ftp, כתובת או שם מספר שירות (Port) אופציונלי מידע ייחודי לפרוטוקול פרוטוקול מורכב וגדול י חסית http://wwww3org/protocols/ הגדרה מלאה: שני שירותים עיקריים GET POST מטרת השירותים פשוטה, בהינתן,URL החזר קובץ (בד"כ דף אינטרנט) 1 2 4 http://wwwflickrcom/photos/tjt195/220510703/ http://wwwgooglecoil/search?hl=iw&q=cow&btn&meta=

אבל לא דיברנו על Java Client connects to server on port 80 GET /~pugh/indexhtml HTTP/10 blank line Server responses with HTTP headers HTTP/11 200 OK Date: Mon, 20 Feb 2006 03:47:44 GMT Server: Apache Last-Modified: Wed, 15 Feb 2006 01:17:09 GMT ETag: "9b2b1c-948-1222af40" Accept-Ranges: bytes Content-Length: 2376 Connection: close Content-Type: text/html; charset=iso-8859-1 Followed by blank line, then contents of response GET 19 אז מה ג'אווה נותן? טעינת מחלקות מרוחקות Loaded class (can now create instances) Local Java program Local JVM Request remote class to load (URL) Bytecode UrlClassLoader - טעינה של מחלקות מרוחקות javarmi - הפעלה של שירותים בעצמים מרוחקים (javanet) Sockets ספריית מימוש מערכת Sockets מלאה שכבה נוספת לעבודה קלה עם URL םי' ספריות שונות לעבודה כ-שרת Servlets JSP J2EE בכלליות 22 21 Sockets הפעלה מרוחקת Sockets מימוש מלא של יש ב- javanet שתי מחלקות מממשות מודל לקוח/שרת Socket מאפשר להתחבר לשרת/שירות מסוים מייצג חיבור, מאפשר לשלוח ולקבל מידע ServerSocket bind קובע IP ו- Port עליהם השרת יקשיב accept מאזין ומחכה ללקוח, כשיש חיבור מחזיר מופע של Socket Local Java program Local JVM Connect to instance of a class Receive remote reference Call methods on remote Remote Java program Remote JVM 24 23

(2) Sockets דוגמה ל- Sockets דוגמה ל- //Request the file from the server, using the HTTP protocol toserverprint("get " + filename + " HTTP/10\r\n\r\n"); toserverflush(); //Now read the server's response, assume it is a text file, and print it out for(string l = null; (l = fromserverreadline())!= null; ) Systemoutprintln(l); //Close everything down when we're done toserverclose(); fromserverclose(); sclose(); import javanet*; import javaio*; //Here's a simple client program that connects to a web server, //requests a document and reads the document from the server String hostname = "javaoreillycom"; // The server to connect to int port = 80; // Standard port for HTTP String filename = "/indexhtml"; // The file to read from the server Socket s = new Socket(hostname, port); // Connect to the server //Get I/O streams we can use to talk to the server InputStream sin = sgetinputstream(); BufferedReader fromserver = new BufferedReader(new InputStreamReader(sin)); OutputStream sout = sgetoutputstream(); PrintWriter toserver = new PrintWriter(new OutputStreamWriter(sout)); 26 25 Server-side programming URL 28 27 מחלקת עזר המאפשרת לקבל מ שאבים ע"י ש ימוש ב- URL import javanet*; מהו קוד-שרת? רכיב תוכנה שרץ על שרת לשרת לקוחות רבים (מחשב מרכזי) ותפקידו המקרה הנפוץ ביותר אתרי אינטרנט לג'אווה הרחבות שונות התומכות בכתיבת קוד לצד השרת רוב ההרחבות מוגדרות ב- J2EE : Java 2 Enterprise edition אנחנו נתמקד ב- Servlets import javaio*; //Create some URL objects URL url=null, url2=null, url3=null; try { url = new URL("http://wwworeillycom"); // An absolute URL url2 = new URL(url, "catalog/books/javanut4/"); // A relative URL url3 = new URL("http:", "wwworeillycom", "indexhtml"); {catch (MalformedURLException e) { /* Ignore this exception */ } //Read the content of a URL from an input stream InputStream in = urlopenstream(); Servlets Servlets 30 Client Client Servlet Container (Tomcat) Server Servlet Servlet 1 2 3 4 29 Servlet הוא מחלקה מופעים של מחלקה זו יודעים לטפל בבקשות המגיעות לשרת ולייצר תשובה בהקשר של Servlet,Http יודע לקבל בקשה לקובץ (בד"כ דף (HTML ולהחזיר את הקובץ המבוקש Servlet אינו תכנית Java מלאה! אין לו זכות קיום עצמאית אין לו שרות מחלקה!main לקוח (למשל דפדפן) מבקש דף אינטרנט דינאמי השרת מפענח את הבקשה ומחליט איזה Servlet יטפל בה הבקשה מועברת ל- Servlet המטפל בה ומחזיר תשובה לשרת השרת מעביר את התשובה חזרה ללקוח (הדף מוצג בדפדפן)

מחזור החיים של Servlet Servlets time The Servlet Container A Servlet Constructor (class-dependant) Servlets can be found in javaxservlet The main interface: Servlet ServletConfig init Client Client Handling clients requests ServletRequest ServletResponse service destroy interface Servlet { void init(servletconfig config); //initialize servlet void service(servletrequest req, //handle requests ServletResponse res); void destroy(); //destroy this instance } Server 32 31 כמה דוגמאות HttpServlet HTTP מנשק עזר, מתאים רק לבקשות javaxservlethttp מוגדר ב- interface HttpServlet { void service(httpservletrequest req, //processes requests & HttpServletResponse rep); //transfers to approp Method void doget(httpservletrequest req, //handle GET requests HttpServletResponse res); void dopost(httpservletrequest req, //handle POST requests HttpServletResponse res); } 34 33 עוד דוגמא פרויקט סיום http://wwwcstauacil/courses/software1/exercises/final_projecthtm 35

38 הגדרת הפרויקט מטרת הפרויקט הינה ליצור דפדפן תמונות אשר מאפשר למשתמש לבחור ספרייה על המחשב ומציג את התמונות שבה בנוסף ניתנת למשתמש האפשרות "לשתף את התמונות", ז"א להעלות סט תמונות לאתר בצורה אוטומטית (מתוך דפדפן התמונות) ולאחר מכן לראות את גלריית התמונות בדפדפן האינטרנט Firefox) (Explorer, פרטים טכניים מועד ההגשה 240906 הפרויקט יהווה 10% מהציון בקורס הפרויקט ייעשה בזוגות (בלבד) מה צריך להגיש? מסמך בן שני עמודים לפחות המתאר כיצד ניגשתם לפתרון הבעיה, תכנון החוזים וכו' קובץ ZIP ובו הקוד של הפרויקט בצורה מסודרת (עם הוראות קומפילציה אם צריך) JAR עובד ובו התכנית המקומית, וקישור לשרת בו ניתן לראות גלריות בדפדפן האינטרנט 37 חלק ראשון דפדפן תמונות חלק ראשון דרישות טכניות 40 39 המשתמש בוחר ספרייה מקומית על המחשב במנשק הגראפי מוצגות כל התמונות בספרייה זו (צלמיות - (Thumbnails ניתן ללחוץ לחיצה כפולה על תמונה ולראות אותה בגדול יותר בלחיצת כפתור ניתן לתת שם לסט התמונות הנוכחי ולשלוח אותו לשרת באינטרנט (ראה חלק שני של הפרויקט) SWT מנשק גראפי קריאת והצגת תמונות I/O Java ו/או שימוש ב- SWT Java Networking שליחת התמונות לשרת חלק שני שרת תמונות חלק שני שרת תמונות עליכם לכתוב Servlet (לפחות אחד) המספק את השירותים הבאים מקבל בקשות להצגת תמונות, הבקשה יכולה להיות בקשה להצגת כל סטים המאוחסנים על השרת, מציג את שמות הסטים, מספר תמונות בכל סט בקשה להצגת סט ספציפי (מזוהה לפי שם), מציג צלמיות (Thumbnails) של כל התמונות לחיצה על תמונה תפתח את התמונה המלאה בדף חדש עליכם לכתוב Servlet (לפחות אחד) המספק את השירותים הבאים מקבל בקשות להעלאת תמונות, כל בקשה מורכבת משם סט ומתמונה בינארית בפורמט JPG PNG או,GIF כל תמונה מאוחסנת בספרייה מקומית (על השרת) עם שם מתאים AddPicture(pic data) Web server Servlet Container 42 41

חלק שני דרישות טכניות השרותים יסופקו ע"י Servlet שתכתבו (ניתן לכתוב שניים אם אתם מעדיפים) ה - Servlet 'ים ירוצו כאן בפקולטה על שרת Tomcat התמונות המועלות ע"י המשתמש יאוחסנו בספרייה מקומית כאשר יש בקשה להצגת תמונות, ה- Servlet יכין דף אינטרנט (HTML) מעוצב להצגה בדפדפן האינטרנט הרחבת הפרויקט אתם מוזמנים להרחיב את הגדרת הפרויקט ולהוסיף יכולות נוספות נחמדות ומעניינות רעיונות ניתן לשאוב מ Flickr wwwflickrcom Google Picassa - http://picasagooglecom/ Adobe Photoshop Album וכו' 44 43 בהצלח ה!!