2010-03-23 2 views
5

내부적으로는 "알림 시스템"이 필요한 곳에서는 분명히 나타났습니다. 문제는 우리가 여러 건물을 통해 매우 퍼져 나가고 있으며 대부분의 노동력이 정기적으로 한 시간에 몇 시간 동안 이메일을 닫지 않고 보관한다는 것입니다.데스크톱 알림, 일명 내부 경고 시스템

메시지를 푸시하고 모든 컴퓨터 (또는 단일 컴퓨터)에서 "팝업"할 수있는 간단한 방법을 만들어야합니다.

내 첫 번째 생각은 각 컴퓨터에있는 메시지를 단순히 팝업하는 winform/wpf 앱을 호출하는 Windows 서비스를 작성하는 것이 었습니다. 얼마나 실용적인 아이디어인지는 모르지만 이것은 단지 뇌졸중 일뿐입니다.

다른 경로는 db 테이블을 폴링하는 각 컴퓨터의 시스템 트레이에있는 응용 프로그램 일 수 있으며 Query Notifications을 사용하면 새 행이 추가 될 때마다 메시지가 팝업 될 수 있습니다. 그런 다음 그 테이블에 행을 쓰는 광기 어린 기본 앱을 만듭니다.

다른 사람이이 길을 걸었 냐고 물어 봅니다. 그렇다면 어떻게?

  • 당신이 고려 않은 것은 무엇

    ?

  • 나의 아이디어 중 어느 것이 유효한지 점이 아니면 "계란과 내 얼굴 완벽한 정렬"입니까?

  • 도 다른 방법이 있습니까?

감사


몇 가지 간단한 요구 사항 - 나는 우리의 사용자 기반에게 "채팅"시스템을 제공 할 수 없기 때문에> "편도"이어야합니다. 사용자를 차단하지 못하도록 숨겨져 있어야합니다. 라 시스템 트레이 또는 서비스.

+0

현재 답변을 바탕으로, 나는 폴링 시스템을하지 않을 것이고, 소켓은 더 효율적일 것이며 훨씬 더 빨리 메시지를 팝업 할 것입니다. – Jake

답변

0

저는 오래 전에 담배 연기를 조정하기 위해 이런 일을했습니다. 나는 단순히 특정 포트에서 LAN상의 broadcast packet을 보냈다. 누구나 방송 할 수 있고 모두가 팝업을 얻을 수 있기 때문에 상대적으로 잘 수행되었지만 학대가 많이있었습니다.

1

필자는 한번도 해 본 적이 없지만 비슷한 것을 사용했던 콜센터에서 일했으며 매우 유용합니다. 모두가 "만다린을 알지? 도와 줘 !!"라고 말하는 메시지를 한 번 기억합니다. 훌륭한. 다행히 누군가가 그랬다.

어쨌든 당신의 아이디어는 완벽합니다. 개인적으로 나는 클라이언트/서버 응용 프로그램으로 이것을 할 것입니다. Windows Forms 또는 WPF 응용 프로그램을 사용하여 WCF를 사용하는 TCP/IP 이중 연결을 사용하여 서버에 연결할 수 있습니다. 아마도 클라이언트가 앉아있는 PC의 부서에 따라 특정 그룹에 등록하게 할 수 있습니다.

누군가가 이동해야하는 그룹 (또는 모든 그룹)을 선택하면 해당 메시지가 연결된 모든 클라이언트에 보내는 서버에 도달하고 컴퓨터의 WPF 앱은 메시지를 수신합니다 그것을 팝업. 필요한 경우 사용자/그룹 및 메시지 기록을 저장하는 것 외에는 데이터베이스가 필요하지 않습니다.

1

이것은 말도 안되는 대답 일지 모르지만 채팅 시스템을 구현하는 것으로 생각해 봤습니까? 구현하기 쉽고 잘 테스트되었습니다.

여기에 몇 가지 가능성이있다 : 당신의 자신의 건물에

http://messenger.softros.com/

http://en.wikipedia.org/wiki/Instant_messaging#User_base

기사 : 이 http://www.computerworld.com/s/article/9002059/How_to_build_your_own_corporate_IM_system_

+0

결코 승인되지 않을 것이라는 점을 제외하고는 말투가 아닙니다. :) 나는 300 명의 간호사와 사회 복지사에게 채팅 시스템을 제공 할 것을 제안한다면 얼마나 웃을 지 상상조차 못한다. 무서운.다른 환경에서 나는 아마도이 방향으로 갈 것이지만 여기에서는 사용자가 셧다운 할 수있는 능력이없는 편도 (또는 아니오에 가깝다) 일 필요가있다. 그래도 고마워. –

2

당신 저장 net send이 바퀴를 개혁하지 않을까요은?

+0

가능성이 우리의 IT 관리자를 제외하고 보안 너트이며 내가 이것을 시도하면 반복적으로 실패합니다. 나는 그것이 어떻게 든 차단했다고 가정하고 있습니다 .... http : //www.petri.co.il/msg-exe-net-send-vista.htm –

0

나는 당신을 추천 할 것이다 SPARK. 우리 회사에서도 같은 문제가 있었고 마침내 시간을 절약하고 기존의 (프리웨어) 솔루션을 사용하여 바퀴를 재발 명하지 않기로 결정했습니다. 스파크가 우리를 위해 일합니다.

"스파크는 기업 및 조직에 최적화 된 크로스 플랫폼 IM 클라이언트로 그룹 채팅, 전화 통신 통합 및 강력한 보안 기능을 기본 제공하며 뛰어난 최종 사용자 경험을 제공합니다. 인라인 맞춤법 검사, 그룹 채팅룸 북마크 및 탭 대화와 같은 기능을 제공합니다. "

+0

나는 큰 성공을 거두었던 마지막 장소에서 Spark를 구현했습니다. 불행히도,이 시나리오에서는 옵션이 아닙니다. 나는 단순히 300 명의 간호사와 사회 복지사에게 IM 기능을 제공 할 수는 없습니다. 또한, Spark만큼 좋은 점은 JAVA로 작성되었으며 IM 클라이언트의 공간이 상당히 넓다는 점입니다. 우리가 그것을 사용했을 때 클라이언트 당 약 80MB. Office Communicator의 경우이를 20으로 비교하십시오. –

0

기존 IM을 사용할 수 없거나 설치할 수 없다면 간단한 "채팅"프로토콜을 앱에 구현하는 것이 좋습니다.

은 소켓을 기반으로하며 많은 기사를 이용할 수 있습니다. 당신이 고급 뭔가를해야 할 경우
http://www.codeproject.com/KB/IP/TCPIPChat.aspx
http://www.codeproject.com/KB/miscctrl/SimpleMessenger.aspx?display=Print

것은 당신이 오픈 소스를 Jabber API를 사용하여 고려할 수 있습니다. (예를 들어 역사적 통지, 사용자의 상태 관리 등을 수신) : 예를 들어

http://www.codeproject.com/KB/gadgets/googletalk.aspx

1

이를 수행하는 가장 쉬운 방법은 각 시스템에 경고를위한 중앙 서비스를 폴링하는 간단한 클라이언트를 갖도록하는 것입니다. 각 경고는 고유 한 ID를 가져야하므로 각 클라이언트가 멱등 원을 처리 할 수 ​​있습니다 (어떤 클라이언트가 "갑자기 나타 났는지"에 대해 중앙 서비스가 유지되는 것을 원하지는 않음).

각 경고의 수명이 비교적 짧기 때문에 클라이언트는 표시되는 경고의 매우 짧은 목록 만 알아야하므로 컴퓨터를 다시 시작하면 경고의 작은 기록 만 남습니다. 표시됩니다.

가입자가 300 명인 경우 폴링에 너무 긴 간격이 포함되기를 원할 것입니다. 실제로는 10 초마다 300 번 확인하지 않아도됩니다. 따라서 수표 사이의 긴 간격에 대한 기술적 인 욕구와 균형을 맞추어야합니다. 특정 기간 내에 경고를 받기위한 비즈니스 요구 사항

시작 프로그램으로 추가 된 WINFORM/WPF 응용 프로그램이나 알림을 표시하는 UI를 생성하는 Windows 서비스에서 폴링하는 NET/TCP WCF 서비스를 사용하면 쉽게이 작업을 수행 할 수 있습니다.

관련 문제