node.js - 错误:写入 EPROTO 4455222784:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
问题描述
我有一个使用 ws nodejs 库在后端运行的 websocket 服务器。每当我尝试从客户端连接到它时,我都会收到此错误。
events.js:377
throw er; // Unhandled 'error' event
^
Error: write EPROTO 4455222784:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:94:16)
Emitted 'error' event on WebSocket instance at:
at ClientRequest.<anonymous> (/Volumes/lilac/Projects/Projects/5. Fireplace/fireplace/node_modules/ws/lib/websocket.js:718:15)
at ClientRequest.emit (events.js:400:28)
at TLSSocket.socketErrorListener (_http_client.js:475:9)
at TLSSocket.emit (events.js:400:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
errno: -100,
code: 'EPROTO',
syscall: 'write'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! fireplace@0.1.0 dev: `next dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the fireplace@0.1.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/debabrata/.npm/_logs/2021-08-04T07_56_05_447Z-debug.log
这是在服务器上运行的代码:
import { createServer } from "http"
import { WebSocketServer } from "ws"
const server = createServer()
const wss = new WebSocketServer({ server })
server.listen("8080", () => {
console.log("Server listening on port 8080")
})
wss.on("connection", (ws, req) => {
ws.on("open", () => console.log("connection open"))
ws.on("close", () => console.log("connection closed"))
})
客户端代码 (Next.js)
import WebSocket from 'isomorphic-ws'
import {useEffect} from 'react'
const ws = new WebSocket("wss://localhost:8080/")
const Page = () => {
useEffect(() => {
ws.onopen = () => {
console.log("connection open")
}
})
return (
<div>
</div>
)
}
export default Page
我还应该提到,在构建它时我必须更新 npm 和节点版本。这会导致问题吗?我该如何解决这个问题?
解决方案
我又回头看了看。如果我连接到它就可以了ws://localhost:808
推荐阅读
- ios - 解码json时出错
- php - 同一页面上的 API 和数据库调用
- c# - 对于我的数据插入方法,我如何检查从数据库中提取的数据中的值是否正确传递或是否传递?
- javascript - 实现 Vuex 模块后,我所有的 getter 和 mutation 都停止工作
- javascript - 移动到网页的第一个“默认”焦点
- php - 后端:是否可以从数据库中获取 css 背景(url)中的图像位置?
- c# - 将内存十六进制字符串转换为 int
- asp.net-mvc - Eclipse 中的 Asp.net MVC 使用
- c# - 无法在 IBM WebSphere MQ 8.xx 上连接
- c++ - OpenCV 额外模块的问题