import { PacificaWebSocketClient } from './src/exchanges/pacifica/PacificaWebSocketClient.js' /** * 简单的WebSocket连接测试 * 不使用代理,直接连接到Pacifica WebSocket */ async function testSimpleWebSocket() { console.log('🚀 开始简单WebSocket连接测试...\n') // 临时禁用代理进行测试 const originalProxyHost = process.env.PROXY_HOST const originalProxyEnabled = process.env.PROXY_ENABLED delete process.env.PROXY_HOST delete process.env.PACIFICA_PROXY_HOST process.env.PROXY_ENABLED = 'false' const client = new PacificaWebSocketClient('wss://ws.pacifica.fi/ws') try { console.log('📡 尝试连接到 wss://ws.pacifica.fi/ws (无代理)...') await client.connect() console.log('✅ WebSocket连接成功!') console.log('📊 连接状态:', client.isConnectionOpen()) console.log('📋 队列长度:', client.getQueueLength()) // 发送ping测试 console.log('\n💓 测试心跳...') await new Promise(resolve => setTimeout(resolve, 2000)) console.log('✅ 心跳测试完成') // 测试一个简单的请求 (注意:这可能不是真实的API端点) console.log('\n🔄 测试基础请求...') try { const response = await client.get('/health', { timeout: 10000 }) console.log('✅ 请求成功:', response) } catch (error: any) { console.log('⚠️ 请求失败(这是预期的,因为这不是真实API):', error.message) } } catch (error: any) { console.error('❌ WebSocket连接失败:', error.message) if (error.message.includes('404') || error.message.includes('426')) { console.log('💡 这可能是因为端点不支持直接连接或需要特殊握手') } } finally { // 恢复原始环境变量 if (originalProxyHost) process.env.PROXY_HOST = originalProxyHost if (originalProxyEnabled) process.env.PROXY_ENABLED = originalProxyEnabled await client.close() console.log('\n🧹 连接已关闭') } console.log('\n✅ 简单WebSocket测试完成!') } // 运行测试 if (import.meta.url === `file://${process.argv[1]}`) { testSimpleWebSocket().catch(error => { console.error('🚨 测试失败:', error) process.exit(1) }) } export { testSimpleWebSocket }