- เครดิต
- 59
- เพื่อน
- ทักทาย
- บล็อก
- อัลบั้ม
- โพสต์
- กระทู้
- แชร์
- สำคัญ
- สิทธิ์อ่าน
- 10
- จำนวนผู้ติดตาม
- จำนวนผู้กำลังติดตาม
- เพศ
- ไม่บอก
|
แก้ไขครั้งสุดท้าย 2012-4-26 13:27 โดย sureV
ขั้นแรก เราจะต้องรู้ก่อนว่าหมายเลขคำสั่งทั้งหมด มีอะไรบ้าง
อ้างอิงจาก DXE.Core เวอร์ชั่น 1.0
DXE.Core.Client ฟังก์ชั่นฝั่ง Client
1.) DXE.Core.Client.Handle(1,"API Key",null) = การกำหนด API Key ให้กับฝั่ง Client เพื่อให้ Library ทำงาน
2.) DXE.Core.Client.Handle(2,1,null) = การตรวจสอบความพร้อมของ API ระบบฝั่ง Client จะโยนค่ากลับเป็น...
(string)1 = ปรกติ ใช้งานได้
(string)2 = เกิดข้อผิดพลาด API ไม่พร้อมใช้งาน
(string)-1 = เกิดข้อผิดพลาดในกรณีอื่นๆ ที่ไม่คาดคิด
3.) DXE.Core.Client.Handle(3,"uid",null) = รับลิงค์รูป Avatar แบบเล็ก ขนาด 48x48 โดยใส่ uid เป็นตัวเลข (ที่อยู่ในแบบสตริง) ลงไป
4.) DXE.Core.Client.Handle(4,"uid",null) = รับลิงค์รูป Avatar แบบกลาง ขนาด 120x120 โดยใส่ uid เป็นตัวเลข (ที่อยู่ในแบบสตริง) ลงไป
5.) DXE.Core.Client.Handle(5,"uid",null) = รับลิงค์รูป Avatar แบบใหญ่ ขนาด 200x200 โดยใส่ uid เป็นตัวเลข (ที่อยู่ในแบบสตริง) ลงไป
DXE.Core.Server ฟังก์ชั่นฝั่ง Server
1.) DXE.Core.Server.Handle(1,"API Key",null) = การกำหนด API Key ให้กับฝั่ง Server เพื่อให้ Library ทำงาน
2.) DXE.Core.Server.Handle(2,1,null) = การตรวจสอบความพร้อมของ API ระบบฝั่ง Server จะโยนค่ากลับเป็น...
(string)1 = ปรกติ ใช้งานได้
(string)2 = เกิดข้อผิดพลาด API ไม่พร้อมใช้งาน
(string)-1 = เกิดข้อผิดพลาดในกรณีอื่นๆ ที่ไม่คาดคิด
3.) DXE.Core.Server.Handle(3,"username,"password") = ล็อกอิน โดยกำหนด username และ pass เป็นสตริง จะโยนค่ากลับเป็น...
(string)1 = ล็อกอินสำเร็จ Username และ Pass ถูกต้อง
(string)2 = ล็อกอินผิดพลาด Username หรือ Pass ผิด
(string)-1 = ผิดพลาดทาง Client
(string)-2 = ผิดพลาดทาง Server
4.) DXEServer.Handle(4, "username", null) = รับข้อมูลของสมาชิกครั้งที่ 1 จำพวกข้อมูลส่วนตัวสมาชิก โดยกำหนด username เป็นสตริง จะโยนค่ากลับเป็น...
(string)1 = สำเร็จ
(string)-1 = ผิดพลาด
5.) DXEServer.Handle(5, null, null) = รับข้อมูลของสมาชิกครั้งที่ 2 จำพวกสถิติของสมาชิก โดยต้องใช้คำสั่งรับค่าของสมาชิกครั้งที่ 1 ก่อน จะโยนค่ากลับเป็น...
(string)1 = สำเร็จ
(string)-1 = ผิดพลาด
6.) DXEServer.Handle(6, null, null) = รับข้อมูลของโปรแกรม เช่น สถานะเซิฟเวอร์ (เปิด-ปิด) ,เวอร์ชั่นของเซิฟเวอร์เป็นต้น จะโยนค่ากลับเป็น...
(string)1 = สำเร็จ
(string)-1 = ผิดพลาด
ต่อไปจะเป็นการแนะนำขั้นตอนการทำงานของโปรแกรมในส่วนของการตรวจสอบ และเข้าสู่ระบบ ซึ่งแต่ละคนอาจไม่เหมือนกัน ซึ่งผมจะเขียนเป็น Flowchart แนะนำ ให้ดูเป็นตัวอย่างนะครับ
หลังจากเก็บข้อมูลสมาชิก และข้อมูลโปรแกรมไว้แล้วนะครับ ก็จะสามารถดึงข้อมูลสมาชิกและข้อมูลโปรแกรม ออกมาใช้ได้ ซึ่งจะ
มีอยู่สามส่วน คือ ข้อมูลส่วนตัว, ข้อมูลสถิติ, ข้อมูลโปรแกรม
ข้อมูลส่วนตัว จะใช้ตัวแปรชื่อ DXEServer.UserData ครับ ซึ่งจะเป็นอาเรย์ สตริง
- DXE.Core.Server.UserData[0] = UserID
- DXE.Core.Server.UserData[1] = Email
- DXE.Core.Server.UserData[2] = Username
- DXE.Core.Server.UserData[3] = Status
- DXE.Core.Server.UserData[4] = Video Photo Status
- DXE.Core.Server.UserData[5] = AvatarStatus
- DXE.Core.Server.UserData[6] = Admin ID?
- DXE.Core.Server.UserData[7] = Group ID
- DXE.Core.Server.UserData[8] = Group Expiry
- DXE.Core.Server.UserData[9] = Extra Group pids
- DXE.Core.Server.UserData[10] = Register Date
- DXE.Core.Server.UserData[11] = Credits
- DXE.Core.Server.UserData[12] = Time Offset
- DXE.Core.Server.UserData[13] = New PM?
- DXE.Core.Server.UserData[14] = New Prompt?
- DXE.Core.Server.UserData[15] = Access Masks
- DXE.Core.Server.UserData[16] = Access Admin CP?
- DXE.Core.Server.UserData[17] = Only Accept Friend PM ?
- DXE.Core.Server.UserData[18] = Conisbind
คัดลอกไปที่คลิปบอร์ด ข้อมูลสถิติ จะใช้ตัวแปรชื่อ DXEServer.UserDataCount ซึ่งจะเป็นอาเรย์ สตริงเช่นกัน
- DXE.Core.Server.UserDataCount[1] = extcredits1
- DXE.Core.Server.UserDataCount[2] = extcredits2
- DXE.Core.Server.UserDataCount[3] = extcredits3
- DXE.Core.Server.UserDataCount[4] = extcredits4
- DXE.Core.Server.UserDataCount[5] = extcredits5
- DXE.Core.Server.UserDataCount[6] = extcredits6
- DXE.Core.Server.UserDataCount[7] = extcredits7
- DXE.Core.Server.UserDataCount[8] = extcredits8
- DXE.Core.Server.UserDataCount[9] = Number of friends
- DXE.Core.Server.UserDataCount[10] = Posts
- DXE.Core.Server.UserDataCount[11] = Threads
- DXE.Core.Server.UserDataCount[12] = Digest Posts
- DXE.Core.Server.UserDataCount[13] = Doing
- DXE.Core.Server.UserDataCount[14] = Blogs
- DXE.Core.Server.UserDataCount[15] = Albums
- DXE.Core.Server.UserDataCount[16] = Sharings
- DXE.Core.Server.UserDataCount[17] = Total Attachsize
- DXE.Core.Server.UserDataCount[18] = Views
- DXE.Core.Server.UserDataCount[19] = Online Time
- DXE.Core.Server.UserDataCount[20] = Today Attachs
- DXE.Core.Server.UserDataCount[21] = Today Attach Size
คัดลอกไปที่คลิปบอร์ด ข้อมูลโปรแกรม จะใช้ตัวแปรชื่อ DXEServer.SWData ครับ ซึ่งจะเป็นอาเรย์ สตริงเช่นเดียวกัน
- DXE.Core.Server.SWData[0] = Version
- DXE.Core.Server.SWData[1] = Server Is Open?
คัดลอกไปที่คลิปบอร์ด ตัวอย่างซอสโคด (ต้องการๆเชื่อมต่อก่อน ดูเพิ่มเติมได้ที่ http://forum.discuzthai.com/thread-33487-1-1.html)
- if (DXEServer.Handle(6, "username", null) == "1") { if (DXEServer.SWData[1].Equals("1")) { } else { TextBox.Text = ("Server is closed"); return; } } //เมื่อเซิฟเวอร์นั้นโดนสั่งปิดอยู่
- else { TextBox.Text = ("Can't get data from server"); }; //เมื่อไม่สามารถรับค่าที่ถูกต้องจาก Server ได้ ในส่วนนี้สามารถวนไปรับค่ามาใหม่ได้
- string LoginStatus = DXEServer.Handle(3, "username", "password"); //รับผลลัพธ์การล็อกอินเก็บไว้ที่ตัวแปร LoginStatus
- if (DXEClient.Handle(2, "1", null).Equals("1") && DXEServer.Handle(2, "1", null).Equals("1")) //ตรวจสอบสถานะความพร้อมผ่าน
- {
- switch (LoginStatus) //จัดการผลลัพธ์การล็อกอิน
- {
- case "1": //Username และ Password ถูกต้อง ล็อกอินสำเร็จ
- if (DXEServer.Handle(4, "username", null) == "1"
- && DXEServer.Handle(5, null, null) == "1") //ทำการรับค่าต่างๆ มาจาก Server และตรวจสอบว่าค่าที่ได้รับถูกต้อง ไม่ผิดพลาด
- {
- //ส่วนของการรับข้อมูลสมาชิกมาแสดง
- //แสดง Avatar ขนาดกลาง
- pictureBox.ImageLocation = DXEClient.Handle(4, DXEServer.UserData[0], null);
- //แสดงข้อมูลสมาชิก
- TextBox.Text = ("UserID : " + DXEServer.UserData[0] + Environment.NewLine +
- "Email : " + DXEServer.UserData[1] + Environment.NewLine +
- "Username : " + DXEServer.UserData[2] + Environment.NewLine +
- "Status : " + DXEServer.UserData[3] + Environment.NewLine +
- "Video Photo Status : " + DXEServer.UserData[4] + Environment.NewLine +
- "AvatarStatus : " + DXEServer.UserData[5] + Environment.NewLine +
- "Admin ID? : " + DXEServer.UserData[6] + Environment.NewLine +
- "Group ID : " + DXEServer.UserData[7] + Environment.NewLine +
- "Group Expiry : " + DXEServer.UserData[8] + Environment.NewLine +
- "Extra Group pids : " + DXEServer.UserData[9] + Environment.NewLine +
- "Register Date : " + DXEServer.UserData[10] + Environment.NewLine +
- "Credits : " + DXEServer.UserData[11] + Environment.NewLine +
- "Time Offset : " + DXEServer.UserData[12] + Environment.NewLine +
- "New PM? : " + DXEServer.UserData[13] + Environment.NewLine +
- "New Prompt? : " + DXEServer.UserData[14] + Environment.NewLine +
- "Access Masks : " + DXEServer.UserData[15] + Environment.NewLine +
- "Access Admin CP? : " + DXEServer.UserData[16] + Environment.NewLine +
- "Only Accept Friend PM ? : " + DXEServer.UserData[17] + Environment.NewLine +
- "Conisbind : " + DXEServer.UserData[18] + Environment.NewLine + Environment.NewLine +
- "extcredits1 : " + DXEServer.UserDataCount[0] + Environment.NewLine +
- "extcredits2 : " + DXEServer.UserDataCount[1] + Environment.NewLine +
- "extcredits3 : " + DXEServer.UserDataCount[2] + Environment.NewLine +
- "extcredits4 : " + DXEServer.UserDataCount[3] + Environment.NewLine +
- "extcredits5 : " + DXEServer.UserDataCount[4] + Environment.NewLine +
- "extcredits6 : " + DXEServer.UserDataCount[5] + Environment.NewLine +
- "extcredits7 : " + DXEServer.UserDataCount[6] + Environment.NewLine +
- "extcredits8 : " + DXEServer.UserDataCount[7] + Environment.NewLine +
- "Number of friends : " + DXEServer.UserDataCount[8] + Environment.NewLine +
- "Posts : " + DXEServer.UserDataCount[9] + Environment.NewLine +
- "Threads : " + DXEServer.UserDataCount[10] + Environment.NewLine +
- "Digest Posts : " + DXEServer.UserDataCount[11] + Environment.NewLine +
- "Doing : " + DXEServer.UserDataCount[12] + Environment.NewLine +
- "Blogs : " + DXEServer.UserDataCount[13] + Environment.NewLine +
- "Albums : " + DXEServer.UserDataCount[14] + Environment.NewLine +
- "Sharings : " + DXEServer.UserDataCount[15] + Environment.NewLine +
- "Total Attachsize : " + DXEServer.UserDataCount[16] + Environment.NewLine +
- "Views : " + DXEServer.UserDataCount[17] + Environment.NewLine +
- "Online Time : " + DXEServer.UserDataCount[18] + Environment.NewLine +
- "Today Attachs : " + DXEServer.UserDataCount[19] + Environment.NewLine +
- "Today Attach Size : " + DXEServer.UserDataCount[20] + Environment.NewLine + Environment.NewLine +
- "Version : " + DXEServer.SWData[0] + Environment.NewLine +
- "Server Is Open? : " + DXEServer.SWData[1]);
- }
- else { TextBox.Text = ("Can't get data from server"); } //เมื่อไม่สามารถรับค่าที่ถูกต้องจาก Server ได้ ในส่วนนี้สามารถวนไปรับค่ามาใหม่ได้
- break;
- case "2": TextBox.Text = ("Incorrect username or password"); break; //เมื่อ Username หรือ Password ไม่ถูกต้อง
- case "-1": TextBox.Text = ("Client error"); break;
- case "-2": TextBox.Text = ("Server error or API incorrect"); break; //เมื่อการสื่อสารกับเซิฟเวอร์ผิดพลาด หรือ API Passkey บนเซิฟเวอร์ไม่ตรงกับตอนกรอกโปรแกรม API Generator
- }
- }
คัดลอกไปที่คลิปบอร์ด ใครสงสัยตรงไหน PM มาสอบถามได้นะครับ ยินดีทำตัวอย่างให้ดูเลย ^^
ช่วยกดบวกจิตให้ด้วยน้อ จะได้มีกำลังใจพัฒนาต่อๆไป |
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก
x
คะแนน
-
ดูบันทึกคะแนน
|
|
|
|
|
|