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

Что вам нужно, это нажать кнопку push/ajax push/comet/many other names. Я обобщил параметры, которые у вас есть для GWT в a different answer.

Для быстрого начала ознакомьтесь с NGiNX_HTTP_Push_Module - IMHO это самый простой способ настроить ваши потребности, и они обеспечивают хороший пример чата, который должен вас начать. Однако, если вы также используете jQuery или Mootools в своем приложении (например, для эффектов пользовательского интерфейса), вы можете также рассмотреть Ajax Push Engine/APE-Project (но помните, что jQuery/Mootools может require some tweaking работать с GWT). Эти два являются моими фаворитами :)

+0

Спасибо за эти ссылки! Всегда хорошо знать некоторые новые вещи, спасибо! я не буду использовать JQuery или Mootools, на самом деле, html-страница в моем приложении имеет пустой , я пытаюсь реализовать все с помощью GWT. Не знаете, правильно ли это, или нет правильных/неправильных и только преимуществ/недостатков, каких-либо комментариев? – user200340

+0

О том, как использовать jQuery/Mootools - IMHO, это правильный вызов, меньше/нет внешних зависимостей => лучше/меньше кода для загрузки. Empty '' tag тоже в порядке (у меня обычно есть только некоторые div, которые определяют общий макет). ** Однако ** помните, что ваш сайт будет отображаться как таковой для поисковых систем, который пуст '' и ничего более (ok, '' counts too;)). Все, что вы создаете с помощью GWT (а точнее - JavaScript), не будет видно веб-искателям, так как они не понимают/разбирают JavaScript. Это то, что стоит иметь в виду (есть способы обойти это ограничение, хотя). – <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">Это хороший момент, я делаю это как мой проект в колледже, и он будет работать только на локальном хосте. Однако я буду принимать ваши предложения в моих будущих приложениях 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> <script async src="https://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="1575177025"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img.uwenku.com/uwenku/script/side.js?t=1644592048337"></script> <script type="text/javascript" src="http://img.uwenku.com/uwenku/plugin/highlight/highlight.pack.js"></script> <link href="http://img.uwenku.com/uwenku/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="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="5415218910" 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://ru.uwenku.com/question/p-rcolbwhm-tw.html" target="_blank" title="Добавить выбранные флажки только для нескольких объектов контроллера MVC"> Добавить выбранные флажки только для нескольких объектов контроллера MVC </a> </li> <li class="side_article_list_item"> 2. <a href="http://ru.uwenku.com/question/p-zsunmeki-rs.html" target="_blank" title="PyCharm Краткая информация и действия"> PyCharm Краткая информация и действия </a> </li> <li class="side_article_list_item"> 3. <a href="http://ru.uwenku.com/question/p-guynxjqh-sa.html" target="_blank" title="Получение ошибки с DataSnapshot с базой огня при изменении и сохранении на карте"> Получение ошибки с DataSnapshot с базой огня при изменении и сохранении на карте </a> </li> <li class="side_article_list_item"> 4. <a href="http://ru.uwenku.com/question/p-ygwmnpdn-ou.html" target="_blank" title="обновить все строки таблицы на основе минимального значения своей группы"> обновить все строки таблицы на основе минимального значения своей группы </a> </li> <li class="side_article_list_item"> 5. <a href="http://ru.uwenku.com/question/p-dnovwxya-po.html" target="_blank" title="Создать ярлык для файлов содержимого в проекте установки файловой системы"> Создать ярлык для файлов содержимого в проекте установки файловой системы </a> </li> <li class="side_article_list_item"> 6. <a href="http://ru.uwenku.com/question/p-ovtfjjqq-pw.html" target="_blank" title="Подключиться к серверу EC2 через AWS lambda"> Подключиться к серверу EC2 через AWS lambda </a> </li> <li class="side_article_list_item"> 7. <a href="http://ru.uwenku.com/question/p-fnorpeve-om.html" target="_blank" title="Предупреждения: неверный аргумент поставляется для Еогеаспа() в classipress"> Предупреждения: неверный аргумент поставляется для Еогеаспа() в classipress </a> </li> <li class="side_article_list_item"> 8. <a href="http://ru.uwenku.com/question/p-vdqlbyqe-ns.html" target="_blank" title="Elevation/shadow не работает над моим приложением"> Elevation/shadow не работает над моим приложением </a> </li> <li class="side_article_list_item"> 9. <a href="http://ru.uwenku.com/question/p-sccurllw-mq.html" target="_blank" title="Итерация через Seq в Scala и поиск элемента, который удовлетворяет условию"> Итерация через Seq в Scala и поиск элемента, который удовлетворяет условию </a> </li> <li class="side_article_list_item"> 10. <a href="http://ru.uwenku.com/question/p-esmwhikc-kw.html" target="_blank" title="Как получить форму родителя ввода с jquery 1.8?"> Как получить форму родителя ввода с jquery 1.8? </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">Нет связанных вопросов^_^</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://ru.uwenku.com/contact">Свяжитесь с нами</a></li> <li>© 2020 RU.UWENKU.COM</li> <li><a target="_blank" href="https://beian.miit.gov.cn/">沪ICP备13005482号-4</a></li> <li><script type="text/javascript" src="https://v1.cnzz.com/z_stat.php?id=1280101193&web_id=1280101193"></script></li> <li><a href="http://www.uwenku.com/" target="_blank" title="优文库">简体中文</a></li> <li><a href="http://hk.uwenku.com/" target="_blank" title="優文庫">繁體中文</a></li> <li><a href="http://ru.uwenku.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.uwenku.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.uwenku.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.uwenku.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.uwenku.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.uwenku.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.uwenku.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.uwenku.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.uwenku.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.uwenku.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.uwenku.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f78a970f17b19a79fc477a3378096f29"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>