웹사이트 검색
SignalR가 Websocket 연결을 설정할 수 없을 때 사용자에게 경고를 주고 싶습니다. Websocket 연결이 차단되었는지/SignalR이 다른 전송 방식을 사용하는지 어떻게 알 수 있나요?
저는 Asp.net Core SignalR과 Typescript를 사용하고 있습니다.
Websocket 연결이 차단되었는지 또는 SignalR이 다른 전송 방식을 사용하고 있는지 어떻게 알 수 있나요?
SignalR JavaScript 클라이언트에서는 이 코드 스니펫을 사용하여 전송 수단을 가져올 수 있습니다.
HubConnection.connection.transport.constructor.name테스트 코드
var connection = new 더 많은 것을 읽으십시오 →우리의 NestJs 서버는 HTTP를 통해 웹소켓 핸드셰이크를 완벽하게 처리하곤 했습니다. 하지만 그 후 HTTPS 지원을 추가했고, 여기서 설명된 것처럼 여러 서버 기술을 사용하여 구현했습니다: https://docs.nestjs.com/faq/multiple-servers
그렇게 한 후에, 웹소켓 핸드셰이크(업그레이드 요청)가 작동을 멈췄습니다.
웹 소켓이 작동하는 우리가 가지고 있던 NestJs 부트스트래핑은 다음과 같았습니다:
const app = await NestFactory.create(AppModule); const webSocketAdapter = new WebSocketAdapter(app); app.useWebSocketAdapter(webSocketAdapter); [...] // We initialize expres 더 많은 것을 읽으십시오 →어떻게 Amplify.configure(awsConfig)를 사용하여 웹소켓 엔드포인트를 지정하나요? 문서에서는 aws_appsync_graphqlEndpoint를 사용하여 단일 HTTP 엔드포인트를 설정하는 방법만 보여줍니다.
AWS Amplify.configure 문서.
저는 별도의 AppSync URL을 가지고 있으며, 그 중 하나는 '실시간' 웹소켓 URL입니다.
REACT_APP_GRAPHQL_ENDPOINT_HTTP REACT_APP_GRAPHQL_ENDPOINT_WS저는 Amplify GraphQL 구독을 사용하여 AWS Amplify SDK로 AppSync에 연결하려고 하고 있습니다.
나는 Amplify.configure(awsConfig)
더 많은 것을 읽으십시오 →저는 워키토키 프로젝트에서 작업하고 있으며, Angular와 WebSocket을 사용하고 있습니다. 그리고 이것이 제 코드입니다:
navigator.mediaDevices.getUserMedia(constraints).then(function (stream) { recorder = new MediaRecorder(stream); if(recorder.state === "recording"){ recorder.stop(); } else{ recorder.start(500); recorder.addEventListener('dataavailable', (async event => { 더 많은 것을 읽으십시오 →컴포넌트에서 웹소켓으로 받은 데이터를 사용하고 싶습니다. 또한, 컴포넌트 간에 웹소켓 연결과 데이터를 어떻게 공유할 수 있나요?
더 많은 것을 읽으십시오 →
NestJS에서 socket.io 통신의 이벤트를 구독하기 위해 @SubscribeMessage 어노테이션을 사용할 수 있지만, 이렇게 하면 이벤트 이름을 "하드코딩"으로만 사용할 수 있습니다.
이벤트를 동적으로 청취할 가능성이 있나요? 예를 들어, 접두사 형식의 이벤트를 청취하는 것과 같이요?
감사합니다.
답이 없어서 제가 하나 시도해 보려고 했습니다. 자세한 내용이 부족해서 죄송합니다.
저는 @SubscribeMessage로 그것을 '우아하게' 하는 방법을 찾지 못했지
더 많은 것을 읽으십시오 →저는 React-Native와 WebSocket을 사용하여 암호화폐 거래 앱을 만들고 있습니다. 여기 제가 겪고 있는 일반적인 문제들이 있습니다:
저는 nextJS 14 앱 라우터를 TRPC와 함께 사용하고 있습니다. TRPC의 웹소켓 구독 기능을 구현하려고 했지만, 이를 어떻게 구현하는지에 대한 최신 문서는 거의 찾을 수 없었습니다.
제가 우연히 발견한 한 가지 자료는 trpc 개발자가 관리하는 [이 리포지토리](https://github.com/trpc/examples-next-prisma-websockets-starter)였지만, 이 리포지토리는 앱 라우터를 사용하지 않습니다. 그 안에는 주목할 만한 두 개의 파일이 있는데, src/server/ 안의 prodServer.ts와 wssDevServer.ts입니다. 이상적으로는 프로덕션과 개발 환경 모두에서 웹소켓 서버를 설정하는 하나의 파일만 있으면 좋겠지만, 여기서는 왜 각각 별도의 파일을 사용하는 걸까요?
내 환경에서 개발 서버를 구현하면, applyWSSHand
더 많은 것을 읽으십시오 →저는 SignalR을 사용하여 실시간 통신을 구현하는 React TypeScript 애플리케이션을 만들고 있습니다. 자동 재시도 메커니즘이 있는 안정적인 WebSocket 연결을 구현해야 합니다.
다음은 제가 현재 구현한 내용입니다:
const MAX_RETRIES = 3; const RETRY_DELAY = 30000; // 30 seconds export function useWebSocketConnection() { const dispatch = useDispatch(); const userData = useAuthenticatedSelector(); useEffect(() => { if (userData?.userId && userData?.userName) { const connection = new HubConnectionBuilder() .withUrl(proces 더 많은 것을 읽으십시오 →
"retry()"를 추가하면 오류가 발생합니다:
src/app/films.service.ts(28,20)에서 오류 TS2339: 'WebSocketSubject' 유형에는 'retry' 속성이 없습니다.
this.wsSubject.retry().subscribe( (msg) => this.parseAnswer(msg), (err) => console.log(err), () => console.log('complete') ); 더 많은 것을 읽으십시오 →