之前项目的聊天室是我用原生websocket写的,现在想用socket.io替换了之前的websocket,但是却发现很多问题。
import React from 'react'
import io from 'socket.io-client'
// java 提供的地址
const socket = io('http://123.123.1.124:8080')
这是官方给的示例,但是我在项目里面使用的时候缺出现无法连接的情况。
服务端在本地测试时可以连上的,我在本地起的服务,自己连自己的时候也能正常使用。
具体的信息如下:
1、我使用的是chrome浏览器,连接没有升级为websocket,使用的还是polling的方式(服务端在本地测试的时候可以自动升级)。
2、连接的地址里面一直会多出来/socket.io/
的一个东西。
在这之后我仔细的看了下socket.io的配置文档,改变了一下连接配置,如下:
import React from 'react'
import io from 'socket.io-client'
// java 提供的地址
const socket = io('http://123.123.1.124:8080', {
path: '/',
transports: ['websocket', 'polling']
})
更改之后的具体信息如下:
现在连接的方式已经是使用websocket连接了,但是连服务端还是被拒绝的。
问题
1、是我对socket.io的使用出错了还是服务端的配置有问题?
2、在不考虑低版本浏览器的情况下是否有必要使用socket.io?
最后,各位如果有看到过开源的项目使用了socket.io请给我一个github地址,我去借鉴一下。
谢各位大佬。