微信小程式+java後端整合筆記
用到的工具和技術.
1.微信web開發工具小程式版
2.Myeclipse 2014
3.WebSocket
4.Maven 3.3.9
5.Tomcat 7
步驟
1.安裝配置Maven,使用Myeclipse建立web project 使用Maven專案結構. 具體步驟:點選開啟連結
2.開啟微信web開發工具,由於是內部開發測試,故不要填寫 appID, 建立新專案,把專案放在Maven專案目錄下 src/main/webapp/專案名
3.建立Websocket 實現握手通訊.
以下程式碼均來自網路資料.
java伺服器端:
- package websocketTest;
- import java.io.IOException;
- import java.util.concurrent.CopyOnWriteArraySet;
- import javax.websocket.*;
- import javax.websocket.server.ServerEndpoint;
- /**
- * @ServerEndpoint 註解是一個類層次的註解,它的功能主要是將目前的類定義成一個websocket伺服器端,
- * 註解的值將被用於監聽使用者連線的終端訪問URL地址,客戶端可以通過這個URL來連線到WebSocket伺服器端
- */
- @ServerEndpoint("/websocket")
- public class TestWebSocket {
- //靜態變數,用來記錄當前線上連線數。應該把它設計成執行緒安全的。
- private static int onlineCount = 0;
- //concurrent包的執行緒安全Set,用來存放每個客戶端對應的MyWebSocket物件。若要實現服務端與單一客戶端通訊的話,可以使用Map來存放,其中Key可以為使用者標識
- private static CopyOnWriteArraySet<TestWebSocket> webSocketSet = new CopyOnWriteArraySet<TestWebSocket>();
- //與某個客戶端的連線會話,需要通過它來給客戶端傳送資料
- private Session session;
- /**
- * 連線建立成功呼叫的方法
- * @param session 可選的引數。session為與某個客戶端的連線會話,需要通過它來給客戶端傳送資料
- */
- @OnOpen
- public void onOpen(Session session){
- this.session = session;
- webSocketSet.add(this); //加入set中
- addOnlineCount(); //線上數加1
- System.out.println("有新連線加入!當前線上人數為" + getOnlineCount());
- }
- /**
- * 連線關閉呼叫的方法
- */
- @OnClose
- public void onClose(){
- webSocketSet.remove(this); //從set中刪除
- subOnlineCount(); //線上數減1
- System.out.println("有一連線關閉!當前線上人數為" + getOnlineCount());
- }
- /**
- * 收到客戶端訊息後呼叫的方法
- * @param message 客戶端傳送過來的訊息
- * @param session 可選的引數
- */
- @OnMessage
- public void onMessage(String message, Session session) {
- System.out.println("來自客戶端的訊息:" + message);
- //群發訊息
- for(TestWebSocket item: webSocketSet){
- try {
- item.sendMessage(message);
- } catch (IOException e) {
- e.printStackTrace();
- continue;
- }
- }
- }
- /**
- * 發生錯誤時呼叫
- * @param session
- * @param error
- */
- @OnError
- public void onError(Session session, Throwable error){
- System.out.println("發生錯誤");
- error.printStackTrace();
- }
- /**
- * 這個方法與上面幾個方法不一樣。沒有用註解,是根據自己需要新增的方法。
- * @param message
- * @throws IOException
- */
- public void sendMessage(String message) throws IOException{
- this.session.getBasicRemote().sendText(message);
- //this.session.getAsyncRemote().sendText(message);
- }
- public static synchronized int getOnlineCount() {
- return onlineCount;
- }
- public static synchronized void addOnlineCount() {
- TestWebSocket.onlineCount++;
- }
- public static synchronized void subOnlineCount() {
- TestWebSocket.onlineCount--;
- }
- }
- 微信小程式客戶端:
- <pre name="code" class="javascript">var app = getApp()
- Page({
- onLoad:function(){
- wx.connectSocket({
- url: "ws://localhost:8080/TestYMG/websocket",
- })
- wx.onSocketOpen(function() {
- console.log('WebSocket連線已經開啟!')
- wx.sendSocketMessage({
- data: 'HELLO,WORLD'+Math.random()*0XFFFFFF.toString()
- })
- });
- wx.onSocketMessage(function(data) {
- console.log(data);
- });</pre><pre name="code" class="javascript"> //監聽是否關閉
- wx.onSocketClose(function() {
- console.log('WebSocket連線已經關閉!')
- });
- },</pre><pre name="code" class="javascript"> //手動關閉連線
- setclose:function(e){
- console.log('WebSocket連線正在關閉!')
- wx.closeSocket();
- }
- })
- </pre><br>
- <p></p>
- <pre></pre>
- <p></p>
原文地址http://www.bieryun.com/671.html
相關文章
- 微信小程式學習筆記微信小程式筆記
- laravel後端生成微信小程式海報Laravel後端微信小程式
- 基於後端雲微信小程式開發後端微信小程式
- 開源微信小程式商城(後臺Java)微信小程式Java
- 微信小程式入門學習筆記微信小程式筆記
- Java 後端微信支付demoJava後端
- 微信小程式開發學習筆記[4]微信小程式筆記
- mpvue開發微信小程式踩坑筆記Vue微信小程式筆記
- 微信小程式開發學習筆記[2]微信小程式筆記
- 微信小程式開發學習筆記[3]微信小程式筆記
- 微信小程式--學習筆記(思維導圖)微信小程式筆記
- 微信小程式開發筆記(2017.07.27)微信小程式筆記
- 筆記:後端 - Redis筆記後端Redis
- 微信小程式開發小記微信小程式
- Java常用小筆記Java筆記
- Java後臺筆記Java筆記
- 從0開始搭建微信小程式(前後端)的全過程微信小程式後端
- 從零搭建微信小程式後臺微信小程式
- 微信小程式踩坑記錄微信小程式
- 【微信小程式】微信小程式掉進的坑之與後臺資料互動微信小程式
- java-微信小程式開發工具Java微信小程式
- 記錄一次用寶塔部署微信小程式Node.js後端介面程式碼的詳細過程微信小程式Node.js後端
- 原生微信小程式開發記錄微信小程式
- 微信小程式BLE踩坑記錄微信小程式
- 微信小程式+騰訊雲直播的實時音影片實戰筆記微信小程式筆記
- 小程式開發筆記筆記
- 微信小程式iOS端如何暫停animated動畫微信小程式iOS動畫
- Java後端避坑——Spring Boot整合ShiroJava後端Spring Boot
- App《最美詩詞》開發 -- Java後端(整合框架)APPJava後端框架
- Android前端 Java後端 整合支付寶支付Android前端Java後端
- 【Java】微信公眾號開發筆記Java筆記
- 記一次微信分享前後端實現後端
- Day12-微信小程式實戰-交友小程式-搭建伺服器與上傳檔案到後端微信小程式伺服器後端
- java微信小程式獲取ACCESS_TOKENJava微信小程式
- .NET CORE MYSQL 微信小程式 HTTPS 隨筆MySql微信小程式HTTP
- 微信小程式 海報生成踩坑記微信小程式
- 微信小程式微信小程式
- 當微信小程式遇上TensorFlow:Server端實現微信小程式Server