不知道php的socket可以吗?
asp用winsock可以,用ip和端口传送特定格式数据.

解决方案 »

  1.   

    有两种方式,至于短信接口商(比如移动,以及其他使用移动接口的公司)给你开放哪种接口就不一定了
    第一种是http方式
    第二种是socket方式
    第一种一般使用get方式传送信息到短信接口服务器,比如http://接口服务器:port/?参数名=****等
    因为短信内容不允许超过70个汉字,所以get方式足够使用了
    第二种只是使用socket方式连接而已,而其他参数跟get方式没啥区别
      

  2.   

    那 这主要用到php的哪方面知识呢,大体的方法是怎么样的呢
      

  3.   

    第一种方法
    $fp = fopen("http://url:port/?spid=80889&password=123456..........一系列参数", "r");
    第二种方法
    $fp = fsockopen($url, $port);
    $request="spid=80889";//发送内容
    fputs($fp, $request);
    while (!feof ($fp))

       $tmp .= fgets($fp, 4096); //接收信息

    if($tmp=="ok")
    {
    $request="password=123456";//发送内容
    fputs($fp, $request);
    $tmp=="";
    while (!feof ($fp))

       $tmp .= fgets($fp, 4096); //接收信息

    }
    ...
    .....
    fclose($fp);使用类似的这种方法就可以了
      

  4.   

    具体流程,每个提供商都可能不一样
    只要记住一点,只要把参数提交到接口服务器,其他的你都不用考虑
    有一个流程是共同的
    就是,你把参数信息提交到服务器后,服务器同样采用两种方式中的一种方式,把信息返回给你
    比如,你事先告诉服务商,给你提交是否正确发送短信的报告地址,http://自己的网站地址/文件名
    那么你每次向服务器提交信息,他们处理完你的信息之后,就会执行你告诉他们的地址,以方便让你知道短信是否正常发送,当然,你也可以使用指定端口用socket方式进行要求报告
      

  5.   

    同时,对客户的收费是联通 或 移动来扣的,那么 这一部分钱 他们会留下一部分吧, qingxia(青虾) 大哥,剧你了解的情况来看,网络短信的前途又如何呢,谢谢你的回复
      

  6.   

    qingxia(青虾) 大哥有没有关于 php socket方面的资料呢,让小弟参考参考,谢谢
      

  7.   

    你所指的用PHP做是什么意思?用PHP开发接口?(如果是这种想法请你赶快撤销!太慢~还麻烦~而且占用资源比较多!)你要是用PHP想来实现开展业务的话~我可以告诉你那是可以的!但是你必需得对MYSQL+PHP得熟
      

  8.   

    php的socket很简单的,基本没几个语句
    上面我贴的代码,就足够用了
      

  9.   

    我以前根据提供商做的.可以参考一下.主要是socket的读取
    $smsUID="xxx"; //短信网关分配给你的用户名和密码
    $smsPWD="SMS";
    $smsSocket="192.168.1.1"; //短信网关的IP 211.151.90.7
    $smsPost=1081; //短信网关的端口
    $fp=@fsockopen($smsSocket,$smsPost,&$errno, &$errstr, $smsTimeout);
    if(!$fp)
    {
    echo "<font color=#ff0000><b>连接失败,请查看是否正确连接到网络!</b></font>"; //连接失败
    }
    else
    {
    //登录到短信中心服务器
    fputs($fp,"login\n");
    fputs($fp,$smsUID."\n");
    fputs($fp,$smsPWD."\n");
    fputs($fp,"\n");
    $MessageContent=trim($_POST["MessageContent"]);
    $MobileNo=trim($_POST["MobileNo"]); $ServiceType="MFFW"; //计费代码       3        TP           0.5    按条收费
    $Priority="0"; //发送优先级
    $AgentFlag="0"; //代收费标志
    $MoFlag="2"; //点播号
    $ExpireTime=""; //短信失效时间
    $ScheduleTime=""; //定时发送时间
    $ReportFlag="1"; //状态报告
    $status="255"; //都要返回状态报告
    $MessageType="TEXT"; //短信类型 文本信息
    $FreeTerminalNo=$MobileNo; //记费手机号码
    $TargetTerminalNo=$MobileNo; //接收方手机号码
    $SourceTerminalNo=$MobileNo; //发送方手机号码
    $MessageId="123";
    print(fget($fp,4096));
    print(fget($fp,4096));
    fputs($fp,"submit"."\n");
    fputs($fp,$MessageId."\n");
    fputs($fp,$FreeTerminalNo."\n");
    fputs($fp,$SourceTerminalNo."\n");
    fputs($fp,$TargetTerminalNo."\n");
    fputs($fp,$ServiceType."\n");
    fputs($fp,$MoFlag."\n");
    fputs($fp,$ReportFlag."\n");
    fputs($fp,$ExpireTime."\n");
    fputs($fp,$ScheduleTime."\n");
    fputs($fp,$MessageType."\n");
    $MessageContent=str_replace("\r","",str_replace("\n","",$MessageContent)); //不能有回车
    fputs($fp,$MessageContent."\n");
    fputs($fp,"\n"); print("<br>发送成功!<br>".$MobileNo." : ".$MessageContent);
    fclose($fp);
    }