WAP PUSH鐨勭壒鐐逛紭鍔?br /> 鐪佸幓鐢ㄦ埛鍦ㄦ墜鏈轟笂杈撳叆緗戝潃鐨勪笉鏂逛究銆傚鏈変簺緗戝潃瀛楁暟澶氾紝杈撳叆寰堥夯鐑︺?br /> 閫傚悎鐢ㄦ潵鍋氶拡瀵規х殑淇冮攢銆佸箍鍛婂浼犮傚鎮ㄥ彲浠ョ洿鎺ヨ鏌愪釜媧誨姩淇℃伅鐨勯〉闈㈠湴鍧銆佹煇涓紭鎯犲埜鐨勯〉闈㈠湴鍧銆佹煇涓駭鍝佺殑欏甸潰鍦板潃鐩存帴鎺ㄩ佸埌鐢ㄦ埛鎵嬫満銆?br /> 鐢ㄦ埛寮哄埗鎬ф帴鍙楋紝鍒拌揪鐜囪揪鍒?00錛?
涓銆丼MS鐭俊鍙戦佹柟寮忥紙2縐嶏級
1銆佸湪Java緙栫▼涓彲浠ラ氳繃Java Comm綾昏繘琛屾墜鏈轟笌鐢佃剳鐨勪覆鍙i氳錛屽茍閫氳繃AT鎸囦護鎺у埗鎵嬫満鎿嶄綔銆傦紙鏈搴曞眰鏂瑰紡錛?br />
2銆丼MSLib欏圭洰錛屽皝瑁呬簡搴曞眰AT鎸囦護闆嗭紝涓嶉渶鑷繁鍦ㄥ幓鍐欏簳灞傜殑 AT鎸囦護涓庢墜鏈鴻繘琛岄氳銆傦紙闇瑕丼MSLib寮鍙戝寘錛屾病鏈夊畬鏁寸殑API鏂囨。錛屽彧鑳介氳繃鏍蜂緥鏌ョ湅錛屽叾榪愯鏃墮渶瑕乻lf4j錛堢被浼糽og4j)鍜孞ava comm鐨勬敮鎸侊級
浜屻佹墍闇鐨凧ava comm 鏂囦歡鍙婇厤緗柟娉曪細
錛?錛変笅杞芥枃浠訛細javacomm20-win32.zip
JAVA_HOME%鏄痡dk鐨勮礬寰勶紝鑰岄潪jre銆係MSlib 鍙敮鎸丣DK1.6鍙婁互涓?
1.comm.jar鎻愪緵浜嗛氳鐢ㄧ殑java API銆傛嫹璐濆埌%JAVA_HOME%\jre\lib\ext鐩綍銆?br />
2.win32com.dll鎻愪緵浜嗕緵comm.jar璋冪敤鐨勬湰鍦伴┍鍔ㄦ帴鍙c傛嫹璐濆埌%JAVA_HOME%\bin
3.javax.comm.properties鏄繖涓┍鍔ㄧ殑綾婚厤緗枃浠躲傚鍒跺埌%JAVA_HOME%\jre\lib鐩綍銆?
錛?錛変笅杞絊MSLib
涓夈佸紑鍙戞楠わ細
錛?錛夊垱寤哄茍閰嶇疆鐩稿叧瀵硅薄騫跺惎鍔ㄦ湇鍔?/p>
// 鍒涘緩鏈嶅姟瀵硅薄銆傦紙浠呬笖鍙湁涓涓湇鍔″璞★紝浣嗗彲浠ユ湁澶氫釜緗戝叧錛?br /> this.srv = new Service();
// 鍒涘緩涓涓狦SM modem 綾誨瀷浠f浛緗戝叧錛堜篃鍙互鍒涘緩鍒殑綾誨瀷錛夈?br />
SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM1", 57600, "Nokia", "");
gateway.setProtocol(Protocols.PDU);// 璁劇疆PDU鍗忚(PDU鏄粯璁ょ殑錛屼篃鍙互璁劇疆涓篢EXT綆鍗曟枃鏈崗璁級.
gateway.setInbound(true);//璁劇疆緗戝叧鑳藉惁鎺ユ敹娑堟伅(鍏ョ珯)
gateway.setOutbound(true);//璁劇疆緗戝叧鑳藉惁鍙戦佹秷鎭?鍑虹珯)
gateway.setSimPin("0000");// Let SMSLib know which is the SIM PIN.
//瀵逛簬寮傛澶勭悊鐭俊鏃訛紝鎵嶉噰鐢ㄤ簨浠墮┍鍔ㄦ満鍒訛紝濡備笅錛?br />
//璁劇疆浜嬩歡鐨勫洖璋冪被(浠ヤ笅浠呭寘鎷竴閮ㄥ垎.姣忎釜浜嬩歡閮芥槸涓涓疄鐜板搴旀帴鍙g殑綾誨茍瀹炵幇鍏秔rocess鏂規硶).
this.srv.setInboundMessageNotification(inboundNotification);//鏀跺埌鐭俊浜嬩歡鍑芥暟
this.srv.setCallNotification(callNotification);//鎺ュ埌鐢佃瘽浜嬩歡鍑芥暟
this.srv.setGatewayStatusNotification(statusNotification);//緗戝叧鐘舵佸彉鍖栦簨浠跺嚱鏁?br />
this.srv.setOrphanedMessageNotification(orphanedMessageNotification);
this.srv.addGateway(gateway);// 娣誨姞緗戝叧鍒版湇鍔″璞′腑.
this.srv.startService();// 鍚姩鏈嶅姟瀵硅薄.
錛?錛夎鍙栫煭淇?br />
鍚屾璇誨彇紺轟緥:
msgList = new ArrayList<InboundMessage>();
//璇誨彇淇℃伅(涓昏鏂規硶)--涓や釜鍙傛暟鎸囧畾瑕佷繚瀛樼殑浣嶇疆鍜岃璇誨彇鐨勭煭淇$殑綾誨瀷錛屽宸茶錛屾湭璇伙紝淇℃伅鎶ュ憡絳夈?br />
this.srv.readMessages(msgList, MessageClasses.ALL);
for (InboundMessage msg : msgList)
System.out.println(msg);
There are two ways to read messages:
The synchronous way: just call the readMessages() method of the Service class. SMSLib will iterate all defined gateways, collect messages from all and return them in a collection. Note that you will be blocked until SMSLib returns. There are many forms of the readMessages() call - choose the one according to your needs.
The asynchronous way: you can implement some callback methods in your code (listeners) and pass them to the Service. SMSLib will then automatically call you upon message reception. For more information, see Callback methods.
鍚屾璇誨彇錛歵his.srv.readMessages(msgList, MessageClasses.ALL);
寮傛璇誨彇錛氬湪浜嬩歡澶勭悊鍑芥暟涓鍙?
錛?錛夊彂閫佺煭淇?/p>
There are two ways to send a message:
The synchronous way: create a message object and call the sendMessage() method of the Service class. Note that you will be blocked until SMSLib returns. Upon return, you can examine the message object to see the fate of your message.
The asynchronous way: use the queueMessage() family of methods to queue your message. Queueing a message returns control immediately to you. SMSLib keeps this message in internal queues and send its in the background. To learn about the fate of your message, you should setup a IOutboundMessageNotification callback method (see Callback methods).
鍚屾鍙戦侊細sendMessage()
寮傛鍙戦侊細queueMessage()
鍚嶈瘝瑙i噴:
gateway鐨勬蹇電殑瑙i噴浠嬬粛錛?/p>
gateway鏄敤鏉ユ敹鍙憇ms鐭俊鐨勪竴涓澶囨垨鑰呬竴涓湇鍔$殑鎺ュ彛錛屼竴涓綉鍏沖彲浠ユ槸涓涓猤sm modem 涔熷彲浠ユ槸涓涓湇鍔℃彁渚涘晢錛宻mslib 鍙互鍚屾椂澶勭悊澶氫釜gateway
鍙戦佷紭鍏堢駭錛?/p>
Smslib 鍙戦佺煭淇″彲浠ユ彁渚涗竴涓棤闄愬埗鐨勪紭鍏堢駭錛岋紙灝辨槸鍙戦佸鏉$煭淇℃椂鐨勪竴涓瓥鐣ワ紝鍝釜鍏堝彂錛屽摢涓悗鍙戯級,smslib 浼樺厛綰х瓥鐣ユ槸璺熶綘鐨刧ateway錛坓sm modem 鎴栬呮槸鐭俊鎻愪緵鍟嗭級瀵瑰簲鐨勶紝闄ら潪浠栦滑鏄吉鐓х殑銆?/p>
寮傛銆佸悓姝ユ帴鏀?/p>
Smslib 鏈変袱涓柟寮忔帴鏀剁煭淇?/p>
1. 鍚屾鎺ユ敹錛氫綘鍙互闅忔椂鐨勮皟鐢╮ead()鏂規硶鏉ユ帴鏀剁煭淇°?/p>
2. 寮傛鎺ユ敹錛氱瓑寰卻mslib 鑷姩鎺ユ敹鐭俊錛屽綋鐭俊鍒版潵鏃躲?/p>
寮傛銆佸悓姝ュ彂閫?/p>
Smslib 鍚屾牱鏈変袱縐嶆柟寮忓幓鍙戦佺煭淇?/p>
1. 鍚屾鍙戦侊細褰撲綘鐨刟pp浣跨敤smslib 鍙戦佷竴鏉$煭淇℃椂錛宎pp綰跨▼灝嗕細閿佸畾錛岀洿鍒扮煭淇″彂閫佸畬姣曪紝鎴栨槸鍙戦佸け璐ャ?/p>
2. 寮傛鍙戦侊細褰撲綘浣跨敤榪欑鏂瑰紡鍙戦佷竴鏉$煭淇℃椂錛宎pp 綰跨▼涓嶄細閿佸畾錛宻msliib 浼氶┈涓婅繑鍥烇紝smslib 浼氬皢浣犵殑鐭俊錛坰錛夊湪鍚庡彴鍙戦併備綘鍙互閫夋嫨鏄惁鎻愰啋鍙戝嚭鐭俊鐨勭姸鎬併?/p>
鍥炶皟鍑芥暟
褰撴湁鏂頒簨浠跺彂鐢熸椂錛堟敹鍒版柊鐭俊錛屾垨鑰呮槸涓鏉$煭淇″彂閫佹垚鍔熸垨鑰呮槸澶辮觸錛夛紝smslib 鍙互瀹氫箟鍥炶皟鏂規硶錛堜簨浠墮┍鍔級
Inbound voice calls錛氬綋鏈変竴鐢佃瘽鎵撹繘鏃訛紝浣犲彲浠ヨ緗槸鍚︽彁閱掍綘錛岃娉ㄦ剰榪欎釜鍛煎彨灝嗕細鑷姩鐨勬棤鏉′歡鐨勮嚜鍔ㄦ寕鏂?/p>
Inbound messages:姣忓綋鏈夋柊鐨勭煭淇℃潵鍒版椂錛宻mlib 鍙互璁劇疆璋冪敤浣犵殑鎸囧畾鐨勬柟娉?/p>
Outbound messages:褰撲綘浣跨敤寮傛鍙戦佷俊鎭椂錛屼綘鍙互璋冪敤浣犳寚瀹氱殑鏂規硶鏉ュ緱鍒板凡緇忓彂閫佺殑鐭俊鐨勭姸鎬佷俊鎭瓑銆?/p>
Gateway status changes錛歴mslib 鍙互鎻愰啋浣犳瘡嬈ateway 鏀瑰彉鐘舵佺殑鎯呭喌
Queue sending operation錛歴mslib 鍙互闅忔椂闅忓埢鐨勫噯澶囧彂閫佷竴鏉$煭淇★紝鍙互闅忔椂闅忓湴鐨勫彇鍒板綋鍓嶇煭淇$殑鍙戦佺姸鎬併?/p>