2010-03-11 4 views
1

GWT를 사용하여 웹 응용 프로그램을 설계하고 있습니다. GWT를 처음 사용하기도합니다. GWT가 multilpe 클라이언트 간의 통신을 처리하는 방법 (또는 할 수있는)에 대한 일반적인 질문이 있습니다.여러 클라이언트가있는 GWT

내 응용 프로그램에 로그인해야하며 다른 사용자를 위해 개인화 된 페이지가 있습니다. GWT는 이러한 모든 작업을 수행 할 수 있습니다. 유일한 문제는 사용자가 다른 사용자가 무엇을하는지 알아야한다는 것입니다. 간단한 예는 Google Talk와 같은 것입니다. 한 사용자가 "타이핑"중이면 다른 쪽이 눈치 챌 것입니다. GWT가 이것을 할 수 있는지 궁금합니다.

나는 GWT를 처음 사용한다고 말했기 때문에 GWT가 이러한 사용자 상호 작용 기능을 제공 할 수 있다면 GWT로 갈 것이다. 그렇지 않으면 너무 늦지 않을 때 변경할 수있다.

감사합니다 !!!

답변

1

예제를 보면, 사용자 A가 타이핑을 시작하면 서버에 "시작된 타이핑"이벤트를 보내는 데 문제가 없습니다. 서버는 사용자 A가 누구와 통화하고 있는지 (예를 들어, 사용자 B) 조회하고 B의 브라우저로 정보를 가져와야합니다. 물론 이것은 더 까다로운 부분이지만, here에 설명 된 것처럼 작업을 수행하는 방법은 여러 가지가 있습니다.

요약하면 서버를 통해 요청을 전달해도 문제가 없다면 GWT를 기본 기술로 사용하는 데는 문제가 없습니다.

+0

위대한! 감사!!!! – user200340

1

서버 푸시/아약스 푸시/혜성/다른 많은 이름이 필요합니다. GWT에 대한 옵션을 a different answer에 요약했습니다.

빠른 시작을 위해 NGiNX_HTTP_Push_Module을 확인해보세요. 필요에 맞게 맞춤 설정할 수있는 가장 쉬운 채팅이며, 시작해야하는 멋진 채팅 사례를 제공합니다. 그러나 응용 프로그램에서 jQuery 또는 Mootools (예 : UI 효과)를 사용하는 경우 Ajax Push Engine/APE-Project도 고려할 수 있습니다 (단, jQuery/Mootools는 require some tweaking이 GWT로 작동 할 수 있음을 기억하십시오). 그 두 가지는 내 즐겨 찾기입니다 :)

+0

링크를 가져 주셔서 감사합니다. 고맙습니다. 새로운 것들을 아는 것이 좋습니다. JQuery 나 Mootools를 사용하지 않을 것입니다. 실제로 응용 프로그램의 html 페이지에 빈 이 있습니다. GWT를 사용하여 모든 것을 구현하려고합니다. 이것이 옳은지 또는 옳고 그름이없고 장점/단점, 의견이 있는지 모릅니다. – user200340

+0

jQuery/Mootools를 사용하지 않는 것에 대해 - 올바른 호출 인 IMHO, 더 적은/외부 종속성 => 더 나은/적은 코드를 다운로드 할 수 있습니다. ' '태그도 비어 있습니다 (일반적으로 일반 레이아웃을 정의하는 div가 있습니다). ** 그러나 ** 귀하의 사이트가 검색 엔진에 표시 될 것임을 기억하십시오. 즉, 빈 ''이상 (ok, ''도 포함)). GWT (또는 더 구체적으로 - 자바 스크립트)로 생성하는 것은 웹 크롤러가 자바 스크립트를 이해/파싱하지 않기 때문에 보이지 않습니다. 명심할 가치가있는 것입니다 (그러나이 제한을 회피하는 방법이 있습니다). – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">이것은 좋은 지적입니다. 저는 대학 프로젝트로 이것을하고 있으며, localhost에서만 실행될 것입니다. 그러나, 나는 미래의 GWT 응용 프로그램에서 귀하의 제안을 취할 것입니다. 나는 다만 다른 질문이있다. 일반적으로, 엔트리 포인트 클래스를 여러 개의 작은 클래스로 분리해야합니까? 아니면 큰 단일 엔트리 포인트 클래스를 사용해야합니까? GWT를 사용하면 개발자가 OO 프로그래밍 언어를 사용할 수 있으므로 개발자는 이점을 활용해야합니다. 그러나 분리 된 복합체를 사용하면 설계 및 업데이트가 쉬워 지지만 복합체의 분리 된 클래스에서 모든 핸들러를 처리하는 것은 쉽지 않습니다. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/200340/">user200340</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">관련 문제</div> <ul class="relative_list"> <li> 1. <a href="http://ko.voidcc.com/question/p-ugfmbzeg-dq.html" target="_blank" title="여러 클라이언트가있는 간단한 서버"> 여러 클라이언트가있는 간단한 서버 </a> </li> <li> 2. <a href="http://ko.voidcc.com/question/p-vfenmayg-dd.html" target="_blank" title="여러 클라이언트가있는 Obj-C 서버"> 여러 클라이언트가있는 Obj-C 서버 </a> </li> <li> 3. <a href="http://ko.voidcc.com/question/p-kjtalxfo-dr.html" target="_blank" title="여러 클라이언트가있는 웹 서버 처리"> 여러 클라이언트가있는 웹 서버 처리 </a> </li> <li> 4. <a href="http://ko.voidcc.com/question/p-hvhtupmh-ch.html" target="_blank" title="여러 클라이언트가있는 노드 응용 프로그램을 테스트하십시오."> 여러 클라이언트가있는 노드 응용 프로그램을 테스트하십시오. </a> </li> <li> 5. <a href="http://ko.voidcc.com/question/p-bixoxffs-dp.html" target="_blank" title="osX/iPhone 클라이언트가있는 CardDAV"> osX/iPhone 클라이언트가있는 CardDAV </a> </li> <li> 6. <a href="http://ko.voidcc.com/question/p-eubbjddh-g.html" target="_blank" title="다른 클라이언트가있는 서버의 Axis2"> 다른 클라이언트가있는 서버의 Axis2 </a> </li> <li> 7. <a href="http://ko.voidcc.com/question/p-eukyghwe-cd.html" target="_blank" title="파이썬 클라이언트가있는 웹 서비스"> 파이썬 클라이언트가있는 웹 서비스 </a> </li> <li> 8. <a href="http://ko.voidcc.com/question/p-yolpyxot-cp.html" target="_blank" title="비 WCF 클라이언트가있는 WCF"> 비 WCF 클라이언트가있는 WCF </a> </li> <li> 9. <a href="http://ko.voidcc.com/question/p-tlkmyzpj-cc.html" target="_blank" title="GWT 여러 필드 상자"> GWT 여러 필드 상자 </a> </li> <li> 10. <a href="http://ko.voidcc.com/question/p-mmfpgyze-ce.html" target="_blank" title="Java 클라이언트가있는 키 - 값 데이터베이스"> Java 클라이언트가있는 키 - 값 데이터베이스 </a> </li> <li> 11. <a href="http://ko.voidcc.com/question/p-sfwinrgr-bs.html" target="_blank" title="GWT + GAE + 여러 페이지 + SSH"> GWT + GAE + 여러 페이지 + SSH </a> </li> <li> 12. <a href="http://ko.voidcc.com/question/p-hkajxdvd-bk.html" target="_blank" title="GWT eventbus 여러 모듈을 처리합니다."> GWT eventbus 여러 모듈을 처리합니다. </a> </li> <li> 13. <a href="http://ko.voidcc.com/question/p-bplrdawq-dq.html" target="_blank" title="GWT RequestFactory 및 여러 요청"> GWT RequestFactory 및 여러 요청 </a> </li> <li> 14. <a href="http://ko.voidcc.com/question/p-qhpzvnyw-dq.html" target="_blank" title="GWT 서비스가 여러 객체를 지원합니다."> GWT 서비스가 여러 객체를 지원합니다. </a> </li> <li> 15. <a href="http://ko.voidcc.com/question/p-kbglwhkl-bd.html" target="_blank" title="GWT : 여러 단어로 된 상자 제안"> GWT : 여러 단어로 된 상자 제안 </a> </li> <li> 16. <a href="http://ko.voidcc.com/question/p-qgvavpkh-ba.html" target="_blank" title="GWT 여러 모듈로 인해 '$ wnd.alert가 함수가 아닙니다'"> GWT 여러 모듈로 인해 '$ wnd.alert가 함수가 아닙니다' </a> </li> <li> 17. <a href="http://ko.voidcc.com/question/p-tgyvmzkz-dc.html" target="_blank" title="여러 스택을 동시에 볼 수있는 GWT StackLayoutPanel"> 여러 스택을 동시에 볼 수있는 GWT StackLayoutPanel </a> </li> <li> 18. <a href="http://ko.voidcc.com/question/p-nlmypero-dc.html" target="_blank" title="여러 GWT RadioButton 그룹을 동적으로 추가"> 여러 GWT RadioButton 그룹을 동적으로 추가 </a> </li> <li> 19. <a href="http://ko.voidcc.com/question/p-wsahyucc-br.html" target="_blank" title="연결된 여러 gwt 위젯에 대한 이벤트 차별화"> 연결된 여러 gwt 위젯에 대한 이벤트 차별화 </a> </li> <li> 20. <a href="http://ko.voidcc.com/question/p-pdcduchv-bg.html" target="_blank" title="이기종 클라이언트가있는 클라이언트 - 서버 소프트웨어 시스템의 통신 옵션"> 이기종 클라이언트가있는 클라이언트 - 서버 소프트웨어 시스템의 통신 옵션 </a> </li> <li> 21. <a href="http://ko.voidcc.com/question/p-yktznadq-p.html" target="_blank" title="gwt & gwt-incubator-security"> gwt & gwt-incubator-security </a> </li> <li> 22. <a href="http://ko.voidcc.com/question/p-cavcdfqq-m.html" target="_blank" title="GWT"> GWT </a> </li> <li> 23. <a href="http://ko.voidcc.com/question/p-uexnhsdf-br.html" target="_blank" title="GWT"> GWT </a> </li> <li> 24. <a href="http://ko.voidcc.com/question/p-oqjivzba-db.html" target="_blank" title="GWT"> GWT </a> </li> <li> 25. <a href="http://ko.voidcc.com/question/p-kxgsilbb-dd.html" target="_blank" title="GWT -"> GWT - </a> </li> <li> 26. <a href="http://ko.voidcc.com/question/p-rytifynj-do.html" target="_blank" title="GWT"> GWT </a> </li> <li> 27. <a href="http://ko.voidcc.com/question/p-mxthnmki-bx.html" target="_blank" title="GWT :"> GWT : </a> </li> <li> 28. <a href="http://ko.voidcc.com/question/p-kaemjcqj-dd.html" target="_blank" title="GWT : 컨테이너"> GWT : 컨테이너 </a> </li> <li> 29. <a href="http://ko.voidcc.com/question/p-ajfnqisp-br.html" target="_blank" title="내 GWT 응용 프로그램에서 GWT"> 내 GWT 응용 프로그램에서 GWT </a> </li> <li> 30. <a href="http://ko.voidcc.com/question/p-xavttina-cy.html" target="_blank" title="gwt 그래픽은 gwt 2.0.3과 호환됩니다."> gwt 그래픽은 gwt 2.0.3과 호환됩니다. </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422614"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 최근 질문 </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ko.voidcc.com/question/p-mvrjwwwa-wn.html" target="_blank" title="배열의 항목이 페이지에 있는지 확인하십시오. 그렇다면 경고하십시오. 그렇지 않은 경우 페이지"> 배열의 항목이 페이지에 있는지 확인하십시오. 그렇다면 경고하십시오. 그렇지 않은 경우 페이지 </a> </li> <li class="side_article_list_item"> 2. <a href="http://ko.voidcc.com/question/p-waaqmjyd-wo.html" target="_blank" title="Flask 및 html을 통해 리디렉션 된 페이지에 제출 된 이미지 표시"> Flask 및 html을 통해 리디렉션 된 페이지에 제출 된 이미지 표시 </a> </li> <li class="side_article_list_item"> 3. <a href="http://ko.voidcc.com/question/p-srulgwcm-vy.html" target="_blank" title="Node.js "require"- 중복 실행 방지"> Node.js "require"- 중복 실행 방지 </a> </li> <li class="side_article_list_item"> 4. <a href="http://ko.voidcc.com/question/p-aqsnbtcg-vu.html" target="_blank" title="Laravel - 옥텟 스트림을 사용하여 파일 가져 오기"> Laravel - 옥텟 스트림을 사용하여 파일 가져 오기 </a> </li> <li class="side_article_list_item"> 5. <a href="http://ko.voidcc.com/question/p-afowsgyy-vv.html" target="_blank" title="이전 입력에 따라 곱하기 함수"> 이전 입력에 따라 곱하기 함수 </a> </li> <li class="side_article_list_item"> 6. <a href="http://ko.voidcc.com/question/p-xmnbtlep-wh.html" target="_blank" title="전체 ArrayList의 요소를 삭제"> 전체 ArrayList의 요소를 삭제 </a> </li> <li class="side_article_list_item"> 7. <a href="http://ko.voidcc.com/question/p-qyoyvpla-yn.html" target="_blank" title="SFML (C++)의 올바른 충돌"> SFML (C++)의 올바른 충돌 </a> </li> <li class="side_article_list_item"> 8. <a href="http://ko.voidcc.com/question/p-nbjpondr-yo.html" target="_blank" title="왜 앱을 AIDE에 설치하면이 오류가 계속 나타 납니까?"> 왜 앱을 AIDE에 설치하면이 오류가 계속 나타 납니까? </a> </li> <li class="side_article_list_item"> 9. <a href="http://ko.voidcc.com/question/p-yjbailhd-yz.html" target="_blank" title="plt.scatter (X [: 50,0], X [: 50, 1], color = 'red', 표시 자 = 'o', 레이블 = 'setosa')"> plt.scatter (X [: 50,0], X [: 50, 1], color = 'red', 표시 자 = 'o', 레이블 = 'setosa') </a> </li> <li class="side_article_list_item"> 10. <a href="http://ko.voidcc.com/question/p-seztwhth-yy.html" target="_blank" title="중첩 노드 셰이프를 Graphviz에 둘 수 있습니까?"> 중첩 노드 셰이프를 Graphviz에 둘 수 있습니까? </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> 관련 문제</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ko.voidcc.com/question/p-ugfmbzeg-dq.html" target="_blank" title="여러 클라이언트가있는 간단한 서버"> 여러 클라이언트가있는 간단한 서버 </a> </li> <li class="side_article_list_item"> 2. <a href="http://ko.voidcc.com/question/p-vfenmayg-dd.html" target="_blank" title="여러 클라이언트가있는 Obj-C 서버"> 여러 클라이언트가있는 Obj-C 서버 </a> </li> <li class="side_article_list_item"> 3. <a href="http://ko.voidcc.com/question/p-kjtalxfo-dr.html" target="_blank" title="여러 클라이언트가있는 웹 서버 처리"> 여러 클라이언트가있는 웹 서버 처리 </a> </li> <li class="side_article_list_item"> 4. <a href="http://ko.voidcc.com/question/p-hvhtupmh-ch.html" target="_blank" title="여러 클라이언트가있는 노드 응용 프로그램을 테스트하십시오."> 여러 클라이언트가있는 노드 응용 프로그램을 테스트하십시오. </a> </li> <li class="side_article_list_item"> 5. <a href="http://ko.voidcc.com/question/p-bixoxffs-dp.html" target="_blank" title="osX/iPhone 클라이언트가있는 CardDAV"> osX/iPhone 클라이언트가있는 CardDAV </a> </li> <li class="side_article_list_item"> 6. <a href="http://ko.voidcc.com/question/p-eubbjddh-g.html" target="_blank" title="다른 클라이언트가있는 서버의 Axis2"> 다른 클라이언트가있는 서버의 Axis2 </a> </li> <li class="side_article_list_item"> 7. <a href="http://ko.voidcc.com/question/p-eukyghwe-cd.html" target="_blank" title="파이썬 클라이언트가있는 웹 서비스"> 파이썬 클라이언트가있는 웹 서비스 </a> </li> <li class="side_article_list_item"> 8. <a href="http://ko.voidcc.com/question/p-yolpyxot-cp.html" target="_blank" title="비 WCF 클라이언트가있는 WCF"> 비 WCF 클라이언트가있는 WCF </a> </li> <li class="side_article_list_item"> 9. <a href="http://ko.voidcc.com/question/p-tlkmyzpj-cc.html" target="_blank" title="GWT 여러 필드 상자"> GWT 여러 필드 상자 </a> </li> <li class="side_article_list_item"> 10. <a href="http://ko.voidcc.com/question/p-mmfpgyze-ce.html" target="_blank" title="Java 클라이언트가있는 키 - 값 데이터베이스"> Java 클라이언트가있는 키 - 값 데이터베이스 </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://ko.voidcc.com/contact">문의하기</a></li> <li>© 2020 KO.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>