아래 데이터 송수신 관련 글 이어서 다시 질문드립니다.

(이전 글 이어서…)

Console 서버에서 HttpWebRequest로 JSON 값을 URL (웹)에 보내어
값을 받아옵니다.

이게 HttpWebRequest 원리더군요…

그런데 제가 하고 싶은 것은 웹에서 데이터를 JSON 이든 String 이든 던진 값을
Console에서 받아보고 싶은 건데요 웹은 URL 주소가 있으니 지정된 위치로 보낼 수 있는데
웹에서 Console으로는 데이터를 어떻게 보내야 하는지 몰라서 질문드렸습니다.

같은 Console끼리는 TCP 소켓 방식으로 송수신이 가능한데 웹에서 Console(앱, 기타 등등)으로는
데이터를 어떻게 보내는지 몰라서요.

1개의 좋아요

socket.io로 그런 시스템을 구현해본 적 있습니다. 다른 방법이 더 있을 수도 있겠지만 일단 이게 답 중 하나가 될 수 있을 거 같네요.

2개의 좋아요

콘솔이 그냥 응용프로그램 이라고 간주하고 답변을 드리자면

콘솔에서도 마찬가지로 웹 서버가 될 수 있도록 HttpListener를 이용해서 웹 요청을 받을 수 있습니다.
HttpListener 클래스 (System.Net) | Microsoft Docs

HttpListener를 사용해서 웹에서 동일하게 해당 콘솔로 Url형식으로 요청하는 방법이 있고

콘솔에서 웹소켓 서버를 구현해서 웹 에서 해당 웹소켓에 접속시켜 실시간으로 데이터를 처리하는 방법도 있습니다.

2개의 좋아요

청호님의 말씀처럼 SignalR을 이용하여 클라이언트가 서버로 연결을 먼저 맺은 상태에서 클라이언트와 서버가 실시간으로 통신하도록 구현하는 방법을 사용할 수 있습니다.

다만 지금 개발하는 서버 애플리케이션이 닷넷 프레임워크 기반인 경우이거나, 닷넷 코어를 사용하지만 Kestrel을 사용하지 않고 IIS를 프론트엔드 혹은 IIS ARR 등의 로드 밸런서로 배치한 경우에는 반드시 웹 소켓 프로토콜을 지원하는 최신 버전의 윈도우 서버 OS (적어도 윈도우 서버 2019 이상)를 사용해야만 연결 품질에 문제가 발생하지 않습니다.

SignalR에 관련한 내용은 Real-time ASP.NET with SignalR | .NET 에서 살펴보실 수 있습니다.

4개의 좋아요

이전글에 대댓으로 달 내용을 따로 글로 적으셨으면
이전글은 삭제를 하는것이 맞지 않을까요?