将ws变成wss的程序是什么?
wss是通过普通HTTP进行升级还是wss只能用于HTTPS?
webSocket = new WebSocket("ws://localhost:port/Esv/ocp");
Run Code Online (Sandbox Code Playgroud)
当我把ws改为wss时工作正常
webSocket = new WebSocket("wss://localhost:port/Esv/ocp");
Run Code Online (Sandbox Code Playgroud)
它显示了这个错误:
连接建立错误:net :: ERR_SSL_PROTOCOL_ERROR
有可能在http上有一个wss协议吗?我在一个与http合作的论坛上读过,但wss只适用于https?真的吗 ?
因为我试图在我的本地主机上测试它,但没有工作
我听说 Socket.io 在 React Native 中不能正常工作,所以我决定改用普通的 WebSocket。
我正在使用 node.js 来实现 WebSocket 服务器,这并不难。使用浏览器,我尝试的所有方法都有效,但是使用 React Native,没有成功。
这些是我尝试实现 websocket 服务器的方法:
express-ws 在没有任何错误消息的情况下无法正常工作。只是它说无法连接某些东西。
所以我把模块改成了ws,这个模块应该是客户端和服务器都需要的,所以我做了。服务器已工作,但是在 AVD 上使用 android 的应用程序中时,它说:
需要未知模块“url”。如果您确定该模块在那里,请尝试重新启动打包程序或运行“npm install”。
所以我完全删除了 node_modules 目录并重新安装它们,但再次出现相同的错误。
我正在使用 node v6.2.2,react-native-cli 1.0.0,react-native 0.33.0。
这是带有 ws 模块的服务器代码(与 ws 模块自述文件相同):
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: 3000 });
wss.on('connection', (socket) => {
socket.on('message', (msg) => {
console.log('Received: ' + msg);
});
socket.send('something');
});
Run Code Online (Sandbox Code Playgroud)
这是客户端:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet, …Run Code Online (Sandbox Code Playgroud)