mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
We should not close unmatched sockets as it might be handled by user's server. Fixes #56996 Fixes #49334 Fixes #55299
42 lines
848 B
JavaScript
42 lines
848 B
JavaScript
'use client'
|
|
|
|
import { useEffect, useState } from 'react'
|
|
import io from 'socket.io-client'
|
|
|
|
let socket
|
|
|
|
export default function Home() {
|
|
const [value, setValue] = useState('')
|
|
|
|
const socketInitializer = async () => {
|
|
// We call this just to make sure we turn on the websocket server
|
|
await fetch('/api/socket')
|
|
|
|
socket = io(undefined, {
|
|
path: '/api/my_awesome_socket',
|
|
})
|
|
|
|
socket.on('connect', () => {
|
|
console.log('Connected', socket.id)
|
|
})
|
|
|
|
socket.on('newIncomingMessage', (msg) => {
|
|
setValue(msg)
|
|
})
|
|
}
|
|
|
|
const sendMessageHandler = async (e) => {
|
|
if (!socket) return
|
|
const value = e.target.value
|
|
|
|
setValue(value)
|
|
socket.emit('createdMessage', value)
|
|
}
|
|
|
|
useEffect(() => {
|
|
socketInitializer()
|
|
}, [])
|
|
|
|
return <input value={value} onChange={sendMessageHandler} />
|
|
}
|