首先,你们公司有多大?
一般的地方,移动是不会买账的。。
从原理上来说,你要把你网站上的用户输入发到手机,你唯一的办法就是通过运营商的SMS GateWay.
移动和联通都有类似项目,一个叫移动梦网、一个叫联通在信。都是通过SP(也就是你、我)来提供短信服务。
如果你有兴趣,我可以给你一份联通SGIP协议的电子文档。
移动的我不熟,联通的SGIP协议它主要有两种承载方式:http和SGIP
我们只做过专用SGIP的基于http的没做过,效率想来也不高。
一般的地方,移动是不会买账的。。
从原理上来说,你要把你网站上的用户输入发到手机,你唯一的办法就是通过运营商的SMS GateWay.
移动和联通都有类似项目,一个叫移动梦网、一个叫联通在信。都是通过SP(也就是你、我)来提供短信服务。
如果你有兴趣,我可以给你一份联通SGIP协议的电子文档。
移动的我不熟,联通的SGIP协议它主要有两种承载方式:http和SGIP
我们只做过专用SGIP的基于http的没做过,效率想来也不高。
移动主要是smpp方式,还有就是专门应用的http.
我做过用php方式发送短消息.和移动之间是用smpp协议
其实关键的地方不在你的前台php,而是你要在服务器上启一个通讯进程和移动的服务器交换数据包,并且再启一个服务用于侦听web发来的数据包.
我的email是[email protected]
你有兴趣我们可以讨论一下
如上面的朋友所说需要由server端和客户端
(以联通为列)server端负责和联通提供的端口通讯,按照联通给的协议发送数据。(以php为列)而客户端则按照和server端事先商议好的数据格式来将数据规范,然后发送给server端。
参考如下函数:
include("./get_msg.php");//标准化数据的函数文件
function ConectSockMsg($hostIP,$port,$checkdata,$data_to_send)
{
echo"<br>尝试连接端口".$hostIP.":".$port." ...<br>";
$fp = pfsockopen($hostIP,$port,$err_num,$err_msg,10);
if (!$fp)
{
echo "连接失败:".$err_msg."(".$err_num.")<br>";
}
else
{
echo"端口".$hostIP.":".$port." 被成功打开!<br>";
echo"发送登录数据包...<br>";
echo "数据包长度:".strlen($checkdata)."<br>";
fputs($fp,$checkdata,strlen($checkdata)); //发送登录数据包
$returnValue=fread($fp,12);
echo"收到长度为".strlen($returnValue)."的数据包:".$returnValue."<br>";
if($returnValue[2]=="A") //返回验证
{
echo"登录成功!<br><br>";
echo"发送信息数据包...<br>";
for($i=0;$i<count($data_to_send);$i++)
{
echo"数据包(".$i.")长度:".strlen($data_to_send[$i])."<br>";
fputs($fp,$data_to_send[$i],strlen($data_to_send[$i])); //发送正式数据
$returnValues[$i]=fread($fp,12);
echo"收到长度为".strlen($returnValues[$i])."的数据包:".$returnValues[$i]."<br>";
if($returnValues[$i][2]=="A") //正式数据包返回验证
{
echo"数据包格式正确!<br>";
}
else
{
echo"数据包格式错误!<br>";
}
}
}
else
{
echo"登录失败!";
}
fclose($fp);
echo"<br>连接关闭!";
}
}function send_msg($action_type,$info,$senderCode,$recieverCode)
{
global $hostIP,$port,$msgUser,$msgPassword;
$checkdata=check_pass($msgUser,$msgPassword);
for($i=0;$i<count($recieverCode);$i++)
{
$data_to_send[$i]=send_str($action_type,$i+1,$senderCode,$recieverCode[$i],$info);
}
ConectSockMsg($hostIP,$port,$checkdata,$data_to_send);
}//测试数据
$hostIP="";
$port="";
$msgUser=""; //登录名(6)
$msgPassword=""; //登录密码(6)
$action_type="";
$info="test!!!!!!!!!!";
$senderCode="13016826765";
$recieverCode=array("13052907789,13098776644");
send_msg($action_type,$info,$senderCode,$recieverCode);
如上面的朋友所说需要由server端和客户端
(以联通为列)server端负责和联通提供的端口通讯,按照联通给的协议发送数据。(以php为列)而客户端则按照和server端事先商议好的数据格式来将数据规范,然后发送给server端。
参考如下函数:
include("./get_msg.php");//标准化数据的函数文件
function ConectSockMsg($hostIP,$port,$checkdata,$data_to_send)
{
echo"<br>尝试连接端口".$hostIP.":".$port." ...<br>";
$fp = pfsockopen($hostIP,$port,$err_num,$err_msg,10);
if (!$fp)
{
echo "连接失败:".$err_msg."(".$err_num.")<br>";
}
else
{
echo"端口".$hostIP.":".$port." 被成功打开!<br>";
echo"发送登录数据包...<br>";
echo "数据包长度:".strlen($checkdata)."<br>";
fputs($fp,$checkdata,strlen($checkdata)); //发送登录数据包
$returnValue=fread($fp,12);
echo"收到长度为".strlen($returnValue)."的数据包:".$returnValue."<br>";
if($returnValue[2]=="A") //返回验证
{
echo"登录成功!<br><br>";
echo"发送信息数据包...<br>";
for($i=0;$i<count($data_to_send);$i++)
{
echo"数据包(".$i.")长度:".strlen($data_to_send[$i])."<br>";
fputs($fp,$data_to_send[$i],strlen($data_to_send[$i])); //发送正式数据
$returnValues[$i]=fread($fp,12);
echo"收到长度为".strlen($returnValues[$i])."的数据包:".$returnValues[$i]."<br>";
if($returnValues[$i][2]=="A") //正式数据包返回验证
{
echo"数据包格式正确!<br>";
}
else
{
echo"数据包格式错误!<br>";
}
}
}
else
{
echo"登录失败!";
}
fclose($fp);
echo"<br>连接关闭!";
}
}function send_msg($action_type,$info,$senderCode,$recieverCode)
{
global $hostIP,$port,$msgUser,$msgPassword;
$checkdata=check_pass($msgUser,$msgPassword);
for($i=0;$i<count($recieverCode);$i++)
{
$data_to_send[$i]=send_str($action_type,$i+1,$senderCode,$recieverCode[$i],$info);
}
ConectSockMsg($hostIP,$port,$checkdata,$data_to_send);
}//测试数据
$hostIP="";
$port="";
$msgUser=""; //登录名(6)
$msgPassword=""; //登录密码(6)
$action_type="";
$info="test!!!!!!!!!!";
$senderCode="13016826765";
$recieverCode=array("13052907789,13098776644");
send_msg($action_type,$info,$senderCode,$recieverCode);
我在想实际上如果非要用php的话,倒是有一个比较好的办法(我现在就在做这东西)我的公司已经有了联通短信平台,是一套我们自己开发的vc程序,采用sqlserver数据库,现在需要在web上发短信。
我们的意见是:
web操纵socket毕竟速度稳定性不如vc的东西,所以采用将用户输入的短信内容插入数据库,在服务端每隔半分钟扫描数据库,有新的东西进来就发送。
我认为这是个比较好的办法
业务量大了以后还可以换短信息猫,falcom公司有这种产品.
和移动谈必须有一定的业务量.有了业务量就可以在资费上打折扣了
这都没有什
发送短信
马的,我都申请了快半年了,计费测试都通过了,他妈的移动还不跟我签协议,我操
请问你们短信部分都完成了吗.
我们网站现在只做了NOKIA的。关于铃声部分我一直找不到相应的制作软件。如果您有能不能给我发一份,或者是有偿提供一份也成。
我對你所說的 手機+數據線 的方式非常感興趣,
如果只是內部使用,這確實是非常簡單而有效的解決方案.這正是我這一段時間來一直尋找的.非常感謝 !
只是,我不知道,如何編程實現呢?
在网站上通过php将手机短信的内容存入数据库中,服务器上启动守护进程每隔一段时间去扫描数据库,如果有新的消息就马上发送,这样的话,当数据量很大的时候不会出现过长的等待现象,如果时间过长,那说明短信在电信或者连通的短信网关等待的消息过多,我们采用的是cmpp协议!希望对你有所帮助!好运!
请大家推荐几本好书,做短信用得着的书