微信小程序客户端+java服务端. 只能使用websocket进行通信吗?

微信小程序客户端+java服务端. 只能使用websocket进行通信吗?
还有没有其他方式方法?

0

1个回答

没做过小程序,不过我理解的通信只是一种交互方式,不一定非要websocket吧,你可以尝试一下,用long poll 或者 ajax 轮询来模拟websocket效果。。。websocket的目的就是实现http的长链接

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java服务端与Android客户端使用 websocket 通信
最近因为项目需要所以得使用 websocket 来进行服务器与客户端的通信。使用java 来实现服务端,Android 实现客户端。 刚开始服务端使用 @ServerEndPoint 注解来实现 Websocket 服务端,但是 Android 使用的是autobahn 实现的客户端,所以一直连接不上,报错为:WebSockets protocol violation 。 后面我把服务端改...
微信小程序之WebSocket
为什么需要websocket? 传统的实时交互的游戏,或服务器主动发送消息的行为(如推送服务),如果想做在微信上,可能你会使用轮询的方式进行,不过这太消耗资源,大量的请求也加重了服务器的负担,而且延迟问题比较严重。如果是自己开发的app,为了解决这些问题,很多团队会自建socket,使用tcp长链接、自定协议的方式与服务器进行相对实时的数据交互。有能力的团队,采用这种方式自然没什么大问题。不过小团队可能就要花费很多时间去调试,要解决很多难题,这个在成本上就划不来。 H5引入了webSocket来解决网页端的长链接问题,而微信小程序也支持websocket。这是一个非常重要的特性,所以本系列的文章会专门拿出一篇来讨论websocket。 webSocket本质上也是TCP连接,它提供全双工的数据传输。一方面可以避免轮询带来的连接频繁建立与断开的性能损耗,另一方面数据可以是比较实时的进行双向传输(因为是长链接),而且WebSocket允许跨域通信(这里有个潜在的跨域安全的问题,得靠服务端来解决)。目前除IE外的浏览器已经对webSocket支持得很好了,微信小程序再推一把之后,它会变得更加流行。 我们来设计一个新的demo,一个比较有趣的小游戏,多人版扫雷,准确地讲,多人版挖黄金。 游戏规则是这样的:把雷换成金子,挖到金子加一分,每人轮流一次(A挖完轮到B,B挖完A才能再点击),点中金子就算你的,也不会炸,游戏继续,直到把场上所有的金子都挖完游戏才结束。跟扫雷一样,数字也是表示周边有几个金子,然后用户根据场上已经翻出来的数字来猜哪一格可能有金子。 这种交互的游戏难点在于,用户的点击操作都要传到服务器上,而且服务器要实时的推送到其它玩家的应用上。另外用户自己也要接收对方操作时实时传过来的数据,这样才不至于重复点中同一个格子。简单讲,就是你要上报操作给服务器,而服务器也要实时给你推消息。为了简化整个模型,我们规定玩家必须轮流来点击,玩家A点完后,才能轮到玩家B,玩家B操作完,玩家A才能点。 我们分几步来实现这个功能。 一、实现思路 1、第一步,我们要先生成扫雷的地图场景 这个算法比较简单,简述一下。随机取某行某列就可以定位一个格子,标记成金子(-1表示金子)。mimeCnt表示要生成的金子的数量,用同样的方式循环标记mimeCnt个随机格子。生成完后,再用一个循环去扫描这些-1的格子,把它周边的格子都加1,当然必须是非金子的格子才加1。代码放在这里。 其中increaseArround用来把这格金子周边的格子都加1,实现也比较简单: 执行genMimeArr(),随机生成结果如下: -1表示金子。看了下貌似没什么问题。接下去,我们就要接入webSocket了。 (这个是js版本的,其实生成地图场景的工作是在后台生成,这个js版本只是一个演示,不过算法是一样的。) 2、我们需要一个支持webSocket的服务端 本例子中,我们使用python的tornado框架来实现(tornado提供了tornado.websocket模块)。当然读者也可以使用socket.io,专为webSocket设计的js语言的服务端,用起来非常简单,它也对不支持webSocket的浏览器提供了兼容(flash或comet实现)。 笔者本人比较喜欢使用tornado,做了几年后台开发,使用最多的框架之一的就是它,NIO模型,而且非常轻量级,同样的rps,java可能需要700-800M的内存,tornado只要30-40M,所以在一台4G内存的机子上可以跑上百个tornado服务,而java,对不起,只能跑3个虚拟机。微服务的时代,这一点对小公司很重要。当然如果读者本人对java比较熟悉的话,也可以选择netty框架尝试一下。 webSocket用tornado的另一个好处是,它可以在同一个服务(端口)上同时支持webSocket及http两种协议。tornado的官方demo代码中展示了怎么实现同时使用两种协议。在本游戏中,可以这么用:用户进入首页,用http协议去拉取当前的房间号及数据。因为首页是打开最多的,进了首页的用户不一定会玩游戏。所以首页还没必要建立webSocket链接,webSocket链接主要用来解决频繁请求及推送的操作。首页只有一个请求操作。选了房间号后,进去下一个游戏页面再开始建立webSocket链接。 3、客户端 使用微信小程序开发工具,直接连接是会报域名安全错误的,因为工具内部做了限制,对安全域名才会允许连接。所以同样的,这里我们也继续改下工具的源码,把相关的行改掉就行修改方式如下: 找到asdebug.js的这一行,把它改成: if(false)即可。
使用socket,实现小程序上的信息,实时同步到pc端
package com.njzykj.ms.support.wechatsocket; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.njzykj.ms.entity.wechat.ZykjAlarmAttachments; import com.njzykj.ms.en...
微信小程序3——小程序与服务端通信
我们在微信小程序的项目中,勾起 开发环境不检验请求域名、TLS以及HTTPS证书就可以使用http请求了。 我们在“我的信息”这一惨菜单栏加一个按钮,点击的事件就是发送一个request请求到服务端,然后取回返回的数据打印在控制台中。 其中myinfo.js代码如下: Page({ data:{ //logs:[] }, test
websocket服务端与客户端通信实例
socket服务端采用SuperSocket搭建,客户端与服务端进行连接及向服务端发送消息,服务端使用业务向客户端发送消息进行通信
微信小程序实时聊天之WebSocket
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文: 1.所有监听事件先在onload监听。 // pages/index/to_news/to_news.js var app = getApp(); var socketOpen = false; var SocketTask = false; var url = 'ws://...
微信小程序实现即时通讯聊天功能实现websocket长连接
直接上代码了 app.js中声明一个全局对象 globalData: { localSocket: {}, callback: function () {}, exceptionClose: true }, // 初始化socket initSocket() { let that = this; that.globalData.excepti...
基于netty的websocket协议的对话小程序
基于netty的websocket协议的对话小程序 目的: 开发一个和服务端对话的小程序demo 客户端:h5页面+原生js 服务端:基于websocket协议的netty小程序demo 流程逻辑: 核心代码: 代码地址: 码云地址 服务端代码 wsserver.java package my.suveng.nettyhello.module.wsserver; import io.netty...
C# WinForm 通过WebSocket 实现与服务端通讯示例
前言 接到一个新的任务,功能就是服务端主动给客户端推送消息,服务端是websocket,要求客户端用winFrom窗体程序 通过查阅各种资料对理论知识进行充电,终于了解了Socket的概念,相信大家也对Socket有自己的理解,所以我们这里就不做理论延伸,只做demo演示,有想法的我们可以在评论区中交流学习。 开搞 习惯面向百度编程的我,开始发...
java WebSocket服务端和客户端实现
最近接到老大指示,研究下WebSocket是个神马东东,接到指示后疯狂百度,四天下来把网上的demo试了N次,但没一次成功,还买了一本入门的书,按书上的第一个demo,最后的结果是,tomcat运行正常,但是ws访问一直失败。当然最后找到了原因,我不得不说,网上那些demo其实没错(大部分),只是有些关键点没说明白,不然我也不会瞎折腾四天。 介绍WebSocket的内容我就不说...
微信小程序基于node.js的websocket服务器搭建和SSL证书申请、配置全家桶
最近在研究微信小程序的开发,中间遇到了不少问题,趟了不少坑,这里和大家分享一下我的一些经验,希望能给大家提供一些帮助。
微信小程序开发——websocket(socket在线测试服务器,或本地socket服务器)
WeChat小程序交流(QQ群:769977169)在线socket服务器:http://www.blue-zero.com/websocket/本地socket服务器:链接:https://pan.baidu.com/s/13KuJXGaVdNcDnO7xysyUtw  密码:3k34效果图代码示例xxx.wxml<button bindtap='startClick'>连接<...
Netty作为服务端的websocket通信
http协议是无状态的,因此导致客户端每次通信都需要携带标识(session)给服务端,以此来识别是哪个客户端发送过来的信息。但是当服务端主动推送给客户端时就无法实现了,因为服务端不知道客户端在哪,此时通常的做法时客户端轮询服务端,不停的给服务端发送消息,来接受服务端信息。很明显这种方式会浪费大量的资源,并且HTTP消息本身携带的数据就比较大,频繁发送更会增加网络负担。websocket就是为了解
websocket通信客户端服务端测试样例
websocket笔记:测试代码。 使用到jar: javaee-api-7.0.jar tyrus-standalone-client-1.13.1.jar server 端: import javax.websocket.*; import javax.websocket.server.ServerEndpoint; import java.io.IOException; impor...
mqtt服务器搭建成功,微信端可以通过websocket访问,计算机可以访问,安卓可以访问,stm32嵌入式可以访问,一个完整的物联网系统!
mqtt服务器搭建成功,微信端可以通过websocket访问,计算机可以访问,安卓可以访问,stm32嵌入式可以访问,一个完整的物联网系统!
微信小程序websocket多页面冲突解决办法
1.在app.js中连接websockt,在个字页面中监听这样可以始终保持只有一个websockt连接,不会提示错误
Vue+Java 通过websocket实现服务器与客户端双向通信
websocket1. vue代码2. java代码 1. vue代码 methods: { //在方法里调用 this.websocketsend()发送数据给服务器 onConfirm () { //需要传输的数据 let data = { code: 1, item: ‘传输的数据’ } ...
websocket中转protobuf请求,从小程序接收protobuf请求转发到tcp服务,再把tcp服务的响应转发到小程序
package main import ( "flag" "net" "github.com/BurntSushi/toml" "github.com/gorilla/websocket" "log" "net/http" "runtime" "encoding/binary"
微信小程序websocket实现即时聊天
今天给大家分享一下本人做小程序使用websocket的一点小经验,希望对大家有所帮助。 使用之前肯定首先要了解一下websocket是什么,简单来讲websocket就是客户端与服务器之间专门建立的一条特殊通道,请求只需要请求一次,而且还可以从通道实时获取服务器数据,非常适合应用到实时应用上。 因为这里本人是分享小程序,所以就不去深究websocket的底层和协议了,感兴趣的朋友可以去看下we...
微信小程序 websocket
今天学习了一下微信小程序的websocket,服务端使用的是apache+php 发现无法连接成功,得进一步学习,微信小程序中使用 websocket 协议必须是https , 因本地不支持https进行测试,所以改用了 ws:// 协议,ws 和 wss 均为 WebSocket 协议的 schema,一个是非安全的,一个是安全的 tcp + ws as ws,tcp + tls + ws a
WebSocket在服务端和客户端通信demo,支持心跳检测+断线重连
一、为什么需要 WebSocket?初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。这种单向请求的特点,注定了如果服务器有连续...
tp5配置workerman与小程序建立socket链接
1.在tp5中安装workerman 1-安装workerman 首先通过 composer 安装 composer require topthink/think-worker 如果报错: Installation failed, reverting ./composer.json to its original cont 则使用 composer require topthink/think-w...
android与服务端websocket通讯示例
服务端库依赖详见章末spring websocket服务端代码(会话过程)public class HandshakeInterceptor extends HttpSessionHandshakeInterceptor { private static final Logger logger = LoggerFactory.getLogger(HandshakeInterceptor.cl
微信小程序——与后端通信
最近在学习微信小程序,而与后端通信是小程序非常重要的一个方面,而微信小程序开发版中是不可以直接识别外网生成的api接口的,所以我们需要用到一些渗透工具,这里特来记录一下。 微信小程序使用wx.request(OBJECT)来调用后端接口(作为一个后端人员,还是要学习一些前端知识的。。): wx.request({ url: 'test.php', // 仅为示例,并非真实的...
通过WebSocket和STOMP实现浏览器和服务器的消息通信
异步消息异步消息有两个重要的概念,消息代理(broker)和目的地(destination)。消息代理:当一个应用发送消息时,需要制定发送的目的地,然后将消息交给消息代理(类似邮局),消息代理会确保消息发送到指定的目的地。目的地:不同的消息系统有不同的消息路由模式,但是有两种通用的目的地:队列(queue)和主题(topic),分别对应两种消息模型:点对点模型和发布/订阅模型点对点模型:队列可以有...
基于MFC的Socket客户端和服务端通信
前段时间用MFC写了一个基于Socket的服务端和客户端的加密通信,是一个短连接。数据库用的MySQL。我直接上几张图吧,代码不贴出来了,比较懒,我放下载链接。 Server下载地址 Client下载地址 MySQL导出文件 mysql文件可以自己建立,就两个表,几个变量,代码中需要修改数据库的链接以及密码。 效果图 最近比较懒,代码请各位自行下载吧。 黑名单
java SSM框架搭建微信小程序webSocket长连接(webSocket传参)
最近的项目有个功能点: 商户端需要扫描用户端的二维码, 扫描结果要展示给商户和用户端. 商户端的提示比较好处理, 根据接口返回数据进行展示就可以, 稍微麻烦的是用户被扫的提示. 解决方案有两种: 1.用户端进行循环查询,每2秒进行一次接口查询,接口有数据时,根据数据展示; 2.用户端使用webSocket与服务器进行长连接,有返回数据时再进行提示. 两种方式都有实现,简单说明一下1方式的...
MQTT协议通讯,支持JS、JAVA、微信小程序客户端
1.broker-Activemq 2.JS客户端-eclipse paho 3.JAVA客户端-eclipse paho 4.微信小程序,当前案例版本不支持直接连接,需要借助nginx实现
微信小程序配置websocket环境及如何在小程序上使用做个简单的解释吧
首先简单介绍一下什么是websocket 一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算) 首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,
微信小程序websocket聊天
微信小程序websocket聊天前端实现,可以发语音、图片、文字。
webSocket客户端与服务端实例源码
WebSocket客户端和服务端实例源码 WebSocket ws实例 HTML5 用java实现的服务端 Websocket与服务器的正常通信 可以用客户端测试任意语言的服务端,也可以用服务端测试任意语言的客户端 众所周知,Web 应用的交互过程通常是客户端通过浏览器发出一个请求,服务器端接收请求后进行处理并返回结果给客户端,客户端浏览器将信息呈现,这种机制对于信息变化不是特别频繁的应用尚可,但对于实时要求高、海量并发的应用来说显得捉襟见肘,尤其在当前业界移动互 使用环境: webSocket客户端使用Tomcat7以上 服务端只要有jdk7以上环境就可运行。
微信小程序 Websocket 的两个问题
请求 官方给出的示例代码: wx.connectSocket({ url: 'wss://example.qq.com', data: { x: '', y: '' }, header: { 'content-type': 'application/json' }, protocols: ['protocol1'], method: 'GET' ...
websocket方法实现收发语音的服务器和客户端的python代码
websocket方法实现收发语音的服务器和客户端的python代码,源代码取自GitHub kaldi-gstreamer-server工程,资源可直接使用,可根据需求稍作修改。
QT Websocket实现服务器客户端通信(客户端部分)
一 界面二 源码1.客户端部分Clientdialog.cc#include "Clientdialog.hpp" #include <QLabel> #include <QWidget> #include <QHBoxLayout> #include <QVBoxLayout> #include <QtCore> #include &l..
微信小程序使用STOMP(WebSocket)
微信小程序使用STOMP(WebSocket) 小程序的WebSocket API跟一般浏览器的有点差别,存在一些限制。本文主要涉及小程序使用STOMP时注意事项。 基础 小程序需要维护两个状态: 微信服务器登录状态 第三方(即我们自己服务器)的登录状态 小程序使有wx.request()来发起请求,使用wx.connectSocket()创建WebSocket连接 wx.requ...
创建HTTP服务器,同时创建websocket服务器,用于微信小程序
//创建一个HTTP Serverlet httpServer=http.createServer((request,response) => { var visitedUrl=url.parse(request.url).pathname; var methodType = request.method.toUpperCase(); console.log('request:'+reque...
java WebSocket服务端与客户端实现,实现单推,群推
WebSocket 是独立的、创建在 TCP 上的协议。Websocket 通过HTTP/1.1 协议的101状态码进行握手。为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(handshaking)。     大家都知道客户端怎么去服务端去获取消息,http请求,webservice等等,都是主动由客户端去主动请求来的,怎么满足服务端去主动给...
微信小程序https和wss,nginx代理,
前言        最近接触了有关微信小程序的websocket,小程序后台服务的需要https配置和wss配置,经过一番测试,终于实现了小程序后台服务的部署。这里就总结一下微信小程序,SpringBoot为后台的使用nginx配置来解决https配置和wss配置方案。...
JAVA集成WebSocket,实现服务器与客户端握手
                                      WebSocket实现服务器与客户端握手 自学的WebSocket途中遇到很多坑,希望需要使用的朋友可以少走弯路, 使用的环境:tomcat7.0,mysql,springMvc,spring,Mybatis 主要使用2个jar包 这2个jar包在tomcat7的 lib文件夹里面有 catalina.jar   ...
JS使用WebSocket实现与Java图形界面(swing)进行通信
背景:做项目的时候有过这样的一个需求,在访问某个网页的时候进行登录,需要浏览器获取电脑的硬件资源,但是通过浏览器直接读取的方式有些不便,所以想到使用Java开发一个图形应用界面的程序读取电脑程序通过socket通信传输给html页面用于验证。 写在前面:在Java服务器这端开发中,使用到一个jar包,Java-WebSocket-1.3.0.jar,首先引入这个包,这个核心包就是用来复制Java...
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo