diff --git a/apps/client/src/network/SocketClient.ts b/apps/client/src/network/SocketClient.ts index f2b204d..c2702a2 100644 --- a/apps/client/src/network/SocketClient.ts +++ b/apps/client/src/network/SocketClient.ts @@ -16,7 +16,7 @@ : config.NETWORK_CONFIG.DEV_SERVER_URL; this.socket = io(SERVER_URL, { - transports: ["websocket", "polling"], // 接続の安定性を高める + transports: [...config.NETWORK_CONFIG.SOCKET_TRANSPORTS], // 接続の安定性を高める withCredentials: true }); } diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index 1d5ea78..04fb3d8 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -4,6 +4,7 @@ export default defineConfig(({ mode }) => { const isProd = mode === 'production' + const socketPath = config.NETWORK_CONFIG.SOCKET_IO_PATH return { plugins: [react()], @@ -11,7 +12,7 @@ ? undefined : { proxy: { - '/socket.io': { + [socketPath]: { target: config.NETWORK_CONFIG.DEV_SERVER_URL, ws: true, }, diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index 13b74f4..adb84a4 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -3,17 +3,18 @@ import { GameManager } from "./domains/game/GameManager"; import { RoomManager } from "./domains/room/RoomManager"; import { SocketManager } from "./network/SocketManager"; +import { config } from "@repo/shared"; // サーバー待受ポート -const PORT = process.env.PORT || 3000; +const PORT = process.env.PORT || config.NETWORK_CONFIG.DEV_SERVER_PORT; // HTTP サーバー・Socket.io サーバー生成 const httpServer = createServer(); const io = new Server(httpServer, { cors: { // 開発環境向け全オリジン許可設定 - origin: "*", - methods: ["GET", "POST"] + origin: config.NETWORK_CONFIG.CORS_ORIGIN, + methods: [...config.NETWORK_CONFIG.CORS_METHODS] }, }); diff --git "a/docs/01_Env/ENV_01_\347\222\260\345\242\203\346\247\213\347\257\211\343\203\273\346\212\200\350\241\223\343\202\271\343\202\277\343\203\203\343\202\257.txt" "b/docs/01_Env/ENV_01_\347\222\260\345\242\203\346\247\213\347\257\211\343\203\273\346\212\200\350\241\223\343\202\271\343\202\277\343\203\203\343\202\257.txt" index af04675..6bcbec5 100644 --- "a/docs/01_Env/ENV_01_\347\222\260\345\242\203\346\247\213\347\257\211\343\203\273\346\212\200\350\241\223\343\202\271\343\202\277\343\203\203\343\202\257.txt" +++ "b/docs/01_Env/ENV_01_\347\222\260\345\242\203\346\247\213\347\257\211\343\203\273\346\212\200\350\241\223\343\202\271\343\202\277\343\203\203\343\202\257.txt" @@ -106,7 +106,9 @@ │ └── src/ │ ├── index.ts # 共有エクスポート │ ├── config/ + │ │ ├── index.ts # 設定エクスポート │ │ └── gameConfig.ts # 共通定数 + │ │ └── networkConfig.ts # 通信設定 │ ├── domains/ │ │ ├── gridMap/ │ │ │ ├── gridMap.logic.ts # マップ計算 diff --git a/packages/shared/src/config/networkConfig.ts b/packages/shared/src/config/networkConfig.ts index 5b6a960..88220b5 100644 --- a/packages/shared/src/config/networkConfig.ts +++ b/packages/shared/src/config/networkConfig.ts @@ -1,4 +1,10 @@ export const NETWORK_CONFIG = { - DEV_SERVER_URL: "http://localhost:3000", + DEV_SERVER_HOST: "http://localhost", + DEV_SERVER_PORT: 3000, + get DEV_SERVER_URL() { return `${this.DEV_SERVER_HOST}:${this.DEV_SERVER_PORT}`; }, PROD_SERVER_URL: "https://skillsemiwebgame.onrender.com", + SOCKET_TRANSPORTS: ["websocket", "polling"], + CORS_ORIGIN: "*", + CORS_METHODS: ["GET", "POST"], + SOCKET_IO_PATH: "/socket.io", } as const;