在iOS上一切正常,但在Android上却无法连接 这是我的代码
import { useState, useEffect } from 'react'
import { io } from 'socket.io-client'
const URL = 'http://localhost:8001'
const socket = io(URL)
const useSocket = () => {
const [isConnected, setIsConnected] = useState(socket.connected)
useEffect(() => {
const onConnect = () => setIsConnected(true)
const onDisconnect = () => setIsConnected(false)
if (!socket.connected) {
socket.connect()
}
socket.on('connect', onConnect)
socket.on('disconnect', onDisconnect)
return () => {
socket.off('connect', onConnect)
socket.off('disconnect', onDisconnect)
}
}, [])
return { socket, isConnected }
}
export default useSocket
UPDATE:
It works if i replace
const URL = 'http://localhost:8001'
with
const URL = 'http://192.168.1.91:8001'
which is my local IP on the network
我将把这个问题留下来,因为能够只使用localhost
或127.0.0.1
而不是特定的IP是非常有用的