思路是对的。与短信网关的通信用CS多线程实现多通道,socket连接去做,短信网关有很长的一篇接口协议的,照着协议写收发就是了。如果需要bs提供短信内容,外部系统可以用webservice将内容写入待发短信表,内部系统则直接存。
解决方案 »
- jquery autocomplete中文检索问题
- "abc".equals( get() ) 是应该这样写吗?
- 居中问题
- the method setDate(int ,Date) in the type PreparedStatement is not applicable for the arguments (in
- Cannot forward after response has been committed
- orm.hibernate3.HibernateSystemException: Unknown entity: java.lang.Long;
- java 构建树形
- 复制的一个SSH框架的web工程并修改,运行时url地址还是之前的那个,在哪更改
- 请问有没有什么方法在提交form的时候输出所有的名值对
- 在jsp中模拟文件夹?
- jsp中关于session的问题
- jsp页面选择文件夹问题,急.....
并熟悉一下移动CMPP短信协议,联通的SGIP短信协议,电信SMGP短信协议。他们的技术很成熟,应用很广。涉及的技术方面较多,不是一个人能够写好的一个应用系统。
2:如果对消息驱动 Bean 熟悉的话,可以使用 JMS 队列进行操作这里有很多的技术难点,NIO 非阻塞通信、多线程并发、消息队列存取、发送优先级等等,还需要设计很多关于发送的数据表。
我们并不是从底层开发开始。而是直接使用SP商给的API,JMS没用过。NIO 非阻塞通信是socket编程的,我们这也涉及不到。消息队列存取倒是一个难点,因为有数据并发问题。
刚做过一个短信平台:B/S + C/SBS上用户点击 发送短信,JAVA 发送 socket 给 C ,C 使用消息队列,实时发送短信。
电信短信发出去,回执状态能提供几种?发送时返回的Submit_Resp如果是成功,代表提交网关成功还是手机用户已收到短信。还是说电信有另外提供获得回执的接口。
对照着文档看看就知道了,提交成功证明已经提交到电信短信网关,是否发送到用户手机的回执信息可能会在24小时内回复。 如果你能申请到sp号,移动,联通,电信的短信网关,开发思路都是差不多的。如果是第三方短信接口的话,一般ws的比较多,性能上没有socket好些。
你可以用临时表进行存储代发短信。 不过要定期转移发送成功的短信到备份表中。有些运营商要求短信内容要保持一年左右。
还有移动API开发时,长时间无操作就关闭连接,不知道如何解决。
你向移动等运营商的技术人员询问接口版本,然后自己到网上下载接口文档。发紧急数据包就可以了,心跳发送,例如利用socket的sendUrgentData发送也行。
果子的意思跟你的差不多,但是呢,他说的是多用户都是往Queue里插数据,然后会有一个搬运工程序,不停地从Queue里面去抓,然后调用SP 的API,而你的意思是大家往数据库塞。
其实JMS的基本原理是相似的。只是说外部会有很多修饰,包括监听,Message封装等等。我对JMS也不是很熟悉,仅为个人理解。
我比较倾向于数据库,即便程序临时性Down掉了,待发的短信内容还是在数据库里面。
有具体的delphi 操作实例可供参考吗? 对这个比较感兴趣咯.