iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
自我挑戰組

從零打造客製化 AI 聊天機器人系列 第 25

[從零打造客製化 AI 聊天機器人] 撰寫 WebSocket 伺服器 (2)

  • 分享至 

  • xImage
  •  

在 Next.js 頁面中使用昨日的 WebSocket Hook

在你的 Next.js 頁面或組件中使用這個 Hook 來與 WebSocket 進行通信。

import React, { useState } from 'react';
import useWebSocket from '../hooks/useWebSocket';

const WebSocketPage = () => {
  const { messages, sendMessage } = useWebSocket('ws://localhost:8000/ws');
  const [input, setInput] = useState('');

  const handleSend = () => {
    sendMessage(input);
    setInput(''); // 清空輸入框
  };

  return (
    <div>
      <h1>WebSocket 即時通信</h1>
      <div>
        <input
          type="text"
          value={input}
          onChange={(e) => setInput(e.target.value)}
          placeholder="輸入要發送的消息"
        />
        <button onClick={handleSend}>發送消息</button>
      </div>
      <div>
        <h2>收到的消息:</h2>
        <ul>
          {messages.map((message, index) => (
            <li key={index}>{message}</li>
          ))}
        </ul>
      </div>
    </div>
  );
};

export default WebSocketPage;

通過 useWebSocket Hook 與 WebSocket 服務器通信。
提供一個輸入框讓用戶輸入要發送的消息,點擊按鈕後將消息發送到伺服器。

執行流程
當你打開 /WebSocketPage 頁面時,useWebSocket Hook 會自動與 FastAPI WebSocket 伺服器建立連接。
當你輸入消息並點擊發送按鈕時,消息會通過 WebSocket 發送到伺服器,並且伺服器返回的消息也會顯示在界面上。

https://ithelp.ithome.com.tw/upload/images/20241008/2016941599Fs7CZdyn.png

https://ithelp.ithome.com.tw/upload/images/20241008/20169415mB9QvuCDsO.png


上一篇
[從零打造客製化 AI 聊天機器人] 撰寫 WebSocket 伺服器 (1)
下一篇
[從零打造客製化 AI 聊天機器人] 建立旅遊即時聊天機器人1 (開發OpenAI聊天室功能)
系列文
從零打造客製化 AI 聊天機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言