Может ли XMPP / Jabber поддерживать редактирование сообщений и автономных сообщений, как в Skype?

5598
Vi.

Я привык редактировать около 30% моих сообщений в Skype. Кроме того, я ожидаю, что мои сообщения будут доставлены в конце независимо от того, находится ли узел в сети сейчас или нет (то есть, в конце концов, сообщение придет, когда мы оба будем в сети).

Я еще не видел эти функции в Jabber, хотя.

Какие клиенты XMPP (или какие расширения протокола) я должен использовать для поддержки удобного чата?

На самом деле хочется, чтобы чат больше походил на вики (добавление ссылок, также редактирование сообщений коллег, история изменений, некоторое форматирование), но просто использование программного обеспечения вики - это не так (без нормальной истории контактов, без обычных уведомлений, без «использования» набрав ... ").

6

2 ответа на вопрос

7
unor

Кроме того, я ожидаю, что мои сообщения будут доставлены в конце независимо от того, находится ли узел в сети сейчас или нет (то есть, в конце концов, сообщение придет, когда мы оба будем в сети).

Серверы / клиенты XMPP обычно поддерживают отправку сообщений в автономные контакты. Эти XEP могут быть актуальны (может быть, есть и другие):


Я привык редактировать около 30% моих сообщений в Skype.

Я не знаю, как это реализовано в Skype, но есть XEP для редактирования последнего отправленного сообщения.

XEP-0308: исправление последнего сообщения :

При отправке сообщения люди часто вводят опечатки и отправляют последующее сообщение, чтобы исправить их. Эта спецификация позволяет отправляющему клиенту пометить второе сообщение как исправляющее первое.

Я думаю, что OneTeam реализовал эту функцию (но я не уверен, никогда не использовал этот клиент). Могут быть и другие клиенты.

/ edit: как отметил Zash, Swift также поддерживает это.

Я также редактирую не последнее сообщение, также, например, итеративно добавляя детали в некоторый список ... На самом деле хочу, чтобы чат больше походил на вики (добавление ссылок, редактирование сообщений / истории рецензий, некоторое форматирование), но просто используя вики это не так (без нормальной истории контактов, без обычных уведомлений, без «использования печатать ...»). Vi. 12 лет назад 2
Я не вижу ничего, что ограничивало бы «XEP-0308» только последним сообщением, кроме упоминания «последнего сообщения» в заголовке и аннотации. / * Кстати, здесь, на StackExchage, я также редактирую почти все * / Vi. 12 лет назад 0
[Swift] (http://swift.im/) осуществляет коррекцию сообщений. (Автор XEP также является разработчиком Swift) Zash 12 лет назад 2
@Vi Обратите внимание, что получатель в любом случае получит неисправленное сообщение. Это удаленный клиент, чтобы показать его отредактированный или нет. Это не похоже на скайп, где пользователь не контролирует и клиент может скрыть информацию. WhyNotHugo 10 лет назад 1
Это необходимо для исправления опечаток и уточнения вещей, а не для сокрытия информации. Я не люблю оставлять вопиюще несовершенные сообщения без каких-либо усилий, чтобы их исправить; и отдельные корректирующие сообщения (особенно многократные) выглядят не очень хорошо. Vi. 10 лет назад 0
2
Aadaam

In 2009, I had a rather controversial talk about this on FOSDEM in the XMPP DevRoom.

The main point is: even if your client did support message editing, you can make no guarantees (unless you're building an internal network), that the receiving party will support it.

Here's the trick with skype: Skype had only one, single client from one, single vendor, called Skype, until very recently, when they started to distribute SkypeSDK, which allowed car manufacturers, TV manufacturers etc to build Skype clients. Yet even those clients are built on Skype SDK, and therefore, most of them has to support this editing.

With XMPP, in case you're on the public Jabber infrastructure, you can't be sure what kind of servers or clients do your mates use, and there's only one thing you could be sure of: that they support RFC 3920 and 3921. (Yes, I know these are the old standards: you can't be sure they support the new ones).

It'd be easy to say that most of your contacts will be GTalk contacts using GMail, therefore whatever isn't supported by GTalk in GMail is virtually non-existent in the Jabber world, this includes message editing. Or, you could say, that there are some Pidgin / Telepathy users you talk a lot, but perhaps even file sending is still out-of-bounds for you.

On intranet, the situation differs, you can install a client which supports this feature (Swift was mentioned in the comments for the previous answer), but even then, you can be only sure about the internal communication network.

It turns out, sometimes it's better to build an IM service from scratch than to use XMPP.

«Вы не можете гарантировать, что получающая сторона будет поддерживать его» -> 1. В этом случае сообщения могут быть просто дублированы. 2. В XEP есть раздел, такой как «обнаружение, если узел поддерживает редактирование». Даже IRC имеет команду "VERSION", чтобы найти информацию о программном обеспечении. Vi. 12 лет назад 4
«Лучше создать сервис мгновенных сообщений» -> Это плохо для XMPP? _Extensible_ находится в названии. Vi. 12 лет назад 2
@Vi .: Да, они могут быть продублированы, но если вы напишите «Мэри, я ненавидетьлюблю тебя ", дублирование не поможет тебе слишком сильно. Пока ты не идешь в больших масштабах и / или в Интернете, XMPP в порядке, но GTalk на GMail или FBChat на странице FB по какой-то причине не использует XMPP это просто интерфейс для внешних клиентов и служб. Есть некоторые вещи, которые поддерживает большинство клиентов, есть вещи, которые некоторые клиенты поддерживают, иногда совместимым способом, но расширяемость - это только служба обнаружения + возможность отправлять произвольные XML-сообщения другая сторона с пространством имен. Aadaam 12 лет назад 1

Похожие вопросы