ซอร์สโค้ดโปรแกรมห้องสนทนา Java
2 การวิเคราะห์ความต้องการ
2.1 ความต้องการทางธุรกิจ
1. สนทนากับสมาชิกห้องสนทนา
2. คุณสามารถสนทนาแบบส่วนตัวกับสมาชิกห้องสนทนาได้
3. คุณสามารถเปลี่ยนรูปแบบเนื้อหาแชทได้
4. การลงทะเบียนผู้ใช้ (รวมถึงรูปประจำตัว) และการเข้าสู่ระบบ
5. เซิร์ฟเวอร์ตรวจสอบเนื้อหาแชท
6. เซิร์ฟเวอร์กรองเนื้อหาที่ผิดกฎหมาย
7. เซิร์ฟเวอร์ส่งการแจ้งเตือน
8. เซิร์ฟเวอร์เตะคน
9. บันทึกบันทึกเซิร์ฟเวอร์
10. บันทึกข้อมูลการแชทของผู้ใช้
2.2 โมดูลฟังก์ชั่นระบบ
2.2.1 ฝั่งเซิร์ฟเวอร์
1. ดำเนินการลงทะเบียนผู้ใช้
2. จัดการการเข้าสู่ระบบของผู้ใช้
3. ประมวลผลข้อมูลที่ส่งโดยผู้ใช้
4. ประมวลผลข้อมูลที่ผู้ใช้ได้รับ
5. จัดการทางออกของผู้ใช้
2.2.2 ลูกค้า
1. ส่วนต่อประสานการลงทะเบียนผู้ใช้และผลลัพธ์
2. ส่วนต่อประสานการเข้าสู่ระบบของผู้ใช้และผลลัพธ์
3. ผู้ใช้ส่งข้อมูลอินเทอร์เฟซและผลลัพธ์
4. ผู้ใช้ได้รับอินเทอร์เฟซข้อมูลและผลลัพธ์
5. ส่วนต่อประสานผู้ใช้และผลลัพธ์
2.3 สภาพแวดล้อมการทำงานที่ต้องการประสิทธิภาพ: Windows 9x, 2000, xp, 2003, Linux
สภาพแวดล้อมที่จำเป็น: JDK 1.5 หรือสูงกว่า สภาพแวดล้อมฮาร์ดแวร์: CPU 400MHz หรือสูงกว่า, หน่วยความจำ 64MB หรือสูงกว่า
3.1.2 โครงสร้างลูกค้า
ChatClient.java เป็นคลาสเริ่มต้นโปรแกรมไคลเอนต์และรับผิดชอบการเริ่มต้นและออกจากไคลเอนต์
Login.java คืออินเทอร์เฟซการเข้าสู่ระบบโปรแกรมไคลเอนต์ รับผิดชอบในการตรวจสอบและตอบกลับข้อมูลบัญชีผู้ใช้
Register.java คืออินเทอร์เฟซการลงทะเบียนโปรแกรมไคลเอนต์ ซึ่งรับผิดชอบในการตรวจสอบการลงทะเบียนและการตอบกลับข้อมูลบัญชีผู้ใช้
ChatRoom.java เป็นอินเทอร์เฟซหลักของห้องสนทนาโปรแกรมไคลเอนต์ รับผิดชอบในการรับและส่งเนื้อหาแชท และร่วมมืออย่างใกล้ชิดกับ Connection.java ฝั่งเซิร์ฟเวอร์
Windowclose เป็นคลาสภายในของ ChatRoom.java ซึ่งรับผิดชอบในการตรวจสอบการทำงานของอินเทอร์เฟซห้องสนทนาและส่งคืนข้อมูลไปยังเซิร์ฟเวอร์เมื่อผู้ใช้ออก
Clock.java เป็นโปรแกรมขนาดเล็กของโปรแกรมไคลเอนต์ที่ใช้ฟังก์ชันนาฬิกาควอทซ์
3.2 หลักการนำระบบไปใช้
เมื่อผู้ใช้กำลังสนทนา ชื่อผู้ใช้ปัจจุบัน ออบเจ็กต์การแชท เนื้อหาการแชท เสียงการแชท และการแชทแบบส่วนตัวจะถูกห่อหุ้มหรือไม่ จากนั้นการเชื่อมต่อซ็อกเก็ตจะถูกสร้างขึ้นกับเซิร์ฟเวอร์ จากนั้นสตรีมเอาต์พุตของออบเจ็กต์จะถูกใช้เพื่อตัดเอาต์พุตของซ็อกเก็ต สตรีมเพื่อส่งออบเจ็กต์ข้อมูลแชทไปยังเซิร์ฟเวอร์ เมื่อผู้ใช้ส่งข้อความแชท เซิร์ฟเวอร์จะได้รับออบเจ็กต์ข้อความแชทที่ส่งโดยไคลเอนต์โดยใช้ซ็อกเก็ต จากนั้นแปลงเป็นออบเจ็กต์แชท และเพิ่มออบเจ็กต์ข้อความแชทของผู้ใช้ ไปยังชุดข้อความแชทเพื่อให้ผู้ใช้แชททุกคนสามารถเข้าถึงได้
การรับข้อมูลการแชทของผู้ใช้นั้นถูกนำไปใช้โดยเทคโนโลยีมัลติเธรด เนื่องจากไคลเอนต์จะต้องใส่ใจเสมอว่ามีข่าวสารล่าสุดบนเซิร์ฟเวอร์การอัพเดทหรือไม่ ในโปรแกรมนี้จะถูกตั้งค่าให้รีเฟรชเซิร์ฟเวอร์ทุกๆ 3 วินาที สั้นเกินไปจำนวนลูกค้าจะเพิ่มขึ้น ภาระการสื่อสารระหว่าง end และ server และช่วงเวลาที่ยาวนานจะทำให้ผู้คนรู้สึกว่าไม่ตรงเวลา ดังนั้น หลังจากชั่งน้ำหนักแล้ว 3 วินาทีถือว่าดีที่สุดเพราะเป็น เป็นไปไม่ได้ที่ผู้ใช้ทุกคนจะส่งข้อมูลอย่างต่อเนื่องภายใน 3 วินาที
แต่ละครั้งที่ผู้ใช้ได้รับข้อความแชท ข้อความแชทจะถูกวิเคราะห์และข้อมูลที่เหมาะสมสำหรับเขาหรือเธอจะแสดงบนอินเทอร์เฟซข้อความแชทในลักษณะที่มีมนุษยธรรม
4.1.1 คำชี้แจงปัญหา
1. ยอมรับข้อมูลการลงทะเบียนผู้ใช้และบันทึกลงในฐานข้อมูลออบเจ็กต์แบบไฟล์
2. สามารถอนุญาตให้ผู้ใช้ที่ลงทะเบียนเข้าสู่ระบบอินเทอร์เฟซแชทและแชทได้
3. สามารถรับข้อความส่วนตัวและส่งถึงผู้ใช้เฉพาะรายได้
4. เซิร์ฟเวอร์กำลังทำงานบนพอร์ตที่กำหนดเอง #1001
5. เซิร์ฟเวอร์ตรวจสอบรายชื่อผู้ใช้และข้อมูลการแชทของผู้ใช้ (ยกเว้นการแชทส่วนตัว)
6. เซิร์ฟเวอร์เตะคนและส่งการแจ้งเตือน
7. เซิร์ฟเวอร์จะบันทึกบันทึก
บทความนี้กล่าวถึงวิธีการใช้เทคโนโลยี Java ในการพัฒนาระบบห้องสนทนา ซึ่งโดยพื้นฐานแล้วตรงตามลักษณะของโครงสร้าง อินเทอร์เฟซที่เป็นมิตร ความเร็วที่รวดเร็ว ความปลอดภัย และความเสถียร
ระบบมุ่งเน้นไปที่การวิจัยและการใช้งานในส่วนของแอปพลิเคชันเครือข่าย จากการใช้งานพบว่ามีเอฟเฟกต์การสร้างอินเทอร์เฟซการแชทที่เป็นมิตรและเอฟเฟกต์การสื่อสารเครือข่ายที่ราบรื่น ห้องสนทนาที่สร้างขึ้นสามารถตอบสนองความต้องการการแชทขั้นพื้นฐานและมีมูลค่าการวิจัยสูง
ระบบมีฟังก์ชั่นพื้นฐานของห้องแชทปัจจุบัน: รวมถึงการสนับสนุนหลายอวาตาร์, สีคำ, การเลือกโทน, รองรับอิโมติคอน, รองรับการแชทส่วนตัว, รองรับการค้นหาเพื่อนในแชทออนไลน์, รองรับการแสดงแบบแยกหน้าจอ, รองรับผู้ใช้ ปรับแต่งอวตารส่วนตัวของตนเอง และรองรับการกรองคำสาบาน รองรับการแชทแบบแขก บล็อกคนที่คุณเกลียดและส่งข้อความสาธารณะถึงเพื่อนแชทของคุณ มีลักษณะของความเร็วที่รวดเร็ว ความเสถียรสูง ใช้ทรัพยากรระบบน้อยลง และอินเทอร์เฟซผู้ใช้ที่เป็นมิตร
จากโครงการสำเร็จการศึกษา ฉันพบว่าความสามารถในการวิจัยทางทฤษฎีและภาคปฏิบัติของฉันได้รับการปรับปรุงให้ดีขึ้น และฉันก็ได้รับประโยชน์มากมาย ในเวลาเดียวกันด้วยคำแนะนำของครูและความช่วยเหลือร่วมกันของเพื่อนร่วมชั้นในกลุ่มวิจัย ฉันสามารถสรุปผลการวิจัยได้ทันท่วงที ซึ่งไม่ต้องสงสัยเลยว่าจะช่วยงานและการศึกษาของฉันได้มากในอนาคต
ขยาย