草庐IT

webSocket二次封装

全部标签

JavaScript 和 WebSockets : using specific protocol

我目前正在使用WebSockets和PHP服务器:它在GoogleChrome和Opera上运行良好,但在Firefox6上运行不佳。我认为这是由于最后一个使用的协议(protocol)版本:我在某处看到它使用第七个版本,而它是用于GoogleChrome和Opera的旧版本。因此,我修改了我的服务器代码以管理这个新版本:通过使用258EAFA5-E914-47DA-95CA-C5AB0DC85B11和其他东西散列安全key,Firefox成功连接。但是如果另一个客户端想要连接(甚至是另一个Firefox),第一个使用Firefox的客户端会自行断开连接。我看到socket_recv(

javascript - 打印功能仅在第二次单击后有效

我有打印DIV的功能。每当加载页面并单击我拥有的“打印”链接时,DIV显示为在没有CSS的情况下打印。如果我关闭Chrome的打印可视化页面并再次单击“打印”链接,DIV就会应用CSS。有什么想法吗?JavascriptfunctionprintDiv(divId){varprintDivCSSpre=''+''+'';varprintDivCSSpost='';$('body').append('');$("link").clone().appendTo($("#print_frame").contents().find("head"));window.frames["print_f

javascript - Websocket 对象上的 InvalidStateError

我刚开始学习websockets,我得到了一个奇怪的错误:window.onload=function(){varservice=newWebSocket("ws://localhost:8080/websocket/test");service.onmessage=function(event){alert("message");}service.onopen=function(){service.send("hello!");}service.onclose=function(){alert("closed");}service.onerror=function(){alert("

javascript - 如何将 JavaScript 数组转换为二进制数据并返回 WebSocket?

我有这个示例数组:[{id:1,name:"test",position:[1234,850],//randompositiononthemappoints:100//examplepoints}];这是我想做的:将数组转换为二进制数据,并将二进制数据发送到我的WebSocket服务器。在服务器上,将二进制文件解码为数组并进行更改。将数组转换为二进制,并将二进制发送给客户端。在客户端,将二进制文件解码回数组。我的意思的示例截图:这是我的实际代码:varconnection=newWebSocket('wss://my_website.eu:1234');connection.binar

javascript - 使用 Jasmine 在 JavaScript 中插入 WebSocket

我尝试测试onmessage是否是一个正确的函数。这是一个测试:describe(".init(address,window)",function(){beforeEach(function(){address='ws://test.address';window={};e={data:{}}spyOn(window,'WebSocket').and.returnValue(function(){return{onmessage:null}});spyOn(subject,'handleMessage');});it("shouldcreateaWebSocketclientwhich

javascript - 我是否可以使用 WebSockets 连接到 irc、icq、sip 等服务,前提是我在 JavaScript 中实现了这些协议(protocol)?

我想使用WebSockets连接到irc、icq、sip等服务。假设我在JavaScript中对这些协议(protocol)进行了某种实现?那可能吗?与常规套接字相比,我似乎不了解WebSockets的局限性。 最佳答案 不,你不能,至少不能直接。WebSockets允许在浏览器和WebSocket服务器之间进行实时消息传递,但它们有自己的第7层协议(protocol)来封装这些消息。它们不提供对您可以在其上实现现有协议(protocol)的纯TCP(或UDP)套接字的访问。 关于jav

javascript - websocket + vuejs : screen flickering, 可见 mustache 代码

我使用websockets和vuejs构建了一个网络应用程序。在DOM中,我想遍历vuejs处理的数据。然而,在建立websocket连接并接收到数据后,数据会在时间线的后面设置。到那时(大约0.5秒),您可以在网站本身上看到vuejs的mustache代码,然后看到它闪烁并添加真实数据。当从websocket连接接收数据时,我创建了ViewModel,如下所示:onMessage:function(e){newVue({el:'#messages',data:{messages:e.data}});}我已经尝试过在页面加载时初始化ViewModel,然后设置数据:varvms={me

javascript - Spring stomp websockets with vue.js

我正在尝试将Springwebsockets(STOMP)与Vue结合使用,但不知道该怎么做,甚至不知道该怎么做。我的websockets使用纯JS,但是当我尝试使用Vue时,我卡住了。这是我的Vue代码:varapp=newVue({el:'#app',data:{stompClient:null,gold:0},methods:{sendEvent:function(){this.stompClient.send("/app/hello",{},JSON.stringify({'name':$("#name").val()}));}},created:function(){this

javascript - 连接到 WebSocket 时如何覆盖 Chrome 中的 Origin header ?

我正在尝试连接到外部网络套接字服务器,该服务器不是由我自己运行。我想从本地主机javascript文件连接到它,因此原始header具有空值。我了解这是一种针对跨站点伪造的措施。但是,由于我在本地主机上,我应该能够通过让Chrome发送自定义Originheader来伪造它。这可能吗?(如果我需要延期,那很好)如果不是,实现上述目标的最佳选择是什么?谢谢。 最佳答案 网页无法更改Originheader,但扩展可以通过chrome.webRequest修改请求header应用程序接口(interface)。但是ws://andwss

javascript - PanResponder 在第二次拖动时将 Animated.View 捕捉回原始位置

我创建了一个PanResponder来垂直移动Animated.View。当我将它从原来的位置移开时,它工作正常,但一旦我第二次移动它,它就会弹回到原来的位置,然后相对于触摸移动。我将响应程序直接解包到Animated.View中,这会不会以某种方式导致此行为?这是我定义PanResponder的方式:this.state={drag:newAnimated.ValueXY()}this._responder=PanResponder.create({onStartShouldSetPanResponder:()=>true,onPanResponderMove:Animated.ev