2010-06-22 10 views
108

Tôi đã xem xét một số máy chủ XMPP nguồn mở và quen thuộc với trang chính thức http://xmpp.org/. Nhưng vì vậy đến nay tôi đã không tìm thấy bất cứ điều gì ở giữa "Giao thức nhắn tin mở rộng và hiện diện (XMPP) là một công nghệ mở cho truyền thông thời gian thực" và danh sách các thông số kỹ thuật XEP. Ví dụ, các bài viết giải thích các khái niệm cơ bản và thuật ngữ - stanzas, IQ, sự hiện diện, v.v. Ngay cả trang Wikipedia cũng không có gì đáng ngạc nhiên khi các dự án mã nguồn mở cho rằng bạn biết những điều này trước khi bắt đầu đào sâu vào mã.Hướng dẫn hay về XMPP?

Có bộ hướng dẫn chính thức (bán) chính xác về điều này không? Tôi có cần tìm kiếm tài nguyên Jabber thay vì XMPP không?

Trong số những thứ khác, tôi hy vọng sẽ thấy biểu đồ cho trường hợp sử dụng và luồng, không chỉ văn bản giao thức khô. Tôi biết các cuốn sách về XMPP tồn tại, nhưng nhìn chung mọi thứ trong một cuốn sách cũng có sẵn ở dạng trực tuyến nào đó.

Trả lời

8

RFC (được liệt kê trên trang Wikipedia) phải là phần giới thiệu khá tốt cho chủ đề này.

Ví dụ: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core

+2

Tôi muốn tìm một thứ gì đó khác với giao thức thô, những văn bản này được viết chính xác hơn là thân thiện ... nhưng vẫn biết rằng nó bao gồm các nguyên tắc cơ bản _is_ hữu ích. –

+0

Vì vậy, bạn đang tìm kiếm một hướng dẫn lập trình để XMPP mà không đi sâu vào những điều cơ bản của giao thức? Tôi đã thử nghiệm một số thời gian trước đây với "API Python XMPP" (Google AP-Engine): http://code.google.com/appengine/docs/python/xmpp/overview.html Có lẽ đây có thể là mục nhập đến thế giới XMPP :) – FloE

+0

Sắp xếp ... nhưng mọi công nghệ tôi từng làm việc với bạn đều có thông số chính thức làm tham chiếu, nhưng đọc hướng dẫn hướng đến việc tìm hiểu các khái niệm cơ bản nhanh hơn. Giống như DirectX hoặc Spring hoặc CSS hay bất kỳ thứ gì thực sự. –

36

Đây là những gì đã cho tôi startet về Phát triển XMPP:

  • Một cuốn sách tốt: XMPP The Definivie Guide
  • Một Java API trưởng thành. Tôi đã chọn Thư viện Smack từ Ignite Realtime và sử dụng ngôn ngữ groovy với một buch script nhỏ để tìm hiểu những điều cơ bản.

Sau đó, tôi đã phát triển một plugin cho Máy chủ OpenFire XMPP. Có một số hướng dẫn và một diễn đàn trên trang web của họ là tốt. Tôi nghĩ rằng cả smack và openfire api đều dễ học.

Nếu bạn không tham gia java: Cuốn sách đề cập đến thư viện Python SkeekXMPP và nó sử dụng nó để tạo một số ví dụ (echo bot, ...).

+0

Openfire là thiết lập của tôi về sự lựa chọn, trên thực tế và Java. –

+0

Tốt. Tôi đề nghị bạn hãy xem cuốn sách. Vì các lớp API chủ yếu được đặt tên theo các khái niệm xmpp/stanzas, bạn sẽ có một điểm khởi đầu tốt khi bạn biết thuật ngữ cơ bản. – tweber

+0

Đó có phải là phiên bản hợp pháp của cuốn sách không? Tôi muốn tìm tài nguyên trực tuyến miễn phí hơn nhưng nếu tôi sử dụng một cuốn sách tôi muốn trả tiền nếu tôi phải làm như vậy? –

17

Như những người khác đã nói, các đặc điểm kỹ thuật là một giới thiệu tốt. Đúng là chúng có tính chất kỹ thuật, và được cho là chính xác - nhưng chúng thực sự là một số thông số kỹ thuật tốt nhất mà tôi đã thấy cho bất kỳ giao thức nào, đặc biệt là các RFC mới nhất (61206121), làm rõ một số khu vực màu xám trong bản gốc.

Ví dụ: bạn đề cập đến muốn biết định nghĩa của một đoạn thơ, nó được giải thích (với các ví dụ) trong 6120 section 8.

Nếu bạn có bất kỳ phản hồi nào về cách các thông số có thể được làm rõ hơn, thì hãy nói như vậy trên XMPP mailing list, nơi tất cả phản hồi được xem xét cho các bản dự thảo tiếp theo của thông số kỹ thuật.

Nếu thông số kỹ thuật thực sự quá nhiều đối với bạn (tôi đánh giá cao một số người thích nhiều ảnh hơn tôi), hãy xem xét the book (cho dù ở dạng giấy hoặc kỹ thuật số) - nó được thiết kế chính xác như một cách dễ dàng giới thiệu và các tiện ích mở rộng phổ biến nhất và được viết bởi những người giúp phát triển và triển khai chúng.

+1

Sự tốt lành, riêng RFC 6120 dài hơn 200 trang. Và tôi nghĩ rằng họ phải giữ nó ** đơn giản ** .......... – Pacerier

+1

Tính đơn giản không tự động ngụ ý một đặc điểm kỹ thuật ngắn. Tôi cho bản thân mình tìm thấy XMPP khá đơn giản. Đặc biệt là tính mô đun của XMPP, tức là sự phân chia giữa XMPP Core, XMPP IM và XEP làm cho giao thức cho tôi hấp dẫn. – Flow

52

Đây có lẽ là cách quá nhiều cơ sở, nhưng ít nhất đó là kỹ thuật: http://www.adarshr.com/fun-with-xmpp-and-google-talk và phần thứ hai, http://www.adarshr.com/fun-with-xmpp-and-google-talk-part-2

Nó giải thích những gì các khổ thơ là, những loại có sẵn và các công cụ.

+0

Chúng tôi đã đơn giản hóa quy trình tạo ứng dụng trò chuyện dưới iOS bằng cách sử dụng cụm vỏ ca cao, bạn có thể tìm hiểu thêm hoặc tải xuống mã demo tại đây https://github.com/processone/demo-xmpp-ios – Loegic

+0

Bảo trì Xin lỗi vì sự bất tiện này, tôi xây dựng lại trang web này để làm cho trải nghiệm của bạn tốt hơn nữa. Quá trình này không mất nhiều thời gian. – Adil

+0

Gương của tôi vẫn đang hoạt động, không chắc chắn lý do tại sao nó bị xóa khỏi câu trả lời của tôi ... https://f.gdr.name/xmpp-tutorial.tar.gz – GDR

1

Sử dụng các thư viện XMPP asmack từ

http://beem-project.com/projects/beem/files tải asmack-android-7-beem-jingle.jar

và tài liệu của

http://www.igniterealtime.org/downloads/index.jsp

Hy vọng nó sẽ giúp những người khác như nó đã giúp tôi

+0

Tại sao lại sử dụng Beem thay vì trang ASmack gốc? – Pacerier

+0

@Pacerier Thời gian qua tôi kiểm tra asmack không ổn định và nó không được cập nhật thường xuyên vì vậy tôi thay vì sử dụng phiên bản beem của asmack đã được cập nhật thường xuyên và nó cũng có vẻ ổn định hơn. –

1

Cài đặt openfire ở phía máy chủ và sử dụng qsmack ở phía bên android.

+2

Tại sao chúng ta sử dụng qsmack thay vì asmack? – Pacerier

2

Đây có thể là một câu hỏi cũ, nhưng tôi chỉ muốn giữ lại quy trình tôi đã sử dụng để tìm hiểu XMPP.

Một vài năm trước, một vài người bạn của tôi và tôi đã học về cách tận dụng XMPP và hiểu cách nó phù hợp với phần lớn hơn là một nhiệm vụ khá tẻ nhạt. Tôi khuyên bạn nên bắt đầu giảm giá bằng cách đọc các trang wikipedia của XMPP:

http://en.wikipedia.org/wiki/XMPP

Bạn sẽ ngạc nhiên bao nhiêu người không thể trả lời câu hỏi về XMPP đó là những cơ bản nhất.

Tôi cũng khuyên bạn nên đọc bài viết này:

http://www.infoworld.com/article/2682116/application-development/xmpp-rises-to-face-simple-standard.html

Nó sẽ cung cấp cho bạn một cảm giác động lực đằng sau XMPP, đó là lịch sử, và đó là giao thức được sử dụng để được ngang bằng với nó.

Từ đó, tốt nhất bạn nên đọc nguồn của trang wikipedia để hiểu rõ hơn về bất kỳ tính năng nào bạn có thể quan tâm với XMPP.