WebSocketManager.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // WebSocketManager.js (웹소켓 관리)
  2. import { state } from './state.js';
  3. import { elements } from './elements.js';
  4. import {UIManager} from "./UIManager.js";
  5. export const WebSocketManager = {
  6. init(URL) {
  7. state.websocket = new WebSocket(URL);
  8. state.websocket.onopen = () => {
  9. UIManager.updateStatus('WebSocket connected');
  10. console.log('WebSocket connected');
  11. };
  12. state.websocket.onmessage = (event) => {
  13. elements.transcriptionDiv.textContent = event.data;
  14. UIManager.updateStatus('Transcription complete');
  15. };
  16. state.websocket.onerror = (error) => {
  17. UIManager.updateStatus('WebSocket error');
  18. console.error('WebSocket error:', error);
  19. };
  20. state.websocket.onclose = () => {
  21. UIManager.updateStatus('WebSocket closed');
  22. console.log('WebSocket closed');
  23. };
  24. },
  25. sendData(data) {
  26. if (state.websocket?.readyState === WebSocket.OPEN) {
  27. state.websocket.send(data);
  28. }
  29. },
  30. closeConnection() {
  31. if (state.websocket) {
  32. state.websocket.close();
  33. state.websocket = null;
  34. UIManager.updateStatus('WebSocket connection closed manually');
  35. }
  36. }
  37. };