Ответ 1
Давита, я использую Jama SMPP Client в течение 3 месяцев с успехом. Его относительная легкость в применении и свободная.
Я разрабатываю онлайн-мессенджер SMS и ищет масштабируемую и надежную библиотеку SMPP для .NET. Я видел EasySMPP (но с некоторыми сомнениями) и RoamingSMPP. Есть и одно, но я не могу вспомнить его имя. Для меня важнее масштабируемость, стабильность и отказоустойчивость. У меня может быть 500k + пользователей и несколько сотен SMS в секунду. Сообщение будет в 2-х направлениях, получатель должен иметь возможность ответить на SMS-сообщение, полученное от моего посланника. Поэтому мне интересно, может ли кто-нибудь порекомендовать библиотеку, которая соответствует моим потребностям? Для меня это не имеет значения, если оно бесплатное или коммерческое.
Спасибо
Давита, я использую Jama SMPP Client в течение 3 месяцев с успехом. Его относительная легкость в применении и свободная.
Inetlab.SMPP
http://www.inetlab.com/Products/Inetlab.SMPP.aspx
Очень хорошая библиотека
Масштабируемость в протоколе SMPP представляет собой сложный вопрос. Вы можете масштабировать горизонтально, активируя несколько подключений, но это создает такие проблемы, как отчеты о состоянии, возвращающиеся к другому соединению, чем сообщение было отправлено, если используется одна учетная запись. Вертикальное масштабирование относится не только к компоненту (но, конечно, плохо созданный компонент может ограничить пропускную способность), но довольно часто ограничивается самой SMSC - трудно найти SMSC, который не будет насыщать более 100-150 сообщений в секунду, возвращая дросселирование ошибка (0x00000058 - ESME превысила допустимые пределы сообщения). Заключение - достижение высокой производительности может потребовать сотрудничества с оператором. Компонент/библиотека может пригодиться, если у нее есть, например, дросселирование или отправка в поддержку нескольких адресатов.
Надежность - еще одна довольно субъективная вещь, но, на мой взгляд, ее преимущественная и превентивная поддержка является ее частью.
Отказоустойчивость может быть достигнута только в сотрудничестве между компонентом/библиотекой и приложением, которое ее использует. Библиотека не может делать все, что угодно, например, повторять попытки отправки, полностью обрабатывать дросселирование, реагировать на ошибки в операции submit_multi и т.д. Это потребует механизма очередности/буферизации и, безусловно, будет мешать высокой пропускной способности для основных операций. Скорее всего, это шлюз SMPP, если вы хотите, чтобы он имел дело со всеми возможными ошибками. Но с хорошей библиотекой все это можно легко сделать для начинающих и тонко настроиться с растущими требованиями к производительности.
Эта коммерческая библиотека .NET может быть стоит рассмотреть:
http://www.tops.com.pl/en/products/smscc/
Имеет довольно большое количество инсталляций, немало крупных телекоммуникационных компаний. Может использоваться масштабируемым образом как по горизонтали, так и по вертикали и может реализовывать сценарии отказоустойчивости. В реальной жизни тесты достигают более 500 сообщений в секунду на одном канале TCP/IP, ограниченном возможностями SMSC.
На самом деле есть только компонент ActiveXperts, хотя я не уверен, что это родная библиотека .NET.
EasySMPP и RoaminSMPP полны серьезных ошибок и неполных. Компонент Devshock t ужасен. Мы попробовали их все.
К сожалению, мы закончили тем, что создали собственный собственный .NET. Мы приближаемся к отметке 1mil/messages/month.
Есть немецкая компания, я не могу вспомнить имя этого компонента SMPP, но затраты на лицензирование очень высоки, и я, кажется, помню, что это была библиотека COM.