思路是对的。与短信网关的通信用CS多线程实现多通道,socket连接去做,短信网关有很长的一篇接口协议的,照着协议写收发就是了。如果需要bs提供短信内容,外部系统可以用webservice将内容写入待发短信表,内部系统则直接存。

解决方案 »

  1.   

    sp的接口都没问题啊,发多少都没什么的。发短信时初始化通道然后关闭不知道什么意思,我以前做的时候,sp的接口就是个Url地址,不用什么信道啊?lz什么情况
      

  2.   

    用b/s做,api怎么不支持多线程啊?并发问题也可以解决
      

  3.   

    api多线程好像不支持。比如我初始化端口号口 生成俩线程 同时收发操作
      

  4.   

    给你推荐一个深圳嘉讯公司,你可以去应聘一下,当一下技术卧底,学习一下Java多线程非阻塞网络编程。
    并熟悉一下移动CMPP短信协议,联通的SGIP短信协议,电信SMGP短信协议。他们的技术很成熟,应用很广。涉及的技术方面较多,不是一个人能够写好的一个应用系统。
      

  5.   

    这种一般就是短信网关,不过这个网关是内部使用的,内部发送的消息都通过这个网关将消息发送至移动网关。实现的技术一般有:1:使用多线程对 Queue 进行操作,Queue 中存放需要发送的消息对象,即生产者/消费者模式
    2:如果对消息驱动 Bean 熟悉的话,可以使用 JMS 队列进行操作这里有很多的技术难点,NIO 非阻塞通信、多线程并发、消息队列存取、发送优先级等等,还需要设计很多关于发送的数据表。
      

  6.   

    使用 java + C 搞过 。搞的是彩信的 。
      

  7.   


    我们并不是从底层开发开始。而是直接使用SP商给的API,JMS没用过。NIO 非阻塞通信是socket编程的,我们这也涉及不到。消息队列存取倒是一个难点,因为有数据并发问题。
      

  8.   


    刚做过一个短信平台:B/S + C/SBS上用户点击 发送短信,JAVA 发送 socket 给 C  ,C 使用消息队列,实时发送短信。
      

  9.   

    关于电信的SMGP3.0 有个不明白的地方 望解答
    电信短信发出去,回执状态能提供几种?发送时返回的Submit_Resp如果是成功,代表提交网关成功还是手机用户已收到短信。还是说电信有另外提供获得回执的接口。
      

  10.   


    对照着文档看看就知道了,提交成功证明已经提交到电信短信网关,是否发送到用户手机的回执信息可能会在24小时内回复。 如果你能申请到sp号,移动,联通,电信的短信网关,开发思路都是差不多的。如果是第三方短信接口的话,一般ws的比较多,性能上没有socket好些。
    你可以用临时表进行存储代发短信。 不过要定期转移发送成功的短信到备份表中。有些运营商要求短信内容要保持一年左右。
      

  11.   

    三家都大不相同吧。。特别是那个联通的企信通,都不知道点对点回复如何实现。
    还有移动API开发时,长时间无操作就关闭连接,不知道如何解决。
      

  12.   

    移动的文档和技术人员并没有提到这个。我们是用的MAS服务器。请问这个链路包请求怎么写
      

  13.   


    你向移动等运营商的技术人员询问接口版本,然后自己到网上下载接口文档。发紧急数据包就可以了,心跳发送,例如利用socket的sendUrgentData发送也行。
      

  14.   

    你对果子的方案没有理解。
    果子的意思跟你的差不多,但是呢,他说的是多用户都是往Queue里插数据,然后会有一个搬运工程序,不停地从Queue里面去抓,然后调用SP 的API,而你的意思是大家往数据库塞。
    其实JMS的基本原理是相似的。只是说外部会有很多修饰,包括监听,Message封装等等。我对JMS也不是很熟悉,仅为个人理解。
    我比较倾向于数据库,即便程序临时性Down掉了,待发的短信内容还是在数据库里面。
      

  15.   


    有具体的delphi 操作实例可供参考吗? 对这个比较感兴趣咯.
      

  16.   

    用.net的webservice搞过一个传真系统,公司自建服务服务器和拉中继线的,根据电信的API文档写
      

  17.   

    思路正确,搞过纯java的短信网关
      

  18.   

    我也正在处理这个问题,正在考虑直接调用嘉讯的API接口试试做