บริการ SMS ในโปรแกรมประยุกต์เว็บเคลื่อนที่ ASP.NET


ผู้เขียน:


Balamurali Balaji MVP

คำปฏิเสธเนื้อหาในโซลูชันของชุมชน


MICROSOFT CORPORATION และ/หรือของซัพพลายเออร์แต่ละรายทำไม่ได้ยืนยันใด ๆ เกี่ยวกับความเหมาะสม ความน่าเชื่อถือ หรือความถูกต้องของข้อมูลและกราฟิกที่เกี่ยวข้องที่มีอยู่ในที่นี้ ข้อมูลและกราฟิกที่เกี่ยวข้องทั้งหมดดังกล่าวไว้ให้ "ตามที่เป็นอยู่" โดยไม่มีการรับประกันใด ๆ MICROSOFT และ/หรือซัพพลายเออร์ที่เกี่ยวข้องแปลง DISCLAIM รับประกันและเงื่อนไขที่เกี่ยวข้องกับข้อมูลนี้ทั้งหมด และที่เกี่ยวข้องกับกราฟิก รวมทั้งหมดโดยนัยรับประกันและเงื่อนไขของความสามารถในเชิงพาณิชย์ ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ WORKMANLIKE ความพยายาม ชื่อเรื่อง และที่ไม่ใช่การละเมิด โดยเฉพาะอย่างยิ่งตกลงว่า ในเหตุการณ์ไม่มี จะและ/หรือซัพพลายเออร์ของ MICROSOFT ได้ค้างจ่ายสำหรับใด ๆ เสียหายโดยตรง ทางอ้อม โทษ เบ็ดเตล็ด พิเศษ ต่อหรือใด ๆ เสียก็ตามรวมถึง แต่ไม่ เสียหายสำหรับขาดทุนจากการใช้งาน ข้อมูล หรือ กำไร ความเสียหาย หรือในวิธีใด ๆ ที่เชื่อมโยงกับการใช้ หรือไม่สามารถใช้ข้อมูลและกราฟิกที่เกี่ยวข้องที่มีอยู่ในที่นี้ ว่าตามสัญญา สูญ ความผิด หนี้สินที่เข้มงวด หรืออย่างอื่น ใด แม้ว่า MICROSOFT หรือของซัพพลายเออร์ใด ๆ ได้ คำแนะนำเกี่ยวกับเสียหายที่อาจเกิดขึ้น

งานนี้


บทความนี้อธิบายถึง know-how สมบูรณ์ของบริการ SMS และเครื่องมือที่ใช้สำหรับการพัฒนาเว็บแอพลิเคชันโมบายใน ASP.NET ที่ใช้ ดังกล่าวยังเกี่ยวข้องกับคอมโพเนนต์ที่จำเป็นสำหรับการบริการพร้อมใช้งานใน.NET framework กระชับ SMS

เหตุผลสำหรับคำอธิบายประกอบ


บทความนี้มีวัตถุประสงค์เพื่อ clarifying ข้อมูลเพิ่มเติมเกี่ยวกับการใช้บริการ SMS ในแอพลิเคชัน mobile.net นักพัฒนาจะพบว่ามีประโยชน์ในการทำความเข้าใจแนวคิดพื้นฐานอยู่เบื้องหลังโดยใช้บริการนี้ในโปรแกรมประยุกต์ของตน

บทคัดย่อสำหรับคำอธิบายประกอบ


บทความนี้อธิบายเกี่ยวกับการ SMS และความละเอียด นอกจากนี้ เกี่ยวข้อง มีหลายวิธีของการใช้ SMS เปิดใช้งานโปรแกรมประยุกต์.net

บทนำ


SMS – บริการส่งข้อความสั้นเป็นค่อนข้างติดตามคำในชุมชนพัฒนาปัจจุบันนี้ เมื่อมาถึงสภาพแวดล้อมของ.NET นักพัฒนาได้จริง ๆ ไมโครโฟนค้นหาโซลูชันสำหรับการส่ง และรับ SMS จากโปรแกรมประยุกต์เว็บของพวกเขา ส่วนใหญ่ของโปรแกรมประยุกต์เว็บที่มีคุณลักษณะ SMS ในสร้างการเปิดใช้งานผู้ใช้ที่ส่งข้อความอย่างง่ายไปยังหมายเลขโทรศัพท์มือถือสำหรับการโต้ตอบแบบทันที สำหรับของความเร็ว ความถูกต้อง และประสิทธิภาพการทำงานที่เพิ่มขึ้น SMS เป็นบริการประสบความสำเร็จมากที่สุดระหว่างบริการแบบไร้สายต่าง ๆ อย่างใดอย่างหนึ่ง

ความสามารถของ SMS


SMS คือความสามารถในการจัดส่งบริการข้อมูลจำนวนมากไปยังอุปกรณ์แบบไร้สาย รวมทั้งการแจ้งเตือนจดหมายเสียง บริการรับส่งโทรสาร โทนเสียง เกมเป็นต้น SMS อาจเป็นแบบ TMS (บริการรับส่งข้อความ) ข้อความแบบไร้สายเป็นสายอักขระแบบสั้นได้ถึง 256 อักขระที่สามารถส่งไปยังอุปกรณ์เคลื่อนที่ แม้ว่าจะมีการเริ่มต้นใช้บริการการส่งข้อความกับเพจเจอร์อุปกรณ์ที่สนับสนุนตัวเลขอักษรและตัวเลข พบสถานที่ในโทรศัพท์มือถือนอกจากนี้ ผู้ขนไร้สายโทรศัพท์เคลื่อนที่จำนวนมากทำได้ยากมากสำหรับนักพัฒนาเพื่อเข้าไปในแหล่งความรู้ของ SMS และลักษณะการทำงานของ ใช้โหมดของการจัดการข้อความ SMS สำหรับสาเหตุหลายประการที่แตกต่างกัน เหตุผลหนึ่งคือว่า ต้นทุนที่เกี่ยวข้องกับข้อความมากตัวเอง ผู้ขนส่งบางพัฒนา API สำหรับ SMS ที่สามารถส่ง หรือรับ SMS โดยใช้ TCP/IP บางคนอื่นใช้โพรโทคอลเช่นอย่างง่ายเครือข่ายเพจจิ้งโพรโทคอล (SNPP), แบบไร้สายสื่อสารขนส่งโพรโทคอล (WCTP), และ เพียร์ข้อความสั้น ๆ เพื่อเพียร์ (SMPP) บางผู้ขนส่งแสดงข้อมูลแบบธรรมดาจดหมายขนส่งโพรโทคอล (SMTP), อินเทอร์เฟซอีเมล์เพื่อส่งข้อความสั้นข้อความเดี๋ยวนี้ ในกรณีนี้ อยู่อีเมลจะมีหมายเลขโทรศัพท์ของอุปกรณ์หรือหมายเลขประจำตัวเพจเจอร์ พร้อมกับโดเมนพิเศษของสื่อนำสัญญาณแบบไร้สาย ตัวอย่างเช่น โทรศัพท์กับบริการอ้างอิงถึงจะมีอยู่อีเมล์ของ 3135551212@mobile Reliance.net

ข้อกำหนดสำหรับการรวม SMS ด้วยโปรแกรมประยุกต์อื่น ๆ


ข้อกำหนดเบื้องต้นในการใช้ความสามารถของ SMS เป็นเกตเวย์สำหรับ SMS  คุณสามารถเข้าถึงได้ SMS กับเครือข่ายโทรศัพท์เคลื่อนที่ (บริการ), ผ่านอินเทอร์เฟซแบบเว็บหรือมี API พวกเขาจะคืนคุณกับชุดของ Api ที่ทำงานกับเซิร์ฟเวอร์ SMS ของตน  อีกครั้ง นี้เกี่ยวข้องกับต้นทุนสำหรับการส่งข้อความ และการให้บริการ อีกทางหนึ่งคือ มีไม่กี่โทรศัพท์มือถือเว็บไซต์ที่อนุญาตให้คุณส่ง/รับ SMS โดยใช้เว็บไซต์ของตนเอง  คุณสามารถพัฒนาเว็บเพจใน ASP.NET ที่สามารถลงรายการบัญชีไปที่ไซต์สำหรับการให้บริการ SMS ไปยังผู้ใช้ของคุณ ในอินเดีย, , เป็นเว็บไซต์บางที่เสนอ SMS และบริการที่เกี่ยวข้องสำหรับการเชื่อมโยงการ SMSC เสียงสูง และขององค์กรโดยใช้โพรโทคอลการติดต่อสื่อสาร SMPP (สั้นข้อแบบเพียร์ทูเพียร์) การ SMSC (ศูนย์การบริการข้อความสั้น) กำหนดการโอนย้ายข้อความไปยัง และ จากโทรศัพท์มือถือในเครือข่าย-GSM ข้อมูลนี้รวมถึงไม่เพียงข้อความสั้น แต่ยังโทรสาร เสียง - หรืออีเมล์ จะส่งข้อความ เก็บไว้ชั่วคราวดังกล่าวในกรณีที่ผู้รับแต่ละรายอยู่ในขณะนี้ไม่พร้อมใช้งาน และดูแลการชาร์จ มีอยู่อย่างน้อยหนึ่ง SMSC ต่อเครือข่าย ตัวเลือกที่สามคือพิจารณาสมัครใช้งาน webservice SMS ใช้ซึ่งคุณสามารถส่ง หรือรับ SMS ในแอพลิเคชันของคุณ ลุยเลย

GPRS


บริการ SMS สามารถแสดงได้ ด้วยการใช้ GPRS (บริการทั่วไป Packet วิทยุ) ที่ให้บริการอีเมอินเทอร์เน็ต นี่จะเป็นรูปแบบที่ง่ายที่สุดของการให้บริการ SMS ในโปรแกรมประยุกต์ของคุณ GPRS เอื้อต่อเนื่องการเชื่อมต่อแบบไร้สายกับเครือข่ายของข้อมูลและการเข้าถึงข้อมูลรายการโปรดของคุณและบริการเพื่อความบันเทิง อนุญาตให้โทรศัพท์เคลื่อนที่จะใช้สำหรับการส่ง และรับข้อมูลบนเครือข่ายที่ใช้อินเทอร์เน็ตโพรโทคอล IP นอกเหนือจาก SMS โพรโทคอลบริการอื่น ๆ เช่น WAP, MMS, SMS จาวาและพีซีผ่านสายโทรศัพท์ (ตัวอย่างเช่น อินเทอร์เน็ตและอีเมล) นอกจากนี้ยังรับการสนับสนุน โดย GPRS ซึ่งแตกต่างจากบริการเกตเวย์ SMS อินเทอร์เน็ตอีเมลร้านค้าบริการโดยใช้บริการจดหมายข่าวสาร จริงที่เก็บอีเมลเหล่านี้ และผู้ใช้ได้รับการแจ้งเตือนทางโทรศัพท์มือถือของตน และสามารถแล้วเรียกอีเต็ม โดยการเรียกเลขหมายในการเก็บรวบรวมไว้ ส่งต่อ และอื่น ๆ บริการเกตเวย์มีแพลตฟอร์มไร้สายอีเม wherein นั้นเพียงแค่แปลให้ข้อความ SMTP (อินเทอร์เน็ตอีเมลโพรโทคอ) เป็น SMS และส่งไปยังศูนย์ SMS ส่วนใหญ่ของเวลา ในการรับอีเมลใหม่ อินเทอร์เน็ตอีเมลของผู้รับการแจ้งเตือนบนโทรศัพท์มือถือของพวกเขา ที่จำเป็นต่อการเรียกเลขหมายเป็นระยะ ๆ เพื่อตรวจสอบกล่องจดหมายของพวกเขา อย่างไรก็ตาม เราสามารถเชื่อมโยงระบบอินเทอร์เน็ตอีเมลกับกลไกการแจ้งเตือนเช่น SMS หรือ GPRS และสามารถแจ้งเตือนผู้ใช้เมื่อได้รับอีเมลใหม่

บริการ SMS ในโปรแกรมประยุกต์.NET


แบบมือถืออินเทอร์เน็ต Toolkit (MMIT) จาก Microsoft หรือที่เรียกว่าเป็นตัวควบคุมการเคลื่อนที่ ASP.NET จะขยายไปยัง.NET Framework และ ASP.NET ที่อนุญาตให้นักพัฒนาให้เขียนโปรแกรมประยุกต์เว็บโทรศัพท์มือถือที่กำหนดเป้าหมายหลายอุปกรณ์เช่นโทรศัพท์มือถือและ Pda นักพัฒนาสามารถเพ่งตรรกะของโปรแกรมประยุกต์ และการออกจากการแสดง UI การรันไทม์ของแอ MMIT ช่วยให้มี เมื่อต้องการติดตั้ง MMIT คุณต้องมี Microsoft .NET Framework รุ่น 1.0 หรือรุ่นที่ใหม่กว่า เนื่องจาก MMIT เป็นส่วนขยายของ ASP.NET คุณต้องมี IIS ที่ทำงานอยู่ แอพลิเคชันโมบายมีสองชนิด: บนเว็บ และอุปกรณ์ที่ใช้  เว็บแอพลิเคชันโมบายที่รันบนเซิร์ฟเวอร์ โดยทั่วไปเว็บเซิร์ฟเวอร์ ขึ้นอยู่ และสามารถเข้าถึงได้ ด้วยอุปกรณ์เคลื่อนที่โดยใช้บริการอินเทอร์เน็ตและ SMS ที่ได้มาจากข้อความอีเมลอินเทอร์เน็ต  อุปกรณ์เฉพาะภาษามีแอพลิเคชันแบบสแตนด์อโลนที่เรียกใช้บนอุปกรณ์เอง มี หรือไม่ มีการเข้าถึงอินเทอร์เน็ต สำหรับชนิดของแอพลิเคชัน Microsoft มี.NET Framework รุ่นปรับสัดส่วนลง — .NET Compact Framework (.NET CF)

บริการ SMS ในโปรแกรมประยุกต์.NET CF


โปรแกรมประยุกต์.NET Framework กระชับเป้าหมายอุปกรณ์พ็อกเก็ตพีซี โทรศัพท์สมาร์ท Pda ยึดตาม Windows CE หลักการตั้งค่าของฟังก์ชันสำหรับระบบสมาร์ทอุปกรณ์ และโปรแกรมประยุกต์ที่มีอยู่ใน COREDLL DLL ยังมี dll ของตัวต่อไปนี้: AYGShell.dll – functionsCommCtrl.dll เชลล์พก – ทั่วไปตัวควบคุม libWinSock.dll – Windows SocketsPhone.dll – ระดับสูงโทรศัพท์ controlSMS.dll – SMS API สนับสนุน P/Invoke พร้อมใช้งานใน.NET CF สำหรับการเรียก Win32 ที่ใช้การส่งข้อความ API ฟังก์ชันใน dll ของโซลูชัน เราสามารถส่ง SMS จากโปรแกรมประยุกต์ C# หรือ CF เหนือ ฟังก์ชัน SmsOpen เปิดส่วนประกอบการส่งข้อความ SMS HRESULT SmsOpen (const LPCTSTR ptsMessageProtocol, DWORD ค่า const dwMessageModes, psmshHandle ค่า const SMS_HANDLE * phMessageAvailableEvent ค่า const จับ *); ptsMessageProtocol เป็นสายอักขระที่แสดงถึงโพรโทคอล SMS ที่จะใช้ dwMessageModes ระบุว่า เราต้องการถูกส่ง หรือได้รับโหมด psmshHandle เป็นตัวชี้ไปที่หมายเลขอ้างอิงของเซสชันของ SMS และมีผลบังคับใช้เฉพาะถ้าฟังก์ชันคืนค่าอย่างถูกต้อง phMessageAvailableEvent คือ หมายเลขอ้างอิงจะจัดการกับเหตุการณ์ Win32 ที่สามารถใช้เพื่อกำหนดว่าเมื่อข้อความถัดไปที่มีพร้อมใช้งานเพื่อให้สามารถอ่าน ใช้แอตทริบิวต์ DllImport ใน System.Runtime.InteropServices namespace เราสามารถประกาศฟังก์ชันในโค้ดของเรา
 [DllImport("sms.dll")]   private static extern IntPtr SmsOpen(String ptsMessageProtocol,     IntPtr dwMessageModes, ref IntPtr psmshHandle, IntPtr     phMessageAvailableEvent); 
ฟังก์ชัน SmsSendMessage ส่งข้อความไปยังหมายเลขโทรศัพท์มือถือ HRESULT SmsSendMessage (const SMS_HANDLE smshHandle, SMS_ADDRESS ค่า const * const psmsaSMSCAddress, const SMS_ADDRESS * const psmsaDestinationAddress, const SYSTEMTIME * const pstValidityPeriod, const ไบต์ * const pbData, dwDataSize DWORD ค่า const, const ไบต์ * pbProviderSpecificData ค่า const, DWORD ค่า const dwProviderSpecificDataSize, const SMS_DATA_ENCODING smsdeDataEncoding, dwOptions DWORD ค่า const, SMS_MESSAGE_ID * psmsmidMessageID); smshHandle มีแฮนเดิลส่งคืนใน psmshHandle โดย SmsOpen psmsaSMSCAddress มีพารามิเตอร์ไม่จำเป็นที่ระบุซึ่งจะใช้ศูนย์ข้อความ SMS ถ้ามีใช้ค่า NULL จะมีใช้ค่าเริ่มต้นของผู้ใช้ SMSMC psmsaDestinationAddress อยู่ซึ่งข้อความจะถูกจัดส่ง pstValidityPeriod แบ่งจากโครงสร้าง SYSTEMTIME มาตรฐานที่มีระยะเวลาที่ผ่านมาส่ง SMS ระหว่างซึ่งข้อความยังคงถูกพิจารณาว่าถูกต้อง pbData จะแสดงไบต์ของส่วนข้อมูลที่เป็นข้อความ นี้สามารถเป็น NULL dwDataSize มีขนาดเป็นไบต์ของส่วนข้อมูลของข้อความ pbProviderSpecificData มีข้อมูลเพิ่มเติมที่จำเป็นสำหรับผู้ให้บริการบางอย่างเพื่ออนุญาตให้ SMS เพื่อส่งข้อมูลได้อย่างถูกต้อง dwProviderSpecificDataSize มีขนาดเป็นไบต์ของเขตข้อมูลดังกล่าวไว้ก่อนหน้านี้ smsdeDataEncoding เป็นตัวเลือกที่พบในการแจงนับ SMS_DATA_ENCODING รายละเอียดด้านบน dwOptions มีค่าสถานะที่สอง (ขณะนี้) ที่จะล้มเหลว SMS หลังจากความพยายามหนึ่ง หรือจะทำให้สามารถจัดส่งอีกครั้งจนกว่าเราเตอร์แสดงขึ้น psmsmidMessageID จะต้องไม่เป็น null ถ้าฟังก์ชันนี้ส่งกลับเสร็จเรียบร้อยแล้ว รหัสของเราที่มีการจัดการ เราใช้เป็น
 [DllImport("sms.dll")]private static extern IntPtr SmsSendMessage(IntPtr smshHandle, IntPtr  psmsaSMSCAddress, IntPtr psmsaDestinationAddress, IntPtr  pstValidityPeriod, byte[] pbData, IntPtr dwDataSize, byte[]  pbProviderSpecificData, IntPtr dwProviderSpecificDataSize,  SMS_DATA_ENCODING smsdeDataEncoding, IntPtr dwOptions,  IntPtr  psmsmidMessageID); 
ฟังก์ชัน SmsClose ปิดการร้องขอการบริการข้อความ SMS HRESULT SmsClose (ค่า const SMS_HANDLE oCommandBarPopup);
 In our code we declare it as [DllImport("sms.dll")]   private static extern IntPtr SmsClose(IntPtr smshHandle); 
 

บริการ SMS ในโปรแกรมประยุกต์เว็บเคลื่อนที่ ASP.NET


ในตัวอย่างนี้ ฉันใช้ตัวที่มีอยู่แล้วจาก webservice ที่อยู่ www.webservicex.com ให้การเชื่อมโยงภาษาข้อกำหนดบริการเว็บ (WSDL) สำหรับการส่ง SMS คุณต้องเพิ่มการอ้างอิงเว็บ webservice ที่อยู่ต่อไปนี้ในโปรแกรมประยุกต์ของคุณ CF.NET: http://www.webservicex.net/SendSMS.asmx
 Private void SendMessage(string MobileNumber, string  FromEmailAddress, string  Message){localhost.SendSMS smsService = New localhost.SendSMS(); try{            bool result = smsService.SendMessage(someMobileNumber, myemaidid, myMessage);             if (result == True)                MessageBox.Show("The message was sent", "SMS Messaging");            else                MessageBox.Show("The message was not sent", "SMS Messaging");    catch (SoapException ex)        MessageBox.Show("An exception occured.  " & ex.Detail.InnerText, "SMS Messaging");} }
 

บทสรุป


การพัฒนาแอพลิเคชันที่ให้บริการ SMS ไม่ใช่งานง่าย ๆ คุณต้องติดตั้งเครื่องมือที่เหมาะสมและคอมโพเนนต์ในระบบของคุณเพื่อพัฒนาแอพลิเคชันโมบายในสภาพแวดล้อมของ.NET ถ้าคุณกำลังพัฒนา โทรศัพท์มือถือใช้บริการ SMS คุณจำเป็นต้องอาศัยคอมโพเนนต์ของซอฟต์แวร์เกตเวย์ SMS หรือคุณสามารถทำใช้ webservice ที่มีอยู่ซึ่งใช้ข้อมูลเหล่านั้น มีวิธีการอื่นรับให้ความสามารถของ SMS ไปยังโปรแกรมประยุกต์ของคุณที่ใช้คำสั่ง AT ซึ่งมาเป็นชุดสำหรับอุปกรณ์เคลื่อนที่ต่าง ๆ ที่หลากหลาย ซึ่งจะไม่กล่าวถึงในบทความนี้ ถ้าคุณกำลัง พัฒนาอุปกรณ์โดยใช้โปรแกรมประยุกต์บริการ SMS คุณสามารถหา.NET framework กระชับข้อมูลที่กำลังจัดกับ Visual Studio .NET 2003/2005 หรือคุณสามารถดาวน์โหลดแฟ้มจากอินเทอร์เน็ต ที่นี่อีกครั้ง ส่วนใหญ่ของคอมโพเนนต์ dll ที่จำเป็นสำหรับการพัฒนาบริการ SMS สามารถใช้งานได้กับ toolkit SDK 4.2/5.0 CE Windows ไม่พร้อมใช้งานกับ.NET CF. หวังว่าคุณยินดีที่อ่านบทความนี้ได้ ถ้าคุณมีข้อคิดเห็นหรือข้อเสนอแนะ กรุณารู้สึกฟรีเพื่อติดต่อฉันใน