Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20231001 Rev.8 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 3812|ตอบกลับ: 7

[X2.5] [DXE1.0]การใช้งานฟังก์ชั่นพื้นฐาน และรายการคำสั่ง

  [คัดลอกลิงก์]
sureV โพสต์ 2012-4-24 08:27:13 |โหมดอ่าน
แก้ไขครั้งสุดท้าย 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 ครับ ซึ่งจะเป็นอาเรย์ สตริง

  1. DXE.Core.Server.UserData[0]  = UserID
  2. DXE.Core.Server.UserData[1]  = Email
  3. DXE.Core.Server.UserData[2]  = Username
  4. DXE.Core.Server.UserData[3]  = Status
  5. DXE.Core.Server.UserData[4]  = Video Photo Status
  6. DXE.Core.Server.UserData[5]  = AvatarStatus
  7. DXE.Core.Server.UserData[6]  = Admin ID?
  8. DXE.Core.Server.UserData[7]  = Group ID
  9. DXE.Core.Server.UserData[8]  = Group Expiry
  10. DXE.Core.Server.UserData[9]  = Extra Group pids
  11. DXE.Core.Server.UserData[10]  = Register Date
  12. DXE.Core.Server.UserData[11]  = Credits
  13. DXE.Core.Server.UserData[12]  = Time Offset
  14. DXE.Core.Server.UserData[13]  = New PM?
  15. DXE.Core.Server.UserData[14]  = New Prompt?
  16. DXE.Core.Server.UserData[15]  = Access Masks
  17. DXE.Core.Server.UserData[16]  = Access Admin CP?
  18. DXE.Core.Server.UserData[17]  = Only Accept Friend PM ?
  19. DXE.Core.Server.UserData[18]  = Conisbind
คัดลอกไปที่คลิปบอร์ด
ข้อมูลสถิติ จะใช้ตัวแปรชื่อ DXEServer.UserDataCount ซึ่งจะเป็นอาเรย์ สตริงเช่นกัน

  1. DXE.Core.Server.UserDataCount[1] = extcredits1
  2. DXE.Core.Server.UserDataCount[2] = extcredits2
  3. DXE.Core.Server.UserDataCount[3] = extcredits3
  4. DXE.Core.Server.UserDataCount[4] = extcredits4
  5. DXE.Core.Server.UserDataCount[5] = extcredits5
  6. DXE.Core.Server.UserDataCount[6] = extcredits6
  7. DXE.Core.Server.UserDataCount[7] = extcredits7
  8. DXE.Core.Server.UserDataCount[8] = extcredits8
  9. DXE.Core.Server.UserDataCount[9] = Number of friends
  10. DXE.Core.Server.UserDataCount[10] = Posts
  11. DXE.Core.Server.UserDataCount[11] = Threads
  12. DXE.Core.Server.UserDataCount[12] = Digest Posts
  13. DXE.Core.Server.UserDataCount[13] = Doing
  14. DXE.Core.Server.UserDataCount[14] = Blogs
  15. DXE.Core.Server.UserDataCount[15] = Albums
  16. DXE.Core.Server.UserDataCount[16] = Sharings
  17. DXE.Core.Server.UserDataCount[17] = Total Attachsize
  18. DXE.Core.Server.UserDataCount[18] = Views
  19. DXE.Core.Server.UserDataCount[19] = Online Time
  20. DXE.Core.Server.UserDataCount[20] = Today Attachs
  21. DXE.Core.Server.UserDataCount[21] = Today Attach Size
คัดลอกไปที่คลิปบอร์ด
ข้อมูลโปรแกรม จะใช้ตัวแปรชื่อ DXEServer.SWData ครับ ซึ่งจะเป็นอาเรย์ สตริงเช่นเดียวกัน

  1. DXE.Core.Server.SWData[0] = Version
  2. DXE.Core.Server.SWData[1] = Server Is Open?
คัดลอกไปที่คลิปบอร์ด
ตัวอย่างซอสโคด (ต้องการๆเชื่อมต่อก่อน ดูเพิ่มเติมได้ที่ http://forum.discuzthai.com/thread-33487-1-1.html)

  1. if (DXEServer.Handle(6, "username", null) == "1") { if (DXEServer.SWData[1].Equals("1")) { } else { TextBox.Text = ("Server is closed"); return; } } //เมื่อเซิฟเวอร์นั้นโดนสั่งปิดอยู่
  2.             else { TextBox.Text = ("Can't get data from server"); }; //เมื่อไม่สามารถรับค่าที่ถูกต้องจาก Server ได้ ในส่วนนี้สามารถวนไปรับค่ามาใหม่ได้

  3.             string LoginStatus = DXEServer.Handle(3, "username", "password"); //รับผลลัพธ์การล็อกอินเก็บไว้ที่ตัวแปร LoginStatus
  4.             if (DXEClient.Handle(2, "1", null).Equals("1") && DXEServer.Handle(2, "1", null).Equals("1")) //ตรวจสอบสถานะความพร้อมผ่าน
  5.             {
  6.                 switch (LoginStatus) //จัดการผลลัพธ์การล็อกอิน
  7.                 {
  8.                     case "1": //Username และ Password ถูกต้อง ล็อกอินสำเร็จ
  9.                         if (DXEServer.Handle(4, "username", null) == "1"
  10.                             && DXEServer.Handle(5, null, null) == "1") //ทำการรับค่าต่างๆ มาจาก Server และตรวจสอบว่าค่าที่ได้รับถูกต้อง ไม่ผิดพลาด
  11.                         {
  12.                                 //ส่วนของการรับข้อมูลสมาชิกมาแสดง
  13.                                 //แสดง Avatar ขนาดกลาง
  14.                                 pictureBox.ImageLocation = DXEClient.Handle(4, DXEServer.UserData[0], null);
  15.                                 //แสดงข้อมูลสมาชิก
  16.                                 TextBox.Text = ("UserID : " + DXEServer.UserData[0] + Environment.NewLine +
  17.                                     "Email : " + DXEServer.UserData[1] + Environment.NewLine +
  18.                                     "Username : " + DXEServer.UserData[2] + Environment.NewLine +
  19.                                     "Status : " + DXEServer.UserData[3] + Environment.NewLine +
  20.                                     "Video Photo Status : " + DXEServer.UserData[4] + Environment.NewLine +
  21.                                     "AvatarStatus : " + DXEServer.UserData[5] + Environment.NewLine +
  22.                                     "Admin ID? : " + DXEServer.UserData[6] + Environment.NewLine +
  23.                                     "Group ID : " + DXEServer.UserData[7] + Environment.NewLine +
  24.                                     "Group Expiry : " + DXEServer.UserData[8] + Environment.NewLine +
  25.                                     "Extra Group pids : " + DXEServer.UserData[9] + Environment.NewLine +
  26.                                     "Register Date : " + DXEServer.UserData[10] + Environment.NewLine +
  27.                                     "Credits : " + DXEServer.UserData[11] + Environment.NewLine +
  28.                                     "Time Offset : " + DXEServer.UserData[12] + Environment.NewLine +
  29.                                     "New PM? : " + DXEServer.UserData[13] + Environment.NewLine +
  30.                                     "New Prompt? : " + DXEServer.UserData[14] + Environment.NewLine +
  31.                                     "Access Masks : " + DXEServer.UserData[15] + Environment.NewLine +
  32.                                     "Access Admin CP? : " + DXEServer.UserData[16] + Environment.NewLine +
  33.                                     "Only Accept Friend PM ? : " + DXEServer.UserData[17] + Environment.NewLine +
  34.                                     "Conisbind : " + DXEServer.UserData[18] + Environment.NewLine + Environment.NewLine +

  35.                                     "extcredits1 : " + DXEServer.UserDataCount[0] + Environment.NewLine +
  36.                                     "extcredits2 : " + DXEServer.UserDataCount[1] + Environment.NewLine +
  37.                                     "extcredits3 : " + DXEServer.UserDataCount[2] + Environment.NewLine +
  38.                                     "extcredits4 : " + DXEServer.UserDataCount[3] + Environment.NewLine +
  39.                                     "extcredits5 : " + DXEServer.UserDataCount[4] + Environment.NewLine +
  40.                                     "extcredits6 : " + DXEServer.UserDataCount[5] + Environment.NewLine +
  41.                                     "extcredits7 : " + DXEServer.UserDataCount[6] + Environment.NewLine +
  42.                                     "extcredits8 : " + DXEServer.UserDataCount[7] + Environment.NewLine +
  43.                                     "Number of friends : " + DXEServer.UserDataCount[8] + Environment.NewLine +
  44.                                     "Posts : " + DXEServer.UserDataCount[9] + Environment.NewLine +
  45.                                     "Threads : " + DXEServer.UserDataCount[10] + Environment.NewLine +
  46.                                     "Digest Posts : " + DXEServer.UserDataCount[11] + Environment.NewLine +
  47.                                     "Doing : " + DXEServer.UserDataCount[12] + Environment.NewLine +
  48.                                     "Blogs : " + DXEServer.UserDataCount[13] + Environment.NewLine +
  49.                                     "Albums : " + DXEServer.UserDataCount[14] + Environment.NewLine +
  50.                                     "Sharings : " + DXEServer.UserDataCount[15] + Environment.NewLine +
  51.                                     "Total Attachsize : " + DXEServer.UserDataCount[16] + Environment.NewLine +
  52.                                     "Views : " + DXEServer.UserDataCount[17] + Environment.NewLine +
  53.                                     "Online Time : " + DXEServer.UserDataCount[18] + Environment.NewLine +
  54.                                     "Today Attachs : " + DXEServer.UserDataCount[19] + Environment.NewLine +
  55.                                     "Today Attach Size : " + DXEServer.UserDataCount[20] + Environment.NewLine + Environment.NewLine +

  56.                                     "Version : " + DXEServer.SWData[0] + Environment.NewLine +
  57.                                     "Server Is Open? : " + DXEServer.SWData[1]);
  58.                         }
  59.                         else { TextBox.Text = ("Can't get data from server"); } //เมื่อไม่สามารถรับค่าที่ถูกต้องจาก Server ได้ ในส่วนนี้สามารถวนไปรับค่ามาใหม่ได้
  60.                         break;
  61.                     case "2": TextBox.Text = ("Incorrect username or password"); break; //เมื่อ Username หรือ Password ไม่ถูกต้อง
  62.                     case "-1": TextBox.Text = ("Client error"); break;
  63.                     case "-2": TextBox.Text = ("Server error or API incorrect"); break; //เมื่อการสื่อสารกับเซิฟเวอร์ผิดพลาด หรือ API Passkey บนเซิฟเวอร์ไม่ตรงกับตอนกรอกโปรแกรม API Generator
  64.                 }
  65.             }
คัดลอกไปที่คลิปบอร์ด
ใครสงสัยตรงไหน PM มาสอบถามได้นะครับ ยินดีทำตัวอย่างให้ดูเลย ^^
ช่วยกดบวกจิตให้ด้วยน้อ จะได้มีกำลังใจพัฒนาต่อๆไป

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x

คะแนน

จำนวนผู้เข้าร่วม 7จิตพิศัย +12 Money +5 ย่อ เหตุผล
PII3EE2 + 1 โดนใจให้ทิป
bonparadorn + 1
sakko51150 + 1
jaideejung007 + 2 เนื้อหาดีมีสาระ.
fun + 1 โดนใจให้ทิป

ดูบันทึกคะแนน

คลังกระทู้ที่เกี่ยวข้อง:

cyber2friends โพสต์ 2012-4-24 08:58:23
สุดยอดมากครับ ผมเองยังไม่รู้ว่าเขียนยังไงเลย
rokaisakkon โพสต์ 2012-4-24 09:04:06
ตอนส่งค่าไป ยัง API  ให้เข้ารหัสไปด้วยครับ ไม่งั้น พวกดัก พ๊อกเก็ท ทาง การ์ดแลน จะแกะได้ ^^

แสดงความคิดเห็น

ผมใช้ SSL ครับ http://goo.gl/agwjS สอบถามมาแล้วครับ มันดักกลางทางไม่ได้ = =  โพสต์ 2012-4-24 09:09
 เจ้าของ| sureV โพสต์ 2012-4-24 09:15:43
อ้างอิงจาก rokaisakkon เมื่อ 2012-4-24 09:04
ตอนส่งค่าไป ยัง API  ให้เข้ารหัสไปด้วยครับ ไม่งั้น พวก ...

ขอยืนยันความปลอดภัย ว่าปลอดภัย ในระดับนึงครับ
http://goo.gl/agwjS

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x

แสดงความคิดเห็น

: ) ตอนแรก คิดว่าดักได้ ๆ ผมก็ว่าจะลองอยู่ Wireshark นี่ละ  โพสต์ 2012-4-24 09:18
fun โพสต์ 2012-4-24 09:26:28
โอ๊ย มึนๆ 555+

แสดงความคิดเห็น

สอบถามได้นะครับ ยินดีรีโมทไปทำเป็นตัวอย่างเลย ^^  โพสต์ 2012-4-24 09:28
bonparadorn โพสต์ 2012-4-25 15:26:20
มันเหมาะกับโฮสฟรี ที่กำหนดค่า mysql  % คอนเนคจากภายนอกไม่ได้
โฮสเช่าไม่จำเป็นเลยครับ ตระกูล visual studio เขียนควบคุมฐานข้อมูลได้เลยเพียงแค่ติดตั้ง mysql connector

แสดงความคิดเห็น

มันดี-เสียต่างกันน่ะครับ ^^  โพสต์ 2012-4-25 15:53
bonparadorn โพสต์ 2012-4-25 18:42:19
มี insert update + จำนวนล๊อคอินต่อนาทียังครับ เท่าที่ส่องๆยังไม่มีนี่ครับ

แสดงความคิดเห็น

ระบบบันทึกการล็อกอินไม่ได้เขียนครับ ทำแต่ดึงข้อมูล  โพสต์ 2012-4-25 18:49
ฉลาด โพสต์ 2012-5-12 22:49:59
ขอโปรเจคได้ไหมครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-4-18 12:33

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้