我有两个问题。
答案 0 :(得分:7)
以PHP发送和接收短信
我用过两者。我认为Twilio的学习曲线较浅。但Nexmo提供免费传入消息。因此,根据您的应用程序,这可能会起到很大的作用(例如,短信投票系统)。
两者都有出色的文档和PHP代码示例。
答案 1 :(得分:1)
如果您正在寻找围绕服务器构建的解决方案,该服务器使用您自己的基础架构发送和接收短信(使用GSM调制解调器),您真的应该看看SMS Server Tools。它通过假脱机目录与您的应用程序交互(基本上您编写一个格式化的文本文件,您希望在特定目录中发送,应用程序负责其余的),它设置简单且非常可靠。
答案 2 :(得分:1)
如何尝试使用FrontlineSMS,这也是一个很好的工具,它并不是少数几个国家所独有的,也就是说,它支持所有国家。它还具有良好的文档以及PHP POST和GET方法的良好支持。
答案 3 :(得分:0)
您可以编写自己的PHP代码,通过串口GSM调制解调器发送和接收短信。 与使用SMS网关或Twilio解决方案相比,它会好得多。在这种情况下,您完全依赖它们,因为如果他们的服务中断,您的业务也将无任何理由受到影响。
答案 4 :(得分:0)
您提到的public class HugeInt
{
// The array that contains all the digits of the number. To create a new number, you do not change this array but instead you create a new instance of HugeInt.
// The first digit is the least significant digit.
private readonly int[] digits;
public HugeInt(string number)
{
// Trim off the leading zeros
number = number.TrimStart('0');
if (number == "")
number = "0";
// Convert to digit array with the least significant digit first
digits = number.ToCharArray().Select(c => int.Parse(c.ToString())).Reverse().ToArray();
}
public HugeInt(IList<int> digits)
{
// Trim off the leading zeros
var d = digits.ToList();
while (d.Count > 1 && d.Last() == 0)
d.RemoveAt(d.Count - 1);
// Convert to digit array with the least significant digit first
this.digits = d.ToArray();
}
public HugeInt Plus(HugeInt num)
{
// Add two positive integers by adding each digit together, starting with the least significant digit.
var result = new List<int>();
int carry = 0;
for (var i = 0; i < this.digits.Length || i < num.digits.Length; i++)
{
var digit1 = i < this.digits.Length ? this.digits[i] : 0;
var digit2 = i < num.digits.Length ? num.digits[i] : 0;
var digitResult = digit1 + digit2 + carry;
carry = 0;
if (digitResult >= 10)
{
digitResult -= 10;
carry = 1;
}
result.Add(digitResult);
}
if (carry > 0)
result.Add(carry);
return new HugeInt(result);
}
public int CompareTo(HugeInt num)
{
// First compare by length of number
if (this.digits.Length > num.digits.Length)
return -1;
else if (this.digits.Length < num.digits.Length)
return 1;
else
{
// If lengths are equal, then compare each digit - starting with the most significant digit.
for (var i = this.digits.Length - 1; i >= 0; i--)
{
var cmp = this.digits[i].CompareTo(num.digits[i]);
if (cmp != 0)
return cmp;
}
return 0;
}
}
public override string ToString()
{
return String.Join("", digits.Reverse());
}
}
通常称为TD-COMPANY-NAME
或SenderId
。我们支持所有our API calls。
例如,此请求:
Source
关于你问题的第二部分,我发现在使用多个不同来源之前没有任何问题,直到所有来源都是非攻击性和真实性的(不要试图模仿其他品牌名称)。