การแข่งขันระหว่างเบราว์เซอร์ที่แตกต่างกันมานานหลายปีส่งผลให้มีการสร้างเครื่องมือมากมายเพื่อช่วยให้นักพัฒนาทำงานที่เมื่อก่อนทำได้ยากให้สำเร็จ ขณะนี้ ด้วยสคริปต์เพียงเล็กน้อย คุณสามารถสร้างแอปพลิเคชันที่เชื่อมโยงข้อมูลเข้ากับการควบคุมผู้ใช้ เพื่อที่จะสื่อสารกับเซิร์ฟเวอร์ผ่านการควบคุมประเภทพร็อกซีที่ฝังไว้
ใน Internet Explorer (IE) สิ่งเหล่านี้รวมถึงเกาะข้อมูล XML และออบเจ็กต์ XMLHTTP ใช้เพื่อผูกข้อมูลเข้ากับองค์ประกอบฟอร์ม ใช้เพื่อสร้างการเชื่อมต่อไปยังเซิร์ฟเวอร์ภายในเพจปัจจุบันโดยไม่ต้องนำทางไปยังเพจอื่น และการโทรแบบอะซิงโครนัส ฉันจะใช้คุณสมบัติที่ใช้งานง่ายทั้งสองนี้เพื่อสร้างแอปพลิเคชันแชทแบบง่าย ซึ่งประกอบด้วยเพจ ASP บางเพจที่ทำหน้าที่เป็น UI, JavaScript เพื่อใช้ฟังก์ชันไคลเอ็นต์ และ T-SQL เพื่อทำให้ตรรกะทางธุรกิจสมบูรณ์ใน SQL Server 2000
ลูกค้าและเซิร์ฟเวอร์สื่อสารโดยใช้ XML หลังจากที่เว็บเซิร์ฟเวอร์ได้รับก้อนข้อความ ก้อนข้อความจะถูกผนวกเข้ากับตารางข้อความที่มีการประทับเวลาใน SQL Server ขึ้นอยู่กับช่วงเวลาที่กำหนดไว้ล่วงหน้า ไคลเอนต์จะขอข้อมูลที่อัปเดตจากเซิร์ฟเวอร์ รวมถึงรายการข้อความและรายชื่อผู้ใช้ออนไลน์ที่ต่อท้ายฐานข้อมูลตั้งแต่ครั้งสุดท้ายที่ร้องขอข้อมูลจากเซิร์ฟเวอร์
ลูกค้าจะส่งวัตถุ XMLHTTP ไปยังเซิร์ฟเวอร์ การดำเนินการนี้เป็นการร้องขอให้รีเฟรชข้อความและรายชื่อผู้ใช้ หรือการส่งข้อความใหม่ การดำเนินการเหล่านี้ถูกจัดเก็บไว้ในตารางที่เรียกว่า ACTIONS เซิร์ฟเวอร์จะตอบสนองต่อคำขอที่เกี่ยวข้องหรือยอมรับข้อความใหม่และต่อท้ายตารางข้อความ
เมื่อเซิร์ฟเวอร์ตอบสนองต่อคำขอข้อความ เซิร์ฟเวอร์จะส่งคืนรายการข้อความใหม่ทั้งหมดนับตั้งแต่คำขอครั้งล่าสุด เพื่อติดตามกิจกรรมของลูกค้า ฉันใช้ตารางกิจกรรมที่มีวันที่และเวลาของกิจกรรมของลูกค้า
ต่อไปนี้เป็นสคริปต์สำหรับสร้างตาราง:
การดำเนินการข้อมูลทั้งหมดจะเสร็จสิ้นผ่านขั้นตอนการจัดเก็บ การเชื่อมต่อข้อมูลทั้งหมดจะทำผ่าน COM ทั่วไปที่ทำหน้าที่เป็นผู้ประสานงานระหว่างเว็บเซิร์ฟเวอร์และ SQL Server 2000 วัตถุ COM แสดงวิธีการ RunSPReturnStream ที่ฉันต้องการใช้ พารามิเตอร์แรกของเมธอดนี้คือชื่อของกระบวนงานที่เก็บไว้ และพารามิเตอร์ตัวที่สองคืออาร์เรย์ของอาร์เรย์พารามิเตอร์ อาร์เรย์พารามิเตอร์เป็นอาร์เรย์อย่างง่ายในรูปแบบต่อไปนี้: (paraName, paramType, paramLength, paramValue) paramType เป็นหนึ่งในการแจงนับประเภทพารามิเตอร์ ADO เพจ ASP มีหน้าที่รับผิดชอบในการยอมรับการดำเนินการและสร้างการตอบกลับ ฉันจะเรียกมันว่า HandleAction.asp
หน้าแชทจะมีพื้นที่สำหรับแสดงข้อความแชท พื้นที่นี้เป็นตารางที่อยู่ภายใน DIV ตารางนี้ถูกผูกไว้กับเกาะข้อมูล xmlMessages XML พื้นที่อื่นแสดงผู้ใช้ปัจจุบัน พื้นที่นี้ยังเป็น TABLE ที่มีอยู่ใน DIV ซึ่งเชื่อมโยงกับเกาะข้อมูล xmlUsers นอกจากนี้ยังมี TEXTAREA ให้ผู้ใช้ป้อนข้อความ