Files
god_eye_android/test-server.js
2025-09-29 22:04:14 +09:00

65 lines
1.8 KiB
JavaScript

const express = require('express');
const http = require('http');
const socketIo = require('socket.io');
const app = express();
const server = http.createServer(app);
const io = socketIo(server, {
cors: {
origin: "*",
methods: ["GET", "POST"]
}
});
const PORT = 3001;
// Основной HTTP endpoint
app.get('/', (req, res) => {
res.send('GodEye Test Server Running');
});
// Socket.IO обработчики
io.on('connection', (socket) => {
console.log('📱 Android device connected:', socket.id);
socket.on('register:android', (data) => {
console.log('📋 Device registration:', data);
socket.emit('register:success', {
message: 'Device registered successfully',
deviceId: data.deviceId
});
});
socket.on('camera:response', (data) => {
console.log('📷 Camera response:', data);
});
socket.on('webrtc:answer', (data) => {
console.log('🔗 WebRTC answer:', data);
});
socket.on('webrtc:ice-candidate', (data) => {
console.log('🧊 ICE candidate:', data);
});
socket.on('disconnect', () => {
console.log('❌ Device disconnected:', socket.id);
});
// Тестовый запрос камеры через 5 секунд после подключения
setTimeout(() => {
socket.emit('camera:request', {
sessionId: 'test-session-123',
operatorId: 'test-operator',
cameraType: 'back'
});
console.log('📹 Sent test camera request to device');
}, 5000);
});
server.listen(PORT, '0.0.0.0', () => {
console.log(`🚀 GodEye Test Server running on port ${PORT}`);
console.log(`📡 Socket.IO server ready for connections`);
console.log(`🌐 Server accessible at: http://0.0.0.0:${PORT}`);
});