나는 사용자가 PHP를 통해 연결할 수있게하려는 .net winform 응용 프로그램을 가지고 있습니다.PHP를 통한 .net과의 통신
저는 PHP를 개인적인 선택으로 사용하고 있으며 비용을 낮게 책정하고 있습니다.
빠른 개요 :
사람들은 내 .NET 응용 프로그램에 연결하고 브라우저를 닫아도 계속 실행하는 새로운 스레드를 시작할 수 있습니다. 그런 다음 언제든지 로그인하여 스레드가 수행중인 작업의 상태를 볼 수 있습니다.
아이디어 1 - 소켓 :
현재 나는이 두 가지 방법으로 올라와있다
사용자가 처음으로 연결하고 "는 GUID가 자신과 관련된 스레드를 생성합니다 때 웹 "로그인 세부 정보.
다음에 PHP는 소켓을 통해 응용 프로그램에 연결됩니다. PHP는 GUID와 함께 "GET.UPDATE"명령을 보내고 주어진 GUID의 MESSAGE IN QUEUE에 추가됩니다.
닷넷 응용 프로그램은 스레드가 대기열에서 메시지를 확인하고는 "GET.UPDATE"을 볼 때 그 다음 JSON으로 데이터를 endcodes하고 MESSAGE OUT QUEUE
가 다음 번에 추가 명령입니다 양산 해당 GUID에서 PHP 소켓 요청 인 경우 MESSAGE OUT QUEUE에 데이터를 보냅니다.
아이디어 2 - 데이터베이스 :
위와 동일하지만, 아이디어 PHP에서 명령은 데이터베이스에 메시지 데이터베이스에 새에 대한
의 .NET 응용 프로그램 스레드 검사를 넣어 얻을
경우 GET.UPDATE 명령을 사용하여 데이터베이스에 json으로 인코딩 된 데이터를 추가합니다.
다음 번에 PHP가 연결되면 데이터베이스에서 새 메시지를 확인하고 이에 따라 데이터를보고합니다.
나는 위의 두 가지 아이디어 중 무엇이 가장 좋을지 궁금합니다. 소켓에 관한 문제는 quicly 통증이 될 수 있습니다. 그러나 나는 1000 명의 사용자가있는 경우 대기열에 많은 메시지가있는 경우 속도가 느려질 수있는 데이터베이스 테이블을 갖게 될 것이라고 생각합니다.
모든 조언이 제공됩니다.