react 集成 socket.io

之前项目的聊天室是我用原生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地址,我去借鉴一下。
谢各位大佬。

阅读 6.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题