GGTalk เป็นเวอร์ชันจำลองระดับสูงของ QQ รวมถึงไคลเอ็นต์และเซิร์ฟเวอร์ ซึ่งสามารถนำไปใช้งานและใช้ใน WAN ได้ เป็นระบบส่งข้อความโต้ตอบแบบทันทีที่พัฒนาโดยใช้ .net ฉันต้องการเขียนบทความแบบสรุป ผ่านบทความนี้ ทุกคนสามารถเข้าใจภาพรวมและความคืบหน้าล่าสุดของ GG และคำตอบสำหรับคำถามทั่วไปบางส่วนก็สรุปไว้ที่นี่ด้วย
สำหรับฉันเป็นการส่วนตัวแล้ว เป้าหมายของฉันไม่ใช่การสร้างของเล่น QQ เวอร์ชันที่เลียนแบบได้สูง แต่เพื่อสร้างผลิตภัณฑ์ที่สามารถใช้งานได้จริง (กระบวนการนี้ยังมีหนทางอีกยาวไกล) และดูแลรักษามันต่อไป .
1. ฟังก์ชั่นที่นำไปใช้
(01) ลงทะเบียน เข้าสู่ระบบ เพิ่มเพื่อน และรายชื่อเพื่อน
(02) อวาตาร์เซลฟี่
(03) การแชทด้วยข้อความ, การตั้งค่าแบบอักษร, การแสดงออกแบบไดนามิก GIF, การสั่นของหน้าต่าง, ภาพหน้าจอ, แผ่นเขียนด้วยลายมือ, สถานะการเข้าสู่ระบบ (ออนไลน์, ไม่อยู่, ไม่ว่าง, ห้ามรบกวน, มองไม่เห็น), การแจ้งเตือนการป้อนข้อมูล
(04) ฟังก์ชั่นกลุ่ม: สร้างกลุ่ม, เข้าร่วมกลุ่ม, ออกจากกลุ่ม, แชทกลุ่ม
(05) การถ่ายโอนไฟล์, การถ่ายโอนโฟลเดอร์ (รองรับการถ่ายโอนประวัติเบรกพอยต์)
(06) แชทด้วยเสียงและวิดีโอแชท
(07) ดิสก์ระยะไกล
(08) ความช่วยเหลือระยะไกล
(09) เดสก์ท็อปที่ใช้ร่วมกัน (คุณสามารถระบุพื้นที่เดสก์ท็อปที่จะแชร์ได้)
(10) P2P ที่เชื่อถือได้
(11) ดิสก์เครือข่าย
(12) ข้อความออฟไลน์
(13) ไฟล์ออฟไลน์
(14) การกะพริบของถาด: เหมือนกับ QQ ทุกประการ เมื่อได้รับข้อความ ถาดจะกะพริบอวตารของเพื่อนที่เกี่ยวข้อง คลิกที่รูปประจำตัว แล้วกล่องแชทกับเพื่อน ๆ จะปรากฏขึ้น
(15) รายชื่อผู้ติดต่อล่าสุด
(16) การตั้งค่าระบบ: การเริ่มต้นอัตโนมัติเมื่อบูต ดัชนีอุปกรณ์ไมโครโฟน ดัชนีอุปกรณ์กล้อง ไม่ว่าจะปิดโปรแกรมหรือซ่อนหน้าต่างเมื่อหน้าต่างหลักถูกแยก
(17) บันทึกการแชท: รองรับสองวิธีในการบันทึกภายในและการบันทึกฝั่งเซิร์ฟเวอร์
(18) กลุ่มเพื่อน: เพิ่ม/ลบกลุ่ม แก้ไขชื่อกลุ่ม และเปลี่ยนกลุ่มที่เพื่อนอยู่
(19) เมื่อหน้าต่างแชทเปิดขึ้น ประโยคสุดท้ายของการสนทนาครั้งล่าสุดจะปรากฏขึ้นโดยอัตโนมัติ
(20) การแจ้งเตือนการป้อนข้อมูล: เช่นเดียวกับ QQ เมื่ออีกฝ่ายกำลังพิมพ์ข้อความ กล่องแชทที่ด้านข้างของฉันเห็นข้อความแจ้ง "พิมพ์" ของอีกฝ่าย
(21) การบันทึกอัตโนมัติ: GG2014 จะบันทึกตำแหน่งและขนาดของอินเทอร์เฟซหลักที่เปิดล่าสุดโดยอัตโนมัติ ขนาดของหน้าต่างแชทที่เปิดล่าสุด สีและขนาดตัวอักษรที่ตั้งไว้ล่าสุด ฯลฯ
(22) แบบฟอร์มหลักจะถูกซ่อนไว้ด้านข้างโดยอัตโนมัติ
(23) บันทึกวิดีโอแชท
2. ฟังก์ชั่นที่จะนำไปใช้ในอนาคต
(1) เพิ่มการสนับสนุนความเพียร
(2) การประชุมทางวิดีโอ
3.สภาพแวดล้อมการพัฒนา GGTalk
สภาพแวดล้อมการพัฒนา: VS2010, ภาษาการพัฒนา: C#, .NET Framework: 2.0
เมื่อปรับใช้ไคลเอนต์ เครื่องไคลเอนต์จำเป็นต้องติดตั้งรันไทม์ VC++ 2008 และรันไทม์ VC++ 2010 ด้วย
4. คำแนะนำที่เกี่ยวข้องกับ GGTalk
1. หากคุณต้องการปรับใช้ GG กับ WAN คุณสามารถตั้งค่าพอร์ตการฟังในไฟล์การกำหนดค่าของเซิร์ฟเวอร์ และในไฟล์การกำหนดค่าของไคลเอ็นต์ คุณสามารถระบุ IP และพอร์ตของเซิร์ฟเวอร์ได้
2. ฐานข้อมูลเสมือน
(1) เพื่อให้การใช้งานและการทดสอบง่ายขึ้น GG ไม่ได้ใช้ฐานข้อมูลทางกายภาพจริง แต่จำลองฐานข้อมูลในหน่วยความจำ (เช่น คลาส VirtualDB บนฝั่งเซิร์ฟเวอร์) เพื่อจัดเก็บข้อมูลการลงทะเบียนผู้ใช้ ความสัมพันธ์ของเพื่อน ข้อมูลกลุ่ม ฯลฯ
(2) GG มีผู้ใช้ในตัวหลายคน: 10,000, 10001, 10002, 10003 และรหัสผ่านเข้าสู่ระบบของพวกเขาทั้งหมดเป็น "1"
(3) ผู้ใช้ที่สร้างใน GG ล้วนเป็นเพื่อนกัน
(4) GG มีสองกลุ่มในตัว: G001 และ G002 กลุ่ม G001 ประกอบด้วยผู้ใช้ทดสอบในตัวทั้งหมด และกลุ่ม G002 ประกอบด้วยผู้ใช้สองคน คือ 10,000 และ 10,001
(5) ข้อมูลในตัวข้างต้นถูกตั้งค่าในตัวสร้างของคลาส VirtualDB
3. สามารถระบุการเลือกไมโครโฟนและกล้องได้ในหน้าต่างการตั้งค่าระบบไคลเอนต์ (SystemSettingForm)
4. เสียงและวิดีโอ: เพื่อนหลายคนยังถามว่าทำไมอุปกรณ์เสียงและวิดีโอทำงานไม่ถูกต้อง หรือเสียงและวิดีโอไม่ราบรื่น สำหรับสิ่งนี้ คุณสามารถอ้างถึงเอกสารอย่างเป็นทางการของ OMCS ได้โดยตรง: กล้อง ไมโครโฟน ลำโพง อุปกรณ์ ทดสอบข้อกำหนดแบนด์วิธ
5. หมายเหตุพิเศษ: ในโปรเจ็กต์ GG ตราบใดที่โค้ดที่ฉันเขียนถูกเผยแพร่ รหัสทั้งหมดก็จะถูกปล่อยออกมา โปรดอย่าถามฉันถึงซอร์สโค้ดอื่นหากคุณต้องการให้ dll ทุกตัวมีซอร์สโค้ด :)