דע הכל על תכנות שקעים בג'אווה



תכנות Java Socket משמש לתקשורת בין היישומים הפועלים ב- JRE שונה. תכנות Java Socket יכול להיות מכוון לחיבור או ללא חיבור.

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

הנושאים הבאים מכוסים במאמר זה:





מהי תכנות שקעים בג'אווה?

תכנות שקעים היא דרך לחבר שני צמתים ברשת כדי לתקשר זה עם זה. אחד שֶׁקַע (node) מקשיב ליציאה מסוימת ב- IP, ואילו אחר שֶׁקַע מושיט יד אל האחר במטרה ליצור קשר.

def __init__

תקשורת שרת לקוחות - תכנות שקעים בג



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

עכשיו בואו נבין את מושג הליבה של Socket Programming כלומר שקע.

מהו שקע בג'אווה?

ל שֶׁקַע ב הוא נקודת סיום אחת של קישור תקשורת דו-כיווני בין שתי תוכניות הפועלות ברשת. א שֶׁקַע מאוגד למספר יציאה כך ששכבת TCP תוכל לזהות את היישום שאליו נועדו להעביר נתונים.



נקודת קצה היא שילוב של כתובת IP ומספר יציאה. החבילה בפלטפורמת Java מספקת מחלקה,שֶׁקַעהמיישמת צד אחד של חיבור דו-כיווני בין תוכנית ה- Java שלך לתוכנית אחרת ברשת. הכיתה יושבת על גבי יישום תלוי פלטפורמה, ומסתיר את הפרטים של כל מערכת מסוימת מתוכנית ה- Java שלך. על ידי שימוש בכיתה במקום להסתמך על קוד מקורי, שלך יכול לתקשר דרך הרשת בצורה בלתי תלויה בפלטפורמה.

עכשיו, כשתדעו, מה זה Socket בג'אווה, בואו נתקדם הלאה ונבין איך הלקוח מתקשר עם השרת ואיך השרת מגיב בחזרה.

תכנות בצד הלקוח

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

על מנת ליזום בקשת לקוחות, עליכם לבצע את השלבים הבאים:

1. ליצור חיבור

הצעד הראשון הוא ליצור חיבור שקעים. חיבור שקע מרמז כי לשתי המכונות יש מידע על מיקום הרשת (כתובת ה- IP) זו של זו ועל יציאת ה- TCP.

אתה יכול ליצור שקע בעזרת הצהרה למטה:

שקע שקע = שקע חדש (“127.0.0.1”, 5000)

  • כאן, הטיעון הראשון מייצג את כתובת ה- IP של השרת .

  • הטיעון השני מייצג את יציאת TCP . (זהו מספר המייצג איזה יישום אמור לפעול בשרת.)

2. תקשורת

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

3. סגירת הקשר

חיבור השקע נסגר במפורש לאחר שליחת ההודעה לשרת.

עכשיו בואו נראה איך כותבים תוכנית Java ליישום חיבור שקעים בצד הלקוח.

// תוכנית Java עבור ייבוא ​​ClientSide java.net. * ייבוא ​​java.io. * מחלקה ציבורית ClientProgram {// אתחול שקעים וזרמי פלט קלט שקע שקע פרטי = null פרטי DataInputStream קלט = null פרטי DataOutputStream out = null // בונה לשים כתובת ip ולנמל לקוח ציבורי (כתובת מחרוזת, יציאת int) {// ליצור חיבור נסה {socket = שקע חדש (כתובת, יציאה) System.out.println ('מחובר') // לוקח קלט מקלט מסוף = DataInputStream חדש (System.in) // שולח פלט לשקע out = DataOutputStream חדש (socket.getOutputStream ())} לתפוס (UnknownHostException u) {System.out.println (u)} לתפוס (IOException i) {System.out .println (i)} // מחרוזת לקריאת הודעה מהקלט שורה מחרוזת = '// המשך לקרוא עד שהקלט 'Over' בזמן (! line.equals ('Over')) {נסה {line = input.readLine ( ) out.writeUTF (line)} לתפוס (IOException i) {System.out.println (i)}} // סגור את החיבור נסה {input.close () out.close () socket.close ()} לתפוס (IOException אני ) {System.out.println (i)}} ראשי ריק סטטי ציבורי (ארגומנטים מחרוזת []) {לקוח לקוח = לקוח חדש ('127.0.0.1', 5000)}}

עכשיו, בואו נפעיל תכנות בצד השרת ואז נגיע לפלט.

מה זה jframe בג'אווה

תכנות בצד השרת

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

כדי לקודד את היישום בצד השרת, אתה צריך שני שקעים והם כדלקמן:

  • ל ServerSocket שמחכה לבקשות הלקוח (כאשר לקוח יוצר שקע חדש ())

  • ישן רגיל שֶׁקַע לתקשורת עם הלקוח.

אחרי זה, אתה צריך לתקשר עם הלקוח עם התגובה.

תִקשׁוֹרֶת

getOutputStream () השיטה משמשת לשליחת הפלט דרך השקע.

סגור את החיבור

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

עכשיו בואו נראה איך כותבים תוכנית Java ליישום חיבור שקעים בצד השרת.

קוד לדוגמא של פיתון רגרסיה לוגיסטית
// תוכנית Java עבור ייבוא ​​Serverside java.net. * ייבא java.io. * ServerSide בכיתה ציבורית {// אתחל שקע וזרם קלט שקע שקע פרטי = null שרת ServerSocket = null פרטי DataInputStream ב = null // בנאי עם נמל שרת ציבורי (int port) {// מפעיל שרת ומחכה לחיבור נסה {server = ServerSocket חדש (יציאה) System.out.println ('השרת התחיל') System.out.println ('מחכה ללקוח .. . ') socket = server.accept () System.out.println (' לקוח מתקבל ') // לוקח קלט משקע הלקוח ב- = DataInputStream חדש (BufferedInputStream חדש (socket.getInputStream ())) קו מחרוזת =' '/ / קורא הודעה מהלקוח עד שנשלח 'Over' תוך כדי (! line.equals ('Over')) {נסה {line = in.readUTF () System.out.println (line)} לתפוס (IOException i) {System. out.println (i)}} System.out.println ('סוגרים חיבור') // סגור שקע חיבור. close () in.close ()} לתפוס (IOException i) {System.out.println (i)}} סטטי ציבורי ריק ריק (מחרוזת טוענת []) { שרת שרתים = שרת חדש (5000)}}

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

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

2. לאחר מכן, הלקוח יתחבר ויכניס את הבקשה בצורה של מחרוזת.

3. כאשר הלקוח ישלח את הבקשה, השרת יגיב בחזרה.

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

זה מביא אותנו לסוף המאמר על תכנות שקעים בג'אווה. אני מקווה שזרקתי קצת אור לידע שלך תכנות שקעים.

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

יש לך שאלה עבורנו? אנא הזכיר זאת במדור ההערות במאמר זה 'תכנות שקעים בג'אווה' ונחזור אליך בהקדם האפשרי.