{"id":1615,"date":"2014-10-17T05:39:34","date_gmt":"2014-10-17T05:39:34","guid":{"rendered":"http:\/\/brain.payzip.co.kr\/?p=1615"},"modified":"2014-10-17T05:39:34","modified_gmt":"2014-10-17T05:39:34","slug":"%ed%8e%8cmessaging-%ea%b4%80%eb%a0%a8-%ec%82%ac%ed%95%ad%eb%93%a4history-protocol-mobile-messenger-apis-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/blog.goorigo.com\/?p=1615","title":{"rendered":"[\ud38c]Messaging \uad00\ub828 \uc0ac\ud56d\ub4e4(history, protocol, mobile messenger APIs) \uc815\ub9ac"},"content":{"rendered":"<h3 class=\"post-title entry-title\">Messaging \uad00\ub828 \uc0ac\ud56d\ub4e4(history, protocol, mobile messenger APIs) \uc815\ub9ac<\/h3>\n<div class=\"post-header\"><\/div>\n<div id=\"post-body-3840249729080413982\" class=\"post-body entry-content\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/Instant_messaging\">http:\/\/en.wikipedia.org\/wiki\/Instant_messaging<\/a><\/p>\n<p>wikipedia\uc5d0\uc11c\ub294 \uc5ec\ub7ec \ub0b4\uc6a9\uc774 \uc788\uace0 \uac04\ub7b5\ud55c history\ub294 \uc544\ub798 \uadf8\ub9bc\uc5d0\uc11c \ubcfc \uc218 \uc788\uc74c.<\/p>\n<p>:\u00a0<a href=\"http:\/\/www.technologyblogged.com\/round-ups\/the-beginning-middle-present-and-future-of-instant-messaging\">http:\/\/www.technologyblogged.com\/round-ups\/the-beginning-middle-present-and-future-of-instant-messaging<\/a><br \/>\n<img src=\"http:\/\/media-cache-ec0.pinimg.com\/736x\/d6\/61\/5a\/d6615a0f1eccc997c38e1067675a7331.jpg\" alt=\"History of Instant Messaging Timeline - Technology Blogged Exclusive.\" \/><\/p>\n<h3>[Standards for Instant Messaging]<\/h3>\n<p>\uc5ec\ub7ec messenger\uc774 \ub09c\ub9bd\ud588\ub358 \uad00\uacc4\ub85c \uc544\ub798\uc640 \uac19\uc740 \ud45c\uc900\ud654 \ub178\ub825\uc774 \uc788\uc5c8\ub2e4\uace0 \ud568.<\/p>\n<ul>\n<li>IETF&#8217;s Session Initiation Protocol (SIP, 2000)\n<ul>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/Session_Initiation_Protocol\">http:\/\/en.wikipedia.org\/wiki\/Session_Initiation_Protocol<\/a><\/li>\n<li>IP network \uc0c1\uc5d0\uc11c \uc74c\uc131, \ud654\uc0c1 \uc804\ud654\uc640 \uac19\uc740 multimedia \ud1b5\uc2e0\uc744 \uc81c\uc5b4\ud558\uae30 \uc704\ud574 \uc815\uc758\ub41c signaling protocol.<\/li>\n<li>Henning Schulzrinne\uc640 Mark Handley\uac00 1996\ub144 \uace0\uc548, 2000\ub144 \ud45c\uc900\uc73c\ub85c \ucc44\ud0dd\ub428.<\/li>\n<\/ul>\n<\/li>\n<li>SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE)\n<ul>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/SIMPLE_(instant_messaging_protocol)\">http:\/\/en.wikipedia.org\/wiki\/SIMPLE_(instant_messaging_protocol)<\/a><\/li>\n<li><a href=\"https:\/\/tools.ietf.org\/html\/rfc6914\">https:\/\/tools.ietf.org\/html\/rfc6914<\/a><\/li>\n<li>SIP\ub97c \uae30\ubc18\uc73c\ub85c instant messaging, presence protocol\ub97c \uba85\uc138\ud55c extension<\/li>\n<li>* SIP, SIMPLE\uc740 \uc544\ub798 link \ucc38\uace0<br \/>\n:\u00a0<a href=\"http:\/\/www.microsoft.com\/korea\/technet\/prodtechnol\/winxppro\/plan\/rtcprot.mspx\">http:\/\/www.microsoft.com\/korea\/technet\/prodtechnol\/winxppro\/plan\/rtcprot.mspx<\/a><\/li>\n<li><\/li>\n<\/ul>\n<\/li>\n<li>Application Exchange (APEX)\n<ul>\n<li><a href=\"http:\/\/datatracker.ietf.org\/wg\/apex\/charter\/\">http:\/\/datatracker.ietf.org\/wg\/apex\/charter\/<\/a><\/li>\n<li><\/li>\n<\/ul>\n<\/li>\n<li>Instant Messaging and Presence Protocol (IMPP)\n<ul>\n<li><a href=\"http:\/\/datatracker.ietf.org\/wg\/impp\/charter\/\">http:\/\/datatracker.ietf.org\/wg\/impp\/charter\/<\/a><\/li>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/Instant_Messaging_and_Presence_Protocol\">http:\/\/en.wikipedia.org\/wiki\/Instant_Messaging_and_Presence_Protocol<\/a><\/li>\n<li>Simple instant messaging and presence \ud655\uc778\uc744 \uc704\ud55c architecture\ub97c \uac1c\ubc1c\ud558\uae30 \uc704\ud574 IETF wg\uc5d0\uc11c 1999-2004 \ub3d9\uc548 \ub9cc\ub4e4\uc5b4\uc9c4 protocol\n<ul>\n<li>2000-02 RFC 2778: A Model for Presence and Instant Messaging (Informational)<\/li>\n<li>2000-02 RFC 2779: Instant Messaging \/ Presence Protocol Requirements (Informational)<\/li>\n<li>2002-07 RFC 3339: Date and Time on the Internet: Timestamps (Proposed Standard)<\/li>\n<li>2004-08 RFC 3859: Common Profile for Presence (CPP) (Proposed Standard)<\/li>\n<li>2004-08 RFC 3860: Common Profile for Instant Messaging (CPIM) (Proposed Standard)<\/li>\n<li>2004-08 RFC 3861: Address Resolution for Instant Messaging and Presence (Proposed Standard)<\/li>\n<li>2004-08 RFC 3862: Common Presence and Instant Messaging (CPIM): Message Format (Proposed Standard)<\/li>\n<li>2004-08 RFC 3863: Presence Information Data Format (PIDF) (Proposed Standard)<\/li>\n<li><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>the open XML-based Extensible Messaging and Presence Protocol (XMPP)\n<ul>\n<li><a href=\"http:\/\/xmpp.org\/\">http:\/\/xmpp.org\/<\/a><\/li>\n<li>1998\ub144 Jeremie Miller\uc5d0 \uc758\ud574 \ub9cc\ub4e4\uc5b4\uc838 2004\ub144 IETF \ud45c\uc900\uc774 \ub428.<\/li>\n<li>\ud558\ub2e8 \ub9c1\ud06c \ub4e4 \ucc38\uace0<\/li>\n<li><\/li>\n<\/ul>\n<\/li>\n<li>Open Mobile Alliance&#8217;s Instant Messaging and Presence Service (for mobile devices)\n<ul>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/OMA_Instant_Messaging_and_Presence_Service\">http:\/\/en.wikipedia.org\/wiki\/OMA_Instant_Messaging_and_Presence_Service<\/a><\/li>\n<li>OMA enabler for Instant Messaging and Presence<\/li>\n<li>Nokia, Motorola, Sony Ericsson, Siemens AG \ud3f0\ub4e4\uc5d0 \uc801\uc6a9 \ub418\uc5c8\uc74c.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><b>[XMPP : Extensible Messaging and Presence Protocol]<\/b><\/h3>\n<p>: <a href=\"http:\/\/en.wikipedia.org\/wiki\/Extensible_Messaging_and_Presence_Protocol\">http:\/\/en.wikipedia.org\/wiki\/Extensible_Messaging_and_Presence_Protocol<\/a><br \/>\n:\u00a0<a href=\"http:\/\/charlie0301.blogspot.kr\/2013\/04\/xmpp-smack-openfire.html\">http:\/\/charlie0301.blogspot.kr\/2013\/04\/xmpp-smack-openfire.html<\/a><\/p>\n<p>open standard\ub85c\uc11c \uc880 \uc0ac\uc6a9\ub418\ub294 protocol\uc774\uba70 \uac1c\ubc1c\uc785\uc7a5\uc5d0\uc11c\ub294 \uad00\ub828 open source server\/client\uac00 \uaf64 \uc874\uc7ac\ud568.<\/p>\n<p>&#8211; XMPP based chat clients<br \/>\n: <a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#XMPP-related_features\">http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#XMPP-related_features<\/a><\/p>\n<table class=\"wikitable sortable jquery-tablesorter\">\n<thead>\n<tr>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\" rowspan=\"2\">Client<\/th>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\" rowspan=\"2\">Transports<sup id=\"cite_ref-transports_60-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-transports-60\">[a]<\/a><\/sup><\/th>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\" rowspan=\"2\">File transfer<br \/>\n<small>(XEP-0096)<\/small><sup id=\"cite_ref-file-transfer_61-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-file-transfer-61\">[b]<\/a><\/sup><\/th>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\" rowspan=\"2\"><a title=\"Synchronous conferencing\" href=\"http:\/\/en.wikipedia.org\/wiki\/Synchronous_conferencing\">Multi-user chat<\/a><\/th>\n<th colspan=\"3\"><a title=\"Jingle (protocol)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Jingle_(protocol)\">Jingle<\/a><\/th>\n<th colspan=\"2\">Encryption<\/th>\n<\/tr>\n<tr>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\">File transfer<sup id=\"cite_ref-file-transfer_61-1\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-file-transfer-61\">[b]<\/a><\/sup><\/th>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\">Voice calls<\/th>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\">Video calls<\/th>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\"><a class=\"mw-redirect\" title=\"OpenPGP\" href=\"http:\/\/en.wikipedia.org\/wiki\/OpenPGP\">OpenPGP<\/a><\/th>\n<th class=\"headerSort\" tabindex=\"0\" title=\"Sort ascending\"><a title=\"Off-the-Record Messaging\" href=\"http:\/\/en.wikipedia.org\/wiki\/Off-the-Record_Messaging\">OTR<\/a><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th><a title=\"Adium\" href=\"http:\/\/en.wikipedia.org\/wiki\/Adium\">Adium<\/a><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<sup id=\"cite_ref-adium-openpgp_62-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-adium-openpgp-62\">[42]<\/a><\/sup><\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"BitlBee\" href=\"http:\/\/en.wikipedia.org\/wiki\/BitlBee\">BitlBee<\/a><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Bombus (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Bombus_(software)\">Bombus<\/a><sup id=\"cite_ref-xeps-bombus_63-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xeps-bombus-63\">[43]<\/a><\/sup><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Climm\" href=\"http:\/\/en.wikipedia.org\/wiki\/Climm\">climm<\/a><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a class=\"mw-redirect\" title=\"Coccinella (Instant Messenger)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Coccinella_(Instant_Messenger)\">Coccinella<\/a><sup id=\"cite_ref-xeps-coccinella_64-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xeps-coccinella-64\">[44]<\/a><\/sup><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Empathy (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Empathy_(software)\">Empathy<\/a>,<sup id=\"cite_ref-xeps-gabble_65-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xeps-gabble-65\">[45]<\/a><\/sup>\u00a0<a title=\"KDE Telepathy\" href=\"http:\/\/en.wikipedia.org\/wiki\/KDE_Telepathy\">KDE Telepathy<\/a><sup id=\"cite_ref-telepathy_66-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-telepathy-66\">[c][\/c]<\/a><\/sup><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-otr-empathy_67-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-otr-empathy-67\">[d]<\/a><\/sup><sup id=\"cite_ref-otr-telepathy_68-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-otr-telepathy-68\">[e]<\/a><\/sup><\/td>\n<\/tr>\n<tr>\n<th><a title=\"Gajim\" href=\"http:\/\/en.wikipedia.org\/wiki\/Gajim\">Gajim<\/a><sup id=\"cite_ref-xeps-gajim_69-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xeps-gajim-69\">[46]<\/a><\/sup><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-not-on-win_70-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-not-on-win-70\">[f]<\/a><\/sup><\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-not-on-win_70-1\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-not-on-win-70\">[f]<\/a><\/sup><\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-not-on-win_70-2\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-not-on-win-70\">[f]<\/a><\/sup><\/td>\n<\/tr>\n<tr>\n<th><a title=\"Google Talk\" href=\"http:\/\/en.wikipedia.org\/wiki\/Google_Talk\">Google Talk<\/a><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-partial\">Partial<sup id=\"cite_ref-xmpp-jingle-incompatible_71-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xmpp-jingle-incompatible-71\">[g]<\/a><\/sup><\/td>\n<td class=\"table-partial\">Partial<sup id=\"cite_ref-xmpp-jingle-incompatible_71-1\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xmpp-jingle-incompatible-71\">[g]<\/a><\/sup><sup id=\"cite_ref-no-standalone_72-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-no-standalone-72\">[h]<\/a><\/sup><\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<\/tr>\n<tr>\n<th><a title=\"ICall\" href=\"http:\/\/en.wikipedia.org\/wiki\/ICall\">iCall<\/a><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"IChat\" href=\"http:\/\/en.wikipedia.org\/wiki\/IChat\">iChat<\/a><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-partial\">Partial<sup id=\"cite_ref-partial-multichat_73-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-partial-multichat-73\">[i]<\/a><\/sup><\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Jitsi\" href=\"http:\/\/en.wikipedia.org\/wiki\/Jitsi\">Jitsi<\/a><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Kadu (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Kadu_(software)\">Kadu<\/a><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Kopete\" href=\"http:\/\/en.wikipedia.org\/wiki\/Kopete\">Kopete<\/a><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"MCabber\" href=\"http:\/\/en.wikipedia.org\/wiki\/MCabber\">MCabber<\/a><sup id=\"cite_ref-xeps-mcabber_74-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xeps-mcabber-74\">[47]<\/a><\/sup><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Nimbuzz\" href=\"http:\/\/en.wikipedia.org\/wiki\/Nimbuzz\">Nimbuzz<\/a><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Pidgin (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Pidgin_(software)\">Pidgin<\/a><sup id=\"cite_ref-pidgin-gpg_75-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-pidgin-gpg-75\">[48]<\/a><\/sup><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-not-on-win_70-3\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-not-on-win-70\">[f]<\/a><\/sup><\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-not-on-win_70-4\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-not-on-win-70\">[f]<\/a><\/sup><\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Psi (instant messaging client)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Psi_(instant_messaging_client)\">Psi<\/a><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Tkabber\" href=\"http:\/\/en.wikipedia.org\/wiki\/Tkabber\">Tkabber<\/a><sup id=\"cite_ref-xeps-tkabber_76-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-xeps-tkabber-76\">[49]<\/a><\/sup><\/th>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<\/tr>\n<tr>\n<th><a title=\"Trillian (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Trillian_(software)\">Trillian<\/a><\/th>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-yes\">Yes<\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-only-on-win_77-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-only-on-win-77\">[j]<\/a><\/sup><\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"table-no\">No<\/td>\n<td class=\"partial table-partial\">Yes\/No<sup id=\"cite_ref-only-on-win-unstable-unsupported_78-0\" class=\"reference\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_note-only-on-win-unstable-unsupported-78\">[k]<\/a><\/sup><\/td>\n<\/tr>\n<\/tbody>\n<tfoot><\/tfoot>\n<\/table>\n<div class=\"reflist\">\n<ol class=\"references\">\n<li id=\"cite_note-transports-60\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-transports_60-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\">Transport support means the\u00a0<i>ability to set up transports<\/i>. Once transport is set up, any client can use it to manage contacts and communicate with them.<\/span><\/li>\n<li id=\"cite_note-file-transfer-61\"><span class=\"mw-cite-backlink\">^\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-file-transfer_61-0\"><span class=\"cite-accessibility-label\">Jump up to:<\/span><sup><i><b>a<\/b><\/i><\/sup><\/a>\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-file-transfer_61-1\"><sup><i><b>b<\/b><\/i><\/sup><\/a><\/span>\u00a0<span class=\"reference-text\">The difference between XEP-0096 (legacy) and XEP-0234 (Jingle) file transfer is that the latter works behind\u00a0<a title=\"Network address translation\" href=\"http:\/\/en.wikipedia.org\/wiki\/Network_address_translation\">NAT<\/a>\u00a0(e.g., from home and corporate networks).<\/span><\/li>\n<li id=\"cite_note-telepathy-66\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-telepathy_66-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\">Both Empathy and KDE Telepathy are based on\u00a0<a title=\"Telepathy (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Telepathy_(software)\">Telepathy framework<\/a>\u00a0and share same properties in regard of XMPP features support.<\/span><\/li>\n<li id=\"cite_note-otr-empathy-67\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-otr-empathy_67-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\"><span class=\"citation web\"><a class=\"external text\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=545347\" rel=\"nofollow\">&#8220;Bug report &#8211; Empathy should support OTR encryption&#8221;<\/a>.\u00a0<i><a title=\"The GNOME Project\" href=\"http:\/\/en.wikipedia.org\/wiki\/The_GNOME_Project\">Gnome Bugzilla<\/a><\/i><span class=\"reference-accessdate\">. Retrieved 17 August 2013<\/span>.<\/span><\/span><\/li>\n<li id=\"cite_note-otr-telepathy-68\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-otr-telepathy_68-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\"><span class=\"citation web\"><a class=\"external text\" href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=16891\" rel=\"nofollow\">&#8220;Bug 16891 &#8211; (OTR) Telepathy should support OTR encryption&#8221;<\/a>.\u00a0<i><a title=\"Freedesktop.org\" href=\"http:\/\/en.wikipedia.org\/wiki\/Freedesktop.org\">freedesktop.org Bugzilla<\/a><\/i><span class=\"reference-accessdate\">. Retrieved 25 May 2014<\/span>.<\/span><\/span><\/li>\n<li id=\"cite_note-not-on-win-70\"><span class=\"mw-cite-backlink\">^\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-not-on-win_70-0\"><span class=\"cite-accessibility-label\">Jump up to:<\/span><sup><i><b>a<\/b><\/i><\/sup><\/a>\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-not-on-win_70-1\"><sup><i><b>b<\/b><\/i><\/sup><\/a>\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-not-on-win_70-2\"><sup><i><b>c<\/b><\/i><\/sup><\/a>\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-not-on-win_70-3\"><sup><i><b>d<\/b><\/i><\/sup><\/a>\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-not-on-win_70-4\"><sup><i><b>e<\/b><\/i><\/sup><\/a><\/span>\u00a0<span class=\"reference-text\">Feature unavailable on Windows.<\/span><\/li>\n<li id=\"cite_note-xmpp-jingle-incompatible-71\"><span class=\"mw-cite-backlink\">^\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-xmpp-jingle-incompatible_71-0\"><span class=\"cite-accessibility-label\">Jump up to:<\/span><sup><i><b>a<\/b><\/i><\/sup><\/a>\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-xmpp-jingle-incompatible_71-1\"><sup><i><b>b<\/b><\/i><\/sup><\/a><\/span>\u00a0<span class=\"reference-text\">Incompatible with XEPs.<\/span><\/li>\n<li id=\"cite_note-no-standalone-72\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-no-standalone_72-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\">Feature unavailable in standalone client.<\/span><\/li>\n<li id=\"cite_note-partial-multichat-73\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-partial-multichat_73-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\">Multi-user chats can be joined but not started<\/span><\/li>\n<li id=\"cite_note-only-on-win-77\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-only-on-win_77-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\">Feature available on Windows only.<\/span><\/li>\n<li id=\"cite_note-only-on-win-unstable-unsupported-78\"><span class=\"mw-cite-backlink\"><b><a href=\"http:\/\/en.wikipedia.org\/wiki\/List_of_XMPP_client_software#cite_ref-only-on-win-unstable-unsupported_78-0\"><span class=\"cite-accessibility-label\">Jump up<\/span>^<\/a><\/b><\/span>\u00a0<span class=\"reference-text\">Feature available on Windows only, not actively supported, not stable.<\/span><\/li>\n<\/ol>\n<div><\/div>\n<div>\n<h4>[Pidgin messenger]<\/h4>\n<p>:\u00a0<a href=\"https:\/\/pidgin.im\/\">https:\/\/pidgin.im\/<\/a><br \/>\n&#8211; \uc5ec\ub7ec messaging service, protocol\uc744 \uc9c0\uc6d0\ud558\ub294 Open source \uae30\ubc18 \ud1b5\ud569 \uba54\uc2e0\uc800<br \/>\n&#8211; \uae30\ubcf8\uc801\uc73c\ub85c \uc544\ub798\uc5d0\uc11c \uba85\uc2dc\ub41c \uac83\uc744 \uc81c\uc678\ud558\uace0\ub3c4 3rd party \uac1c\ubc1c\uc790 \uae30\ubc18 plugin\uc744 \uc9c0\uc6d0\ud558\uc5ec \ud0c0 chatting protocol, service\ub4e4\uc744 \ub354 \uc9c0\uc6d0\ud558\uace0 \uc788\uc74c.<br \/>\n&#8211; \uadf8\uc678 plugin\ub4e4\uc774 \ud48d\ubd80\ud558\uc5ec security, notifications, profile\/status update, interface, account\/logs \ub4f1\uc758 \ubd80\uac00 \uae30\ub2a5\ub4e4\uc744 \uc81c\uacf5\ud558\uace0 \uc788\uc74c.<\/p>\n<p>&#8211; \uae30\ubcf8 \uc9c0\uc6d0 chat networks<\/p>\n<ul>\n<li>AIM<\/li>\n<li>Bonjour<\/li>\n<li>Gadu-Gadu<\/li>\n<li>Google Talk<\/li>\n<li>Groupwise<\/li>\n<li>ICQ<\/li>\n<li>IRC<\/li>\n<li>MSN<\/li>\n<li>MXit<\/li>\n<li>MySpaceIM<\/li>\n<li>SILC<\/li>\n<li>SIMPLE<\/li>\n<li>Sametime<\/li>\n<li>XMPP<\/li>\n<li>Yahoo!<\/li>\n<li>Zephyr<\/li>\n<\/ul>\n<p>&#8211; 3rd party plugins<br \/>\n: Whatsapp, Facebook IM, Line\uacfc NateOn\ub3c4 \uc9c0\uc6d0\ud558\uace0 \uc788\uc74c.<\/p>\n<table class=\"wiki\">\n<tbody>\n<tr>\n<td><strong>Protocol Name<\/strong><\/td>\n<td><strong>Website<\/strong><\/td>\n<td><strong>Short Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Beluga<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/purple-beluga\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Beluga mobile group messaging<\/td>\n<\/tr>\n<tr>\n<td>Campfire<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/jrfoell\/campfire-libpurple\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Protocol plugin for Basecamp&#8217;s Campfire IM<\/td>\n<\/tr>\n<tr>\n<td>Classic Battle.net<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/nmbook\/pidgin-libbnet\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Blizzard&#8217;s gaming network: notably for StarCraft, Diablo II, and WarCraft III<\/td>\n<\/tr>\n<tr>\n<td>F-List<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/flist-pidgin\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>F-List rollplaying community<\/td>\n<\/tr>\n<tr>\n<td>Facebook IM<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/pidgin-facebookchat\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Facebook social network<\/td>\n<\/tr>\n<tr>\n<td>Gammu<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/purple-gammu\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Send SMS through your phone via usb\/serial\/bluetooth\/irda<\/td>\n<\/tr>\n<tr>\n<td>GroupMe<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/purple-groupme\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>GroupMe group messaging<\/td>\n<\/tr>\n<tr>\n<td>Heroes of Newerth<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/honpurple\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Online video game<\/td>\n<\/tr>\n<tr>\n<td>LINE by Naver<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/mvirkkunen\/purple-line\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Mobile SMS replacement<\/td>\n<\/tr>\n<tr>\n<td>Mail.ru Agent (mrim-prpl)<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/mrim-prpl\/wiki\/Main\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Russian network<\/td>\n<\/tr>\n<tr>\n<td>Mail.ru Agent (pidgin-mra)<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/dreadatour\/pidgin-mra\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Russian network<\/td>\n<\/tr>\n<tr>\n<td>Microblog<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/microblog-purple.googlecode.com\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Twitter\/Identica\/Laconica updates<\/td>\n<\/tr>\n<tr>\n<td>MightyText<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/pidgin-mightytext.googlecode.com\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Send SMS through your Android phone via MightyText<\/td>\n<\/tr>\n<tr>\n<td>msn-pecan<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/msn-pecan\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Alternative MSN access<\/td>\n<\/tr>\n<tr>\n<td>msn-xmpp<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/pidgin-msn-xmpp\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Alternative MSN with xmpp\/oauth access<\/td>\n<\/tr>\n<tr>\n<td>MXit<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/devzone.mxit.com\/libPurple\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>MXit IM<\/td>\n<\/tr>\n<tr>\n<td>NateOn<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/launchpad.net\/pidgin-nateon\"><span class=\"icon\">\u200b<\/span>Go<\/a>\u00a0or<a class=\"ext-link\" href=\"https:\/\/github.com\/kaisyu\/pidgin-nateon\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Korean network (see\u00a0<a class=\"wiki\" href=\"https:\/\/developer.pidgin.im\/wiki\/NateOn\">More Info<\/a>\u00a0for details and Windows builds)<\/td>\n<\/tr>\n<tr>\n<td>NetNexus<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/netnexus-pidgin.googlecode.com\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>netnexus.com&#8217;s chatrooms<\/td>\n<\/tr>\n<tr>\n<td>Netsoul<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/projects.irq6.net\/projects\/show\/netsoul-purple\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>French network<\/td>\n<\/tr>\n<tr>\n<td>Ning<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/pidgin-ning.googlecode.com\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Ning-based social networks<\/td>\n<\/tr>\n<tr>\n<td>OkCupid<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/okcupid-pidgin.googlecode.com\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>OkCupid.com dating website<\/td>\n<\/tr>\n<tr>\n<td>Omegle<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/pidgin-omegle.googlecode.com\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>omegle.com&#8217;s web-based random chat<\/td>\n<\/tr>\n<tr>\n<td>QQ (libqq-pidgin)<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/libqq-pidgin\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>QQ protocol support<\/td>\n<\/tr>\n<tr>\n<td>QQ (pidgin-lwqq)<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/xiehuc\/pidgin-lwqq\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>QQ protocol support (Based on WebQQ)<\/td>\n<\/tr>\n<tr>\n<td>Rediffbol<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/rediffbol-prpl.sourceforge.net\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Indian network<\/td>\n<\/tr>\n<tr>\n<td>Skype IM<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/skype4pidgin\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Only with Skypeclient<\/td>\n<\/tr>\n<tr>\n<td>SIPE<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/sipe.sourceforge.net\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Microsoft Office Communicator, Reuters Messaging<\/td>\n<\/tr>\n<tr>\n<td>SmsWiFi<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/sms-wifi.com\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Write SMS over your Android smartphone in Pidgin<\/td>\n<\/tr>\n<tr>\n<td>Steam IM (mobile)<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/pidgin-opensteamworks\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Steam Friends gaming network<\/td>\n<\/tr>\n<tr>\n<td>Steam IM (native)<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/seishun\/SteamPP#steampurple\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Steam Friends gaming network<\/td>\n<\/tr>\n<tr>\n<td>Tlen.pl<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/nic.com.pl\/~alek\/pidgin-tlen\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Polish network<\/td>\n<\/tr>\n<tr>\n<td>TorChat<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/prof7bit\/TorChat\/downloads\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>p2p instant messaging through Tor hidden service tunnels<\/td>\n<\/tr>\n<tr>\n<td>Tox<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/tox.dhs.org\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>secure instant messaging via Tox protocol<\/td>\n<\/tr>\n<tr>\n<td>Twitter Protocol<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/code.google.com\/p\/prpltwtr\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Access Twitter (and status.net \/ identi.ca) feeds like chat rooms<\/td>\n<\/tr>\n<tr>\n<td>WhatsApp<\/td>\n<td><a class=\"ext-link\" href=\"https:\/\/github.com\/davidgfnet\/whatsapp-purple\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>WhatsApp IM protocol<\/td>\n<\/tr>\n<tr>\n<td>WinMX Peer Network<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/sourceforge.net\/projects\/wpn-gaim-prpl\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>File sharing network<\/td>\n<\/tr>\n<tr>\n<td>Xfire<\/td>\n<td><a class=\"ext-link\" href=\"http:\/\/gfire.sf.net\/\"><span class=\"icon\">\u200b<\/span>Go<\/a><\/td>\n<td>Gaming network<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#8211; API :\u00a0<a href=\"https:\/\/developer.pidgin.im\/doxygen\/\">https:\/\/developer.pidgin.im\/doxygen\/<\/a><br \/>\n. Pidgin GUI, core library\ub4e4\ub85c \uad6c\uc131, \u00a0C API style<\/p>\n<p>. \uad6c\uc131<br \/>\n: libpurple : Pdigin \ud504\ub85c\uadf8\ub7a8\uc758 core<br \/>\n: Pidgin : GTK+ \uae30\ubc18 frontend\uc774\uba70 libpurple\uc744 \uc0ac\uc6a9<br \/>\n: Finch : Ncurses \uae30\ubc18 frontend\uc774\uba70 libgnt\ub97c \uc0ac\uc6a9<\/p>\n<p>&#8211; libpurple APIs<br \/>\n: \ub2e4\uc591\ud55c \ubaa8\ub4c8, \uae30\ub2a5\uc5d0 \ub300\ud574\uc11c API\ub4e4\uc744 \uc81c\uacf5\ud558\uace0 \uc788\uc74c. \uc544\ub798\ub294 \uc8fc\uc694 category\ub4e4<\/p>\n<p>. account<br \/>\n. buddy list<br \/>\n. connection<br \/>\n. conversation<br \/>\n. file transfer<br \/>\n. notify : \ubaa8\ub4e0 notify(message, email, search result, user info, close \ub4f1)\ub97c \ud655\uc778\ud558\ub294 API\ub4e4<br \/>\n. privacy : buddy list\uc5d0\uc11c \uc0ac\uc6a9\uc790\ub97c \ud5c8\uc6a9\/\uac70\ubd80 \uc124\uc815 API\ub4e4<br \/>\n. room list<br \/>\n. plugin<\/p>\n<p>&#8211; Plugin<br \/>\n. C Plugin How-To :\u00a0<a href=\"https:\/\/developer.pidgin.im\/wiki\/CHowTo\">https:\/\/developer.pidgin.im\/wiki\/CHowTo<\/a><\/p>\n<p>. \uc544\ub798\ub294 \uae30\ubcf8\uc801\uc778 Pidgin C Plugin \uc608\uc81c<br \/>\n:\u00a0<a href=\"https:\/\/developer.pidgin.im\/wiki\/CHowTo\/BasicPluginHowto\">https:\/\/developer.pidgin.im\/wiki\/CHowTo\/BasicPluginHowto<\/a><\/p>\n<div class=\"code\">\n<pre>#define PURPLE_PLUGINS\n\n#include &lt;glib.h&gt;\n\n#include \"notify.h\"\n#include \"plugin.h\"\n#include \"version.h\"\n\nstatic gboolean\nplugin_load(PurplePlugin *plugin) {\n    purple_notify_message(plugin, PURPLE_NOTIFY_MSG_INFO, \"Hello World!\",\n                        \"This is the Hello World! plugin :)\", NULL, NULL, NULL);\n\n    return TRUE;\n}\n\nstatic PurplePluginInfo info = {\n    PURPLE_PLUGIN_MAGIC,\n    PURPLE_MAJOR_VERSION,\n    PURPLE_MINOR_VERSION,\n    PURPLE_PLUGIN_STANDARD,\n    NULL,\n    0,\n    NULL,\n    PURPLE_PRIORITY_DEFAULT,\n\n    \"core-hello_world\",\n    \"Hello World!\",\n    \"1.1\",\n\n    \"Hello World Plugin\",          \n    \"Hello World Plugin\",          \n    \"My Name &lt;email@helloworld.tld&gt;\",                          \n    \"http:\/\/helloworld.tld\",     \n    \n    plugin_load,                   \n    NULL,                          \n    NULL,                          \n                                   \n    NULL,                          \n    NULL,                          \n    NULL,                        \n    NULL,                   \n    NULL,                          \n    NULL,                          \n    NULL,                          \n    NULL                           \n};                               \n    \nstatic void                        \ninit_plugin(PurplePlugin *plugin)\n{                                  \n}\n\nPURPLE_INIT_PLUGIN(hello_world, init_plugin, info)\n<\/pre>\n<\/div>\n<div><\/div>\n<div>\uae30\ubcf8\uc801\uc778 plugin data\ub97c \uc800\uc7a5\ud558\ub294 strcuture\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/div>\n<div>\uae30\uc874\uc801\uc778 plugin \uc815\ubcf4\ub4e4\uacfc load, unload, destroy callback\uacfc extra info, action\ub4e4\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ub4f1\ub85d\ud568.<\/div>\n<div><\/div>\n<pre class=\"fragment\"><a class=\"code\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html\">00078<\/a> <span class=\"keyword\">struct <\/span><a class=\"code\" title=\"Detailed information about a plugin.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html\">_PurplePluginInfo<\/a>\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00079\"><\/a>00079 {\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00080\"><\/a>00080     <span class=\"keywordtype\">unsigned<\/span> <span class=\"keywordtype\">int<\/span> magic;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00081\"><\/a>00081     <span class=\"keywordtype\">unsigned<\/span> <span class=\"keywordtype\">int<\/span> major_version;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00082\"><\/a>00082     <span class=\"keywordtype\">unsigned<\/span> <span class=\"keywordtype\">int<\/span> minor_version;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00083\"><\/a>00083     <a class=\"code\" title=\"Plugin types.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h.html#a0e1cfd7954f1157f5ed3ccb42e6f6d58\">PurplePluginType<\/a> type;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00084\"><\/a>00084     <span class=\"keywordtype\">char<\/span> *ui_requirement;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00085\"><\/a>00085     <span class=\"keywordtype\">unsigned<\/span> <span class=\"keywordtype\">long<\/span> flags;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00086\"><\/a>00086     GList *dependencies;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00087\"><\/a>00087     <a class=\"code\" title=\"Plugin priority.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h.html#aaa4423b01f0f13b62778e2a6d9dc540a\">PurplePluginPriority<\/a> priority;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00088\"><\/a>00088\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00089\"><\/a>00089     <span class=\"keywordtype\">char<\/span> *id;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00090\"><\/a>00090     <span class=\"keywordtype\">char<\/span> *name;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00091\"><\/a>00091     <span class=\"keywordtype\">char<\/span> *version;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00092\"><\/a>00092     <span class=\"keywordtype\">char<\/span> *summary;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00093\"><\/a>00093     <span class=\"keywordtype\">char<\/span> *description;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00094\"><\/a>00094     <span class=\"keywordtype\">char<\/span> *author;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00095\"><\/a>00095     <span class=\"keywordtype\">char<\/span> *homepage;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00096\"><\/a>00096\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00101\"><\/a><a class=\"code\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html#a8de1e839af48ae5842dfbb7851fe14e1\">00101<\/a>     gboolean (*<a class=\"code\" title=\"If a plugin defines a &amp;#39;load&amp;#39; function, and it returns FALSE, then the plugin will not be load...\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html#a8de1e839af48ae5842dfbb7851fe14e1\">load<\/a>)(<a class=\"code\" title=\"A plugin handle.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePlugin.html\">PurplePlugin<\/a> *plugin);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00102\"><\/a>00102     gboolean (*unload)(<a class=\"code\" title=\"A plugin handle.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePlugin.html\">PurplePlugin<\/a> *plugin);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00103\"><\/a>00103     void (*destroy)(<a class=\"code\" title=\"A plugin handle.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePlugin.html\">PurplePlugin<\/a> *plugin);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00104\"><\/a>00104\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00105\"><\/a><a class=\"code\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html#a0d9a7eb4ea9793c94cafe2e9938bd2bc\">00105<\/a>     <span class=\"keywordtype\">void<\/span> *<a class=\"code\" title=\"Used only by UI-specific plugins to build a preference screen with a custom UI.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html#a0d9a7eb4ea9793c94cafe2e9938bd2bc\">ui_info<\/a>;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00106\"><\/a>00106     <span class=\"keywordtype\">void<\/span> *extra_info;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00107\"><\/a><a class=\"code\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html#a084e96abcc90fcc9398a85f0e21fe570\">00107<\/a>     <a class=\"code\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginUiInfo.html\">PurplePluginUiInfo<\/a> *<a class=\"code\" title=\"Used by any plugin to display preferences.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html#a084e96abcc90fcc9398a85f0e21fe570\">prefs_info<\/a>;\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00122\"><\/a><a class=\"code\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePluginInfo.html#a3c8791f1d3875851584d09643381d528\">00122<\/a>     GList *(*actions)(<a class=\"code\" title=\"A plugin handle.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePlugin.html\">PurplePlugin<\/a> *plugin, gpointer context);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00123\"><\/a>00123\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00124\"><\/a>00124     void (*_purple_reserved1)(void);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00125\"><\/a>00125     void (*_purple_reserved2)(void);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00126\"><\/a>00126     void (*_purple_reserved3)(void);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00127\"><\/a>00127     void (*_purple_reserved4)(void);\n<a href=\"https:\/\/www.blogger.com\/null\" name=\"l00128\"><\/a>00128 };<\/pre>\n<pre class=\"fragment\"><\/pre>\n<pre class=\"fragment\">\uadf8\ub9ac\uace0 init function\uacfc plugin information\uc744 \uc544\ub798 macro\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub4f1\ub85d<\/pre>\n<pre class=\"fragment\"><\/pre>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"memname\">\n<tbody>\n<tr>\n<td class=\"memname\">#define PURPLE_INIT_PLUGIN<\/td>\n<td>(<\/td>\n<td class=\"paramtype\"><\/td>\n<td class=\"paramname\">pluginname,<\/td>\n<\/tr>\n<tr>\n<td class=\"paramkey\"><\/td>\n<td><\/td>\n<td class=\"paramtype\"><\/td>\n<td class=\"paramname\">initfunc,<\/td>\n<\/tr>\n<tr>\n<td class=\"paramkey\"><\/td>\n<td><\/td>\n<td class=\"paramtype\"><\/td>\n<td class=\"paramname\">plugininfo<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>)<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"memdoc\"><b>Value:<\/b><\/p>\n<div class=\"fragment\">\n<pre class=\"fragment\">gboolean <a class=\"code\" title=\"Handles the initialization of modules.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h.html#a3fb226272e506a14a0c920c79da44acd\">_FUNC_NAME<\/a>(pluginname)(void);\\\n    gboolean <a class=\"code\" title=\"Handles the initialization of modules.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h.html#a3fb226272e506a14a0c920c79da44acd\">_FUNC_NAME<\/a>(pluginname)(void) { \\\n        <a class=\"code\" title=\"A plugin handle.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePlugin.html\">PurplePlugin<\/a> *plugin = <a class=\"code\" title=\"Creates a new plugin structure.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h.html#a4eac7a9d7e65c26042a56349048aa4f2\">purple_plugin_new<\/a>(TRUE, NULL); \\\n        plugin-&gt;<a class=\"code\" title=\"The plugin information.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/struct__PurplePlugin.html#a4aad968fdbd7c30460004c699f25ebe6\">info<\/a> = &amp;(plugininfo); \\\n        initfunc((plugin)); \\\n        <a class=\"code\" title=\"Attempts to load a previously probed plugin.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h.html#a5d53f4f19ee46690d2272cb0e60c8e51\">purple_plugin_load<\/a>((plugin)); \\\n        <span class=\"keywordflow\">return<\/span> <a class=\"code\" title=\"Registers a plugin and prepares it for loading.\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h.html#a14e8686584ac4a1e0c3fb3d44b9a8c61\">purple_plugin_register<\/a>(plugin); \\\n    }\n<\/pre>\n<\/div>\n<p>Definition at line\u00a0<a class=\"el\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h_source.html#l00222\">222<\/a>\u00a0of file\u00a0<a class=\"el\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h_source.html\">plugin.h<\/a>.<\/div>\n<\/div>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"memname\">\n<tbody>\n<tr>\n<td class=\"memname\">#define PURPLE_PLUGIN_ACTIONS<\/td>\n<td>(<\/td>\n<td class=\"paramtype\"><\/td>\n<td class=\"paramname\">plugin,<\/td>\n<\/tr>\n<tr>\n<td class=\"paramkey\"><\/td>\n<td><\/td>\n<td class=\"paramtype\"><\/td>\n<td class=\"paramname\">context<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>)<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"memdoc\"><b>Value:<\/b><\/p>\n<div class=\"fragment\">\n<pre class=\"fragment\">(PURPLE_PLUGIN_HAS_ACTIONS(plugin)? \\\n    (plugin)-&gt;info-&gt;actions(plugin, context): NULL)\n<\/pre>\n<\/div>\n<p>Definition at line\u00a0<a class=\"el\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h_source.html#l00212\">212<\/a>\u00a0of file\u00a0<a class=\"el\" href=\"https:\/\/developer.pidgin.im\/doxygen\/2.10.5\/html\/plugin_8h_source.html\">plugin.h<\/a>.<br \/>\n\uc790\uc138\ud55c\uac74 \ub9cc\ub4e4\uc5b4 \ubd10\uc57c\uc9c0 \uc54c \uc218 \uc788\uaca0\ub2e4. \ub2e4 \ubcf4\ub824\uba74 \ud55c\ub3c4 \ub05d\ub3c4 \uc5c6\uaca0\uace0..<\/div>\n<\/div>\n<pre class=\"fragment\"><\/pre>\n<h3><b>[MQTT (<\/b>MQ Telemetry Transport<b>) protocol]<\/b><\/h3>\n<\/div>\n<\/div>\n<p><a href=\"http:\/\/bcho.tistory.com\/864\">http:\/\/bcho.tistory.com\/864<\/a><br \/>\n: MQTT \uac04\ub7b5 \uc815\ub9ac, \uad00\ub828 solutoin\ub3c4 \uc815\ub9ac<\/p>\n<p><a href=\"http:\/\/helloworld.naver.com\/helloworld\/1846\">http:\/\/helloworld.naver.com\/helloworld\/1846<\/a><br \/>\n: \uac04\ub7b5\ud55c \uc18c\uac1c, \ud2b9\uc9d5, FB app\uc5d0\uc11c \uc0ac\uc6a9\ub428\uc744 \uc54c\ub824\uc90c.<\/p>\n<p><span style=\"text-decoration: underline;\"><a href=\"http:\/\/public.dhe.ibm.com\/software\/kr\/ik2012\/mqtt.pdf\">http:\/\/public.dhe.ibm.com\/software\/kr\/ik2012\/mqtt.pdf<\/a><\/span><br \/>\n: MQTT \uc124\uba85, \ub2f9\uc704\uc131\uacfc \uc790\uc0ac \uc194\ub8e8\uc158 \uc18c\uac1c<br \/>\n<span style=\"text-decoration: underline;\"><br \/>\n<\/span><a href=\"http:\/\/charlie0301.blogspot.kr\/search?q=mqtt\">http:\/\/charlie0301.blogspot.kr\/search?q=mqtt<\/a><\/p>\n<p>MQTT software solutions<br \/>\n:\u00a0<a href=\"http:\/\/mqtt.org\/wiki\/doku.php\/software\">http:\/\/mqtt.org\/wiki\/doku.php\/software<\/a><\/p>\n<p>. paho &#8211;\u00a0<a href=\"http:\/\/www.eclipse.org\/paho\/\">http:\/\/www.eclipse.org\/paho\/<\/a><\/p>\n<h3><b>[Mobile Messenger]<\/b><\/h3>\n<p>Global messenger market share<br \/>\n.\u00a0<a href=\"http:\/\/www.1mtb.com\/whatsapp-leads-the-global-mobile-messenger-wars-with-44-pc-market-share\/\">http:\/\/www.1mtb.com\/whatsapp-leads-the-global-mobile-messenger-wars-with-44-pc-market-share\/<\/a><\/p>\n<div><\/div>\n<div><img src=\"http:\/\/i2.wp.com\/www.1mtb.com\/wp-content\/uploads\/2013\/11\/WhatsApp-Leads-The-Global-Mobile-Messenger-Wars-With-44-PC-Market-Share.jpg?resize=638%2C479\" alt=\"WhatsApp Leads The Global Mobile Messenger Wars With 44 PC Market Share WhatsApp Leads The Global Smartphone Messenger Wars With 44 Percent Market Share\" \/><\/div>\n<div><\/div>\n<div><\/div>\n<h4><b>[WhatsApp mobile messenger]<\/b><\/h4>\n<p>&#8211; protocol : customized version of XMPP (http:\/\/en.wikipedia.org\/wiki\/WhatsApp)<br \/>\n&#8211; \uacf5\uc2dd\uc801\uc778 official 3rd party API\ub294 \uc5c6\ub294 \uac83\uc73c\ub85c \ubcf4\uc774\ub098 \uae30\ubc18 protocol\uc774 XMPP\uc774\uae30 \ub54c\ubb38\uc778\uc9c0 unofficial\ud55c API library\uac00 \uc874\uc7ac\ud568.(\uc544\ub798)<br \/>\n&#8211; \ud558\uc9c0\ub9cc unofficial API library, client\ub4e4\uc740 DCMA\ub85c \ubd80\ud130 \uc911\ub2e8 \uc694\uccad\uc744 \ubc1b\uc544 \uc77c\ubd80\ub294 \uc911\ub2e8\ub418\uc5c8\uc74c.<br \/>\n(<a href=\"https:\/\/raw.githubusercontent.com\/github\/dmca\/master\/2014-02-12-WhatsApp.md\">https:\/\/raw.githubusercontent.com\/github\/dmca\/master\/2014-02-12-WhatsApp.md<\/a>)<\/p>\n<p>&#8211; API\ub294 \uc544\ub2c8\uc9c0\ub9cc WhatApp app\uc744 \ud1b5\ud574\uc11c \uba54\uc138\uc9c0\ub97c \ubcf4\ub0bc \uc218 \uc788\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\uc74c<br \/>\n: Android &#8211;\u00a0<a href=\"http:\/\/www.whatsapp.com\/faq\/en\/android\/28000012\">http:\/\/www.whatsapp.com\/faq\/en\/android\/28000012<\/a><br \/>\n<span class=\"sunlight-named-ident\">Intent<\/span>\u00a0<span class=\"sunlight-ident\">sendIntent<\/span>\u00a0<span class=\"sunlight-operator\">=<\/span>\u00a0<span class=\"sunlight-keyword\">new<\/span>\u00a0<span class=\"sunlight-named-ident\">Intent<\/span><span class=\"sunlight-punctuation\">(<\/span><span class=\"sunlight-punctuation\">)<\/span><span class=\"sunlight-punctuation\">;<\/span><\/p>\n<pre><code class=\"sunlight-highlight-java sunlight-highlighted\"><span class=\"sunlight-java\"><span class=\"sunlight-ident\">sendIntent<\/span><span class=\"sunlight-operator\">.<\/span><span class=\"sunlight-ident\">setAction<\/span><span class=\"sunlight-punctuation\">(<\/span><span class=\"sunlight-ident\">Intent<\/span><span class=\"sunlight-operator\">.<\/span><span class=\"sunlight-ident\">ACTION_SEND<\/span><span class=\"sunlight-punctuation\">)<\/span><span class=\"sunlight-punctuation\">;<\/span>\n<span class=\"sunlight-ident\">sendIntent<\/span><span class=\"sunlight-operator\">.<\/span><span class=\"sunlight-ident\">putExtra<\/span><span class=\"sunlight-punctuation\">(<\/span><span class=\"sunlight-ident\">Intent<\/span><span class=\"sunlight-operator\">.<\/span><span class=\"sunlight-ident\">EXTRA_TEXT<\/span><span class=\"sunlight-punctuation\">,<\/span>\u00a0<span class=\"sunlight-string\">\"This\u00a0is\u00a0my\u00a0text\u00a0to\u00a0send.\"<\/span><span class=\"sunlight-punctuation\">)<\/span><span class=\"sunlight-punctuation\">;<\/span>\n<span class=\"sunlight-ident\">sendIntent<\/span><span class=\"sunlight-operator\">.<\/span><span class=\"sunlight-ident\">setType<\/span><span class=\"sunlight-punctuation\">(<\/span><span class=\"sunlight-string\">\"text\/plain\"<\/span><span class=\"sunlight-punctuation\">)<\/span><span class=\"sunlight-punctuation\">;<\/span>\n<span class=\"sunlight-ident\">startActivity<\/span><span class=\"sunlight-punctuation\">(<\/span><span class=\"sunlight-ident\">sendIntent<\/span><span class=\"sunlight-punctuation\">)<\/span><span class=\"sunlight-punctuation\">;<\/span><\/span><\/code><\/pre>\n<p>: iPhone &#8211;\u00a0<a href=\"http:\/\/www.whatsapp.com\/faq\/en\/iphone\/23559013\">http:\/\/www.whatsapp.com\/faq\/en\/iphone\/23559013<\/a><\/p>\n<pre><code class=\"sunlight-highlight-objective-c sunlight-highlighted\"><span class=\"sunlight-objective-c\"><span class=\"sunlight-named-ident\">NSURL<\/span>\u00a0<span class=\"sunlight-operator\">*<\/span><span class=\"sunlight-ident\">whatsappURL<\/span>\u00a0<span class=\"sunlight-operator\">=<\/span>\u00a0<span class=\"sunlight-punctuation\">[<\/span><span class=\"sunlight-named-ident\">NSURL<\/span>\u00a0<span class=\"sunlight-messageDestination\">URLWithString<\/span><span class=\"sunlight-operator\">:<\/span><span class=\"sunlight-string\">@\"whatsapp:\/\/send?text=Hello%2C%20World!\"<\/span><span class=\"sunlight-punctuation\">]<\/span><span class=\"sunlight-punctuation\">;<\/span>\n<span class=\"sunlight-keyword\">if<\/span>\u00a0<span class=\"sunlight-punctuation\">(<\/span><span class=\"sunlight-punctuation\">[<\/span><span class=\"sunlight-punctuation\">[<\/span><span class=\"sunlight-ident\">UIApplication<\/span>\u00a0<span class=\"sunlight-messageDestination\">sharedApplication<\/span><span class=\"sunlight-punctuation\">]<\/span>\u00a0<span class=\"sunlight-messageDestination\">canOpenURL<\/span><span class=\"sunlight-operator\">:<\/span>\u00a0<span class=\"sunlight-ident\">whatsappURL<\/span><span class=\"sunlight-punctuation\">]<\/span><span class=\"sunlight-punctuation\">)<\/span>\u00a0<span class=\"sunlight-punctuation\">{<\/span>\n\u00a0\u00a0\u00a0\u00a0<span class=\"sunlight-punctuation\">[<\/span><span class=\"sunlight-punctuation\">[<\/span><span class=\"sunlight-ident\">UIApplication<\/span>\u00a0<span class=\"sunlight-messageDestination\">sharedApplication<\/span><span class=\"sunlight-punctuation\">]<\/span>\u00a0<span class=\"sunlight-messageDestination\">openURL<\/span><span class=\"sunlight-operator\">:<\/span>\u00a0<span class=\"sunlight-ident\">whatsappURL<\/span><span class=\"sunlight-punctuation\">]<\/span><span class=\"sunlight-punctuation\">;<\/span>\n<span class=\"sunlight-punctuation\">}<\/span><\/span><\/code><\/pre>\n<p>[OpenWhatsApp &#8211; 3rd party (unofficial) client source code]<br \/>\n:\u00a0<a href=\"http:\/\/openwhatsapp.org\/\" target=\"_blank\" rel=\"nofollow\">http:\/\/openwhatsapp.org\/<\/a><br \/>\n&#8211; \ub77c\uc774\uc13c\uc2a4 : GPLv2 license<br \/>\n&#8211; \uad6c\uc131 :<br \/>\n. UI (QML \uae30\ubc18)<br \/>\n. backend<br \/>\n. communication core : python library &#8220;Yowsup&#8221;<br \/>\n&gt; communication between frontend and s[Whatsapp mobile messenger]erver<br \/>\n&gt; authentication<br \/>\n&gt; image send, receive<\/p>\n<p>[Yowsup library &#8211; 3rd party (unofficial) python library]<br \/>\n:\u00a0<a href=\"https:\/\/github.com\/tgalal\/yowsup\">https:\/\/github.com\/tgalal\/yowsup<\/a><br \/>\nWiki :\u00a0<a href=\"https:\/\/github.com\/tgalal\/yowsup\/wiki\">https:\/\/github.com\/tgalal\/yowsup\/wiki<\/a><br \/>\nLibrary documentation :\u00a0<a href=\"https:\/\/github.com\/tgalal\/yowsup\/wiki\/Yowsup-Library-Documentation\">https:\/\/github.com\/tgalal\/yowsup\/wiki\/Yowsup-Library-Documentation<\/a><\/p>\n<p>&#8211; Requirements<br \/>\n. python 2.6+<br \/>\n. python-dateutil<br \/>\n. yousup-cli requires argparse for python &lt; 2.7<\/p>\n<div><\/div>\n<p>&#8211; License : MIT<\/p>\n<p>&#8211; Features<br \/>\n.\u00a0Registration<br \/>\n.\u00a0Text send\/ receive<br \/>\n.\u00a0Media send\/receive (images, videos, audio, location, contact cards)<br \/>\n.\u00a0Groups(create, leave, join, update picture, updating subject)<br \/>\n.\u00a0Fetch user profile picture<br \/>\n.\u00a0Fetch user status<br \/>\n.\u00a0Set profile picture<br \/>\n.\u00a0Set group icon<br \/>\n. Set status and others<\/p>\n<p>\uc774\uac70 \uc6d0 python\uc744 \ubaa8\ub974\ub2c8..<\/p>\n<p>&#8211; Authentication<\/p>\n<p>authentication mechanism\uc740 WhatsApp 1.2 protocol (WAUTH-1)\uc744 \uc0ac\uc6a9.<br \/>\nusername (\uc804\ud654\ubc88\ud638), password\ub97c \uc785\ub825 \ud558\uace0 auth\uac00 \uc131\uacf5\uc801\uc73c\ub85c \ub05d\ub098\uba74 auth_success\uc5d0\uc11c \ubcf4\ub294 \uac83\uacfc \uac19\uc774 library\uc5d0 &#8220;ready&#8221; method\ub97c \uc804\ub2ec\ud558\uc5ec \uba54\uc138\uc9c0\ub97c \ubc1b\uace0 parsing\ud558\ub3c4\ub85d \ud574\uc57c \ud568.<\/p>\n<pre><code>def onAuthSuccess(username):\n    print \"Logged in with %s\" % s\n    # make a call to method ready to be able to receive messages\n    methodsInterface.call(\"ready\")\n\n\ny = YowsupConnectionManager()\nsignalsInterface = y.getSignalsInterface()\nmethodsInterface = y.getMethodsInterface()\nsignalsInterface.registerListener(\"auth_success\", onAuthSuccess)\nmethodsInterface.call(\"auth_login\", (\"username\", \"password\"))<\/code><\/pre>\n<p>&#8211; Message send<\/p>\n<p>Whatsapp \uc774 XMPP \uae30\ubc18 \ud504\ub85c\ud1a0\ucf5c\uc774\ubbc0\ub85c JID\ub97c \uc0ac\uc6a9\ud558\uace0 foramt\uc740 \uc804\ud654\ubc88\ud638@s.whatsapp.net \uc774\ub2e4.<br \/>\nmessage \uc804\uc1a1\uc740 &#8220;message_send&#8221; \ub97c \ud1b5\ud574 \uc804\ub2ec\ud558\uace0 sent\uc640 delivered\uc758 \ucc28\uc774\uc810\uc740 \uc798 \ubaa8\ub974\uaca0\uc9c0\ub9cc \uc544\ub9c8\ub3c4 library\uc5d0\uc11c \uba54\uc138\uc9c0\ub97c \uc11c\ubc84\uc5d0 \uc804\ub2ec\ud588\uc744 \ub54c\uc640 \uc11c\ubc84\uc5d0\uc11c \uba54\uc138\uc9c0\ub97c \uc218\uc2e0\uc790\uc5d0\uac8c \uc804\ub2ec \ud588\uc74c\uc744 \uc54c\ub9ac\ub294 \uac83\uc73c\ub85c \ucd94\uce21.. \uc554\ud2bc \ud574\ub2f9 \uc0c1\ud669\uc758 listener\ub97c \ub4f1\ub85d\ud558\uc5ec \uba54\uc138\uc9c0\uac00 delivered \uc0c1\ud0dc \uc77c\ub54c \uc544\ub798 sample code\uc640 \uac19\uc774 library\ub97c \ud1b5\ud574\uc11c ack\uc744 \uc804\ub2ec\ud574\uc57c \ud55c\ub2e4.<\/p>\n<pre><code>def onMessageSent(jid, messageId):\n    print \"Message was sent successfully to %s\" % jid\n\ndef onMessageDelivered(jid, messageId):\n    print \"Message was delivered successfully to %s\" %jid\n    methodsInterface.call(\"delivered_ack\", (jid, messageId))\n\nsignalsInterface.registerListener(\"receipt_messageSent\", onMessageSent)\nsignalsInterface.registerListener(\"receipt_messageDelivered\", onMessageDelivered)\n\nmethodsInterface.call(\"message_send\", (\"identifier@s.whatsapp.net\", \"Hello World!\"))<\/code><\/pre>\n<p>&#8211; Message receiving<\/p>\n<p>\uc544\ub798 \uc608\uc81c\uc5d0\uc11c\ub294 message \uc218\uc2e0 \uc2dc &#8220;message_id&#8221;\ub97c library\ub85c \uc804\ub2ec\ud558\ub294 \ucf54\ub4dc\uc9c0\ub9cc \uc124\uba85\uc5d0\uc11c\ub294 &#8220;message_received&#8221; signal\uc744 \ubc1b\uc73c\uba74 listener\uc5d0\uc11c &#8220;message_ack&#8221;\ub97c \ud638\ucd9c\ud574\uc57c \ud55c\ub2e4\uace0 \ud558\uace0 \uc788\uc74c. \uc548\uadf8\ub7ec\uba74 (xmpp \uc124\uc815, \uc544\ub9c8\ub3c4) \ub85c\uadf8\uc778\ud560 \ub54c \ub9c8\ub2e4 \uba54\uc138\uc9c0\ub97c \ubc1b\uac8c \ub41c\ub2e4.<\/p>\n<pre><code>methodsInterface.call(\"message_id\", (\"identifier@s.whatsapp.net\", messageId)<\/code><\/pre>\n<p>&#8211; Keep Alive<\/p>\n<p>whatsapp\uc740 3\ubd84 \ub9c8\ub2e4 &#8220;ping&#8221;\uc744 \uc804\ub2ec\ud558\uc5ec connection\uc744 \uc720\uc9c0\ud558\ubbc0\ub85c listener\ub97c \ub4f1\ub85d\ud574\uc11c &#8220;ping&#8221; request\uc5d0 \ub300\ud574\uc11c response\ud558\ub358\uac00 \uc544\ub2c8\uba74 setAutoPong()\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc790\ub3d9\uc801\uc73c\ub85c \ucc98\ub9ac \ud558\uac8c \ud560 \uc218 \uc788\ub2e4.<\/p>\n<div>To Listen and respond to pings:<\/div>\n<pre><code>def onPing(pingId):\n    methodsInterface.call(\"pong\", (pingId,))\n\nsignalsInterface.registerListener(\"ping\", onPing)\n<\/code><\/pre>\n<div>To tell Yowsup to automatically respond to pings and keep connection alive<\/div>\n<pre><code>y = YowsupConnectionManager()\ny.setAutoPong(True)<\/code><\/pre>\n<p>&#8211; Signals<br \/>\n:\u00a0<a href=\"https:\/\/github.com\/tgalal\/yowsup\/wiki\/Yowsup-Library-Documentation#full-list-of-signals\">https:\/\/github.com\/tgalal\/yowsup\/wiki\/Yowsup-Library-Documentation#full-list-of-signals<\/a><\/p>\n<p>\uad00\uc2ec\uc788\ub294 \uac83\ub9cc \uc815\ub9ac\ud558\uba74<\/p>\n<p>. Messages<\/p>\n<pre><code>message_received(int messageId,str jid,str content,long timestamp,bool receiptRequested)\ngroup_messageReceived(int messageId, str jid, str author, str messageContent, long timestamp, bool wantsReceipt, str pushName):\npushName(int messageId,str jid,str author,str content,long timestamp,bool receiptRequested, str pushName)<\/code><\/pre>\n<p>. Groups<\/p>\n<pre><code>group_gotInfo(str jid,str owner,str subject,str subjectOwner,long subjectTimestamp,long creationTimestamp)\ngroup_setSubjectSuccess(str jid)\ngroup_subjectReceived(int messageId,str jid,str author,str subject,long timestamp,bool receiptRequested)\ngroup_addParticipantsSuccess(str jid)\ngroup_removeParticipantsSuccess(str jid)\ngroup_createSuccess(str jid,str groupJid)\ngroup_createFail(int errorCode)\ngroup_endSuccess(str jid)\ngroup_gotPicture(str jid,str filePath)\ngroup_infoError(int errorCode)\ngroup_gotParticipants(str jid,list jids)\ngroup_setPictureSuccess(str jid)\ngroup_setPictureError(str jid,int errorCode)<\/code><\/pre>\n<p>. Profile<\/p>\n<pre><code>profile_setStatusSuccess(str jid,int messageId)\nprofile_setPictureSuccess()\nprofile_setPictureError(int errorCode)<\/code><\/pre>\n<p>. Contacts<\/p>\n<pre><code>contact_gotProfilePictureId(str jid,long pictureId)\ncontact_typing(str jid)\ncontact_paused(str jid)\ncontact_gotProfilePicture(str jid,str filePath)<\/code><\/pre>\n<p>. Media<\/p>\n<pre><code>image_received(int messageId,str jid,str preview,str url,int size,bool receiptRequested)\nvideo_received(int messageId,str jid,str preview,str url,int size,bool receiptRequested)\naudio_received(int messageId,str jid,str url,int size,bool receiptRequested)\nlocation_received(int messageId,str jid,str name,str preview,float latitude,float longitude,bool receiptRequested)\nvcard_received(int messageId,str jid,str name,str data,bool receiptRequested)\ngroup_imageReceived(int messageId,str jid,str author,str preview,str url,int size,bool receiptRequested)\ngroup_videoReceived(int messageId,str jid,str author,str preview,str url,int size,bool receiptRequested)\ngroup_audioReceived(int messageId,str jid,str author,str url,int size,bool receiptRequested)\ngroup_locationReceived(int messageId,str jid,str author,str name,str preview,float latitude,float longitude,bool receiptRequested)\ngroup_vcardReceived(int messageId,str jid,str author,str name,str data,bool receiptRequested)<\/code><\/pre>\n<p>&#8211; Methods<br \/>\n:\u00a0<a href=\"https:\/\/github.com\/tgalal\/yowsup\/wiki\/Yowsup-Library-Documentation#full-list-of-methods\">https:\/\/github.com\/tgalal\/yowsup\/wiki\/Yowsup-Library-Documentation#full-list-of-methods<\/a><\/p>\n<div><\/div>\n<p>\uc5ed\uc2dc \uad00\uc2ec \uc788\ub294 \uac83\ub4e4\ub9cc<\/p>\n<p>. Media<\/p>\n<pre><code>message_imageSend(str jid,str url,str name,int size,str preview)\nmessage_videoSend(str jid,str url,str name,int size,str preview)\nmessage_audioSend(str jid,str url,str name,int size)\nmessage_locationSend(str jid,float latitude,float longitude,str preview)\nmessage_vcardSend(str jid,str data,str name)<\/code><\/pre>\n<p>. Groups<\/p>\n<pre><code>group_getInfo(str jid)\ngroup_getPicture(str jid)\ngroup_create(str subject)\ngroup_addParticipants(str jid,str participants)\ngroup_removeParticipants(str jid,str participants)\ngroup_setPicture(str jid,str filePath)\ngroup_end(str jid)\ngroup_setSubject(str jid,str subject)\ngroup_getParticipants(str jid)<\/code><\/pre>\n<p>. Contacts<\/p>\n<pre><code>contact_getProfilePicture(str jid)\npicture_getIds(list jids)<\/code><\/pre>\n<p>. Profile<\/p>\n<pre><code>profile_getPicture()\nprofile_setStatus(str status)\nprofile_setPicture(str filePath)<\/code><\/pre>\n<h4><b>[WeChat<\/b><b>\u00a0mobile messenger<\/b><b>]<\/b><\/h4>\n<p>&#8211; protocol : ? (TCP based..)<br \/>\nWeChat API :\u00a0<a href=\"http:\/\/developers.wechat.com\/\">http:\/\/developers.wechat.com\/<\/a><br \/>\n. Install guide :\u00a0<a href=\"http:\/\/developers.wechat.com\/wechatapi\/installguide\">http:\/\/developers.wechat.com\/wechatapi\/installguide<\/a><\/p>\n<p>&#8211; Android, iOS \ubc84\uc804\uc744 \uc81c\uacf5\ud568.<br \/>\n&#8211; Overview\uc5d0\uc11c \uc18c\uac1c\ub41c \uc2dc\ub098\ub9ac\uc624\ub294 WeChat app\uc744 \ud1b5\ud574 message, content\ub97c \uacf5\uc720\ud558\ub294 \uc2dc\ub098\ub9ac\uc624\uc778 \uac83\uc73c\ub85c \ubcf4\uc784.<br \/>\n:\u00a0<a href=\"http:\/\/developers.wechat.com\/wechatapi\/messages-moments#title-Images\">http:\/\/developers.wechat.com\/wechatapi\/messages-moments#title-Images<\/a><\/p>\n<p>. Sharing via WeChat Message<\/p>\n<div class=\"separator\"><a href=\"http:\/\/1.bp.blogspot.com\/-3BVVY2L_hcw\/U6t4A2_zoRI\/AAAAAAAAAIU\/p5W33Lzasik\/s1600\/pic_WeChat%2520API%2520messages%5B1%5D.png\"><img loading=\"lazy\" src=\"http:\/\/1.bp.blogspot.com\/-3BVVY2L_hcw\/U6t4A2_zoRI\/AAAAAAAAAIU\/p5W33Lzasik\/s1600\/pic_WeChat%2520API%2520messages%5B1%5D.png\" alt=\"\" width=\"320\" height=\"96\" border=\"0\" \/><\/a><\/div>\n<p>. Share on WeChat Moments<\/p>\n<div class=\"separator\"><a href=\"http:\/\/3.bp.blogspot.com\/-VmRqh0jZnuQ\/U6t4FYzbqxI\/AAAAAAAAAIc\/i3ouy-47fR0\/s1600\/pic_WeChat%2520API%2520moments%5B1%5D.png\"><img loading=\"lazy\" src=\"http:\/\/3.bp.blogspot.com\/-VmRqh0jZnuQ\/U6t4FYzbqxI\/AAAAAAAAAIc\/i3ouy-47fR0\/s1600\/pic_WeChat%2520API%2520moments%5B1%5D.png\" alt=\"\" width=\"320\" height=\"88\" border=\"0\" \/><\/a><\/div>\n<p>&#8211; \uacf5\uac1c\ub41c API\ub4e4\uc740 auth, message\/content(image, music, video, url, file) send \uc815\ub3c4\uc758 API\ub4e4\uc774 \uc788\ub294 \uac83\uc73c\ub85c \ubcf4\uc774\uace0 \uc704 \uc2dc\ub098\ub9ac\uc624\ub4e4\uc744 \ucda9\uc871\ud558\uae30 \uc704\ud55c minimum API\ub4e4\uc778\uac83\uc73c\ub85c \ubcf4\uc778\ub2e4.<\/p>\n<p>&#8211; Text sending<\/p>\n<p>\uc5ec\ub7ec \uc608\uc81c(image, music, video, links)\ub4e4\uc774 \uc788\uc9c0\ub9cc \uac04\ub2e8\ud55c text \uc804\uc1a1\uc744 \uc0b4\ud3b4 \ubcf4\uba74<br \/>\n\uc544\ub798\uc640 \uac19\uc774 \uac04\ub2e8\ud558\ub2e4. \uc544\ubb34\ub798\ub3c4 (API\ub97c \uc880 \ub354 \ub4e4\uc5ec\ubd10\uc57c \uaca0\uc9c0\ub9cc) WeChat app\ub4e4\uacfc \uc5f0\ub3d9\ub418\uac8c \ub418\uc5b4 \uc788\ub294 \uac83\uc73c\ub85c \ubcf4\uc774\uace0 \uadf8\ub798\uc11c API\ub4e4\ub3c4 \uc81c\ud55c\uc801\uc73c\ub85c \ubcf4\uc778\ub2e4.<\/p>\n<p>text\ub97c \ub2f4\uc744 WXTextObject \uc0dd\uc131<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"com\">\/\/Init a WXTextObject object<\/span>\n<span class=\"typ\">WXTextObject<\/span><span class=\"pln\"> textObj <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">WXTextObject<\/span><span class=\"pun\">();<\/span><span class=\"pln\">\ntextObj<\/span><span class=\"pun\">.<\/span><span class=\"pln\">text <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> text<\/span><span class=\"pun\">;<\/span><\/pre>\n<p>WXMediaMessage\ub97c \uc0dd\uc131\ud558\uc5ec \uc704\uc758 text object assign<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"com\">\/\/Init a WXMediaMessage object with WXTextObject<\/span>\n<span class=\"typ\">WXMediaMessage<\/span><span class=\"pln\"> msg <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> newWXMediaMessage<\/span><span class=\"pun\">();<\/span><span class=\"pln\">\nmsg<\/span><span class=\"pun\">.<\/span><span class=\"pln\">mediaObject <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> textObj<\/span><span class=\"pun\">;<\/span>\n<span class=\"com\">\/\/the title is useless when send a text<\/span>\n<span class=\"com\">\/\/msg.title = \"Will be ignored\";<\/span><span class=\"pln\">\nmsg<\/span><span class=\"pun\">.<\/span><span class=\"pln\">description <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> text<\/span><span class=\"pun\">;<\/span><\/pre>\n<p>WeChat contacts\ub4e4\uc5d0 share \ud558\uae30<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"com\">\/\/Construct a req<\/span>\n<span class=\"typ\">SendMessageToWX<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Req<\/span><span class=\"pln\"> req <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">SendMessageToWX<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Req<\/span><span class=\"pun\">();<\/span><span class=\"pln\">\nreq<\/span><span class=\"pun\">.<\/span><span class=\"pln\">transaction <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> buildTransaction<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"text\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\nreq<\/span><span class=\"pun\">.<\/span><span class=\"pln\">message <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> msg<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\nreq<\/span><span class=\"pun\">.<\/span><span class=\"pln\">scene <\/span><span class=\"pun\">=<\/span> <span class=\"typ\">SendMessageToWX<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Req<\/span><span class=\"pun\">.<\/span><span class=\"typ\">WXSceneSession<\/span><span class=\"pun\">;<\/span>\n<span class=\"com\">\/\/Using API to send data to WeChat<\/span><span class=\"pln\">\napi<\/span><span class=\"pun\">.<\/span><span class=\"pln\">sendReq<\/span><span class=\"pun\">(<\/span><span class=\"pln\">req<\/span><span class=\"pun\">);<\/span><\/pre>\n<p>WeChat moments\ub85c share \ud558\uae30<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"com\">\/\/Construct a req<\/span>\n<span class=\"typ\">SendMessageToWX<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Req<\/span><span class=\"pln\"> req <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">SendMessageToWX<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Req<\/span><span class=\"pun\">();<\/span><span class=\"pln\">\nreq<\/span><span class=\"pun\">.<\/span><span class=\"pln\">transaction <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> buildTransaction<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"text\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\nreq<\/span><span class=\"pun\">.<\/span><span class=\"pln\">message <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> msg<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\nreq<\/span><span class=\"pun\">.<\/span><span class=\"pln\">scene <\/span><span class=\"pun\">=<\/span> <span class=\"typ\">SendMessageToWX<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Req<\/span><span class=\"pun\">.<\/span><span class=\"typ\">WXSceneTimeline<\/span><span class=\"pun\">;<\/span>\n<span class=\"com\">\/\/Using API to send data to WeChat<\/span><span class=\"pln\">\napi<\/span><span class=\"pun\">.<\/span><span class=\"pln\">sendReq<\/span><span class=\"pun\">(<\/span><span class=\"pln\">req<\/span><span class=\"pun\">);<\/span><\/pre>\n<h4>[Telegram\u00a0mobile messenger]<\/h4>\n<p>Telegram \uc18c\uac1c<br \/>\n:\u00a0<a href=\"http:\/\/zunonia.wordpress.com\/2014\/03\/04\/%EC%83%88%EB%A1%AD%EA%B2%8C-%EB%96%A0%EC%98%A4%EB%A5%B4%EA%B3%A0-%EC%9E%88%EB%8A%94-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EB%A9%94%EC%8B%A0%EC%A0%80-telegram\/\">http:\/\/zunonia.wordpress.com\/2014\/03\/04\/%EC%83%88%EB%A1%AD%EA%B2%8C-%EB%96%A0%EC%98%A4%EB%A5%B4%EA%B3%A0-%EC%9E%88%EB%8A%94-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EB%A9%94%EC%8B%A0%EC%A0%80-telegram\/<\/a><\/p>\n<div><\/div>\n<div>\ud2b9\uc9d5<\/div>\n<div class=\"separator\"><a href=\"http:\/\/1.bp.blogspot.com\/-5KxSqO2yWKs\/U6ojGr7SdEI\/AAAAAAAAAHU\/3kKqHrJR9vE\/s1600\/%EC%BA%A1%EC%B2%98.PNG\"><img loading=\"lazy\" src=\"http:\/\/1.bp.blogspot.com\/-5KxSqO2yWKs\/U6ojGr7SdEI\/AAAAAAAAAHU\/3kKqHrJR9vE\/s1600\/%EC%BA%A1%EC%B2%98.PNG\" alt=\"\" width=\"635\" height=\"640\" border=\"0\" \/><\/a><\/div>\n<div><\/div>\n<p>API &#8211;\u00a0<a href=\"https:\/\/core.telegram.org\/api\">https:\/\/core.telegram.org\/api<\/a><br \/>\nProtocol &#8211; MTProto,\u00a0<a href=\"https:\/\/core.telegram.org\/mtproto\">https:\/\/core.telegram.org\/mtproto<\/a><\/p>\n<div>&#8211; method list<\/div>\n<div>\u00a0:\u00a0<a href=\"https:\/\/core.telegram.org\/methods\">https:\/\/core.telegram.org\/methods<\/a><\/div>\n<div>\u00a0. Auth, user info, contacts, message send\/recv, secret chat, file transfer \ub4f1\uc758 API\ub4e4 \uc874\uc7ac<\/div>\n<p>. \uc544.. \uc880 \uc5b4\ub835\ub2e4. API\ub3c4 \uadf8\ub807\uace0 protocol\uc740 \ub354 \uc0c1\ub2f9\ud558\uace0..<\/p>\n<p><b>[Line]<\/b><\/p>\n<p>\uae30\uc5c5\uc744 \uc704\ud55c API\ub97c \uc81c\uacf5\ud55c\ub2e4\ub294 \uae30\uc0ac\uac00 \uc788\uc5c8\uc74c.<br \/>\n\uc544\ub9c8\ub3c4 \uacc4\uc57d\ub41c 3rd party\ub97c \uc704\ud55c closed API\ub85c \ubcf4\uc784.<br \/>\n: <a href=\"http:\/\/thenextweb.com\/asia\/2012\/07\/03\/asian-mobile-messaging-service-line-embraces-apps-and-opens-the-api-for-its-45m-user-strong-platform\/\">http:\/\/thenextweb.com\/asia\/2012\/07\/03\/asian-mobile-messaging-service-line-embraces-apps-and-opens-the-api-for-its-45m-user-strong-platform\/<\/a><\/p>\n<p>iOS\uc5d0\uc11c app\uc744 \ud1b5\ud574\uc11c \uba54\uc138\uc9c0\ub97c \uc804\ub2ec\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uc758 \ub9c1\ud06c\ub97c<br \/>\n: <a href=\"http:\/\/blog.naver.com\/PostView.nhn?blogId=apocalypsegm&amp;logNo=130171221611&amp;redirect=Dlog&amp;widgetTypeCall=true\">http:\/\/blog.naver.com\/PostView.nhn?blogId=apocalypsegm&amp;logNo=130171221611&amp;redirect=Dlog&amp;widgetTypeCall=true<\/a><br \/>\nhttp:\/\/www.prnewswire.com\/news-releases\/nhn-japan-to-launch-lines-new-platform-service-line-channel-161178635.htmlhttp:\/\/www.prnewswire.com\/news-releases\/nhn-japan-to-launch-lines-new-platform-service-line-channel-161178635.html<br \/>\n\uc544\ub798\ub294 \uac1c\uc778\uc801\uc73c\ub85c packet capture\ub97c \ud1b5\ud574 \ud655\uc778\ud55c \ud504\ub85c\ud1a0\ucf5c.<br \/>\n\ucc38\uace0\ub9cc \ud574\uc57c \ud560\ub4ef. \uacc4\uc18d \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294\uc9c0 \ubd88\ubd84\uba85\ud55c\uc9c0\ub77c..<\/p>\n<p>1 &#8211;\u00a0<a href=\"http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-reverse-engineering.html\">http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-reverse-engineering.html<\/a><br \/>\n2 &#8211;\u00a0<a href=\"http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-protocol-analysis-2.html\">http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-protocol-analysis-2.html<\/a><br \/>\n3 &#8211;\u00a0<a href=\"http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-protocol-analysis-3-session-key.html\">http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-protocol-analysis-3-session-key.html<\/a><br \/>\n4 &#8211;\u00a0<a href=\"http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-protocol-analysis-4-registration.html\">http:\/\/carpedm20.blogspot.kr\/2013\/09\/line-protocol-analysis-4-registration.html<\/a><\/p>\n<p>\uae30\ud0c0\ub85c Line Channel \uc774\ub77c\ub294 \uac1c\ub150\uc774 2012\ub144 \ud568\uaed8 \ubc1c\ud45c \ub418\uc5c8\uc74c.<br \/>\ngame, app, music, coupon\ub4f1\uc744 \uc81c\uacf5\ud558\ub294 platform\uc758 \uac1c\ub150\uc73c\ub85c Line\uc744 \ub9cc\ub4e4\uc5b4 \uac00\uaca0\ub2e4\ub294 \uc758\ubbf8\uc774\uace0<br \/>\n\uae30\uc220\uc801\uc778 \uad00\uc810\uc5d0\uc11c\ub294 \ud574\ub2f9 content\ub4e4\uc740 HTML5 based web app\uc774\ub098 linked native app\uc73c\ub85c<br \/>\nLine app\uc744 \ud1b5\ud574 \uc81c\uacf5\ub41c\ub2e4\uace0 \ud568.<br \/>\n<a href=\"http:\/\/www.serkantoto.com\/2012\/07\/03\/line-channel-nhn\/\">http:\/\/www.serkantoto.com\/2012\/07\/03\/line-channel-nhn\/<\/a><br \/>\n<a href=\"http:\/\/www.prnewswire.com\/news-releases\/nhn-japan-to-launch-lines-new-platform-service-line-channel-161178635.html\">http:\/\/www.prnewswire.com\/news-releases\/nhn-japan-to-launch-lines-new-platform-service-line-channel-161178635.html<\/a><\/p>\n<h4><b>[KakaoTalk]<\/b><\/h4>\n<p>&#8211; \uacf5\uac1c\ub41c API &#8211;\u00a0<a href=\"https:\/\/developers.kakao.com\/\">https:\/\/developers.kakao.com\/<\/a><\/p>\n<div class=\"separator\"><a href=\"http:\/\/4.bp.blogspot.com\/-rizGIhzG40s\/VDuBxafCKQI\/AAAAAAAAAKc\/5iQZ3rxcEe8\/s1600\/Screenshot%2Bfrom%2B2014-10-13%2B16%3A39%3A04.png\"><img loading=\"lazy\" src=\"http:\/\/4.bp.blogspot.com\/-rizGIhzG40s\/VDuBxafCKQI\/AAAAAAAAAKc\/5iQZ3rxcEe8\/s1600\/Screenshot%2Bfrom%2B2014-10-13%2B16%3A39%3A04.png\" alt=\"\" width=\"320\" height=\"225\" border=\"0\" \/><\/a><\/div>\n<p>. \uce74\uce74\uc624\ud1a1 \ud504\ub85c\ud544 \uc694\uccad, \u00a0\uce74\uce74\uc624\ub9c1\ud06c \uc804\uc1a1 API\ub97c \uc81c\uacf5 \uc911\uc784.<br \/>\n: \ud504\ub85c\ud30c\uc77c\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 \uc815\ubcf4\ub294 nickname, image URL, thumbnail URL, \uad6d\uac00 \uc815\ubcf4<br \/>\n: \uce74\uce74\uc624\ub9c1\ud06c\uc758 \ud615\uc2dd : \ud14d\uc2a4\ud2b8, \uc774\ubbf8\uc9c0, \ub9c1\ud06c(\uc6f9, \uc571), \ubc84\ud2bc(\uc6f9, \uc571)<\/p>\n<div class=\"separator\"><a href=\"http:\/\/3.bp.blogspot.com\/-AJRKqs1fazA\/U6t3sTT6O_I\/AAAAAAAAAIE\/E0etVp4RabA\/s1600\/a_018%5B1%5D.png\"><img loading=\"lazy\" src=\"http:\/\/3.bp.blogspot.com\/-AJRKqs1fazA\/U6t3sTT6O_I\/AAAAAAAAAIE\/E0etVp4RabA\/s1600\/a_018%5B1%5D.png\" alt=\"\" width=\"200\" height=\"132\" border=\"0\" \/><\/a><a href=\"http:\/\/1.bp.blogspot.com\/-4l3D4gZweCE\/U6t3w_pfHfI\/AAAAAAAAAIM\/wOCleo4JJjY\/s1600\/a_019%5B1%5D.png\"><img loading=\"lazy\" src=\"http:\/\/1.bp.blogspot.com\/-4l3D4gZweCE\/U6t3w_pfHfI\/AAAAAAAAAIM\/wOCleo4JJjY\/s1600\/a_019%5B1%5D.png\" alt=\"\" width=\"200\" height=\"146\" border=\"0\" \/><\/a><\/div>\n<div><\/div>\n<p>&#8211; \ucd94\uac00\ub85c Line\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c \uc0ac\uc6a9\uc790\uac00 packet capture\ud558\uc5ec \ud655\uc778\ud55c \ud504\ub85c\ud1a0\ucf5c. \uac81\ub098\ube60\ub978 \ud669\uc18c(LOCO) \ud504\ub85c\uc81d\ud2b8\uc758 \uacb0\uacfc\ubb3c\uc758 protocol\uc774\ub77c\uace0 \ud568.<\/p>\n<p><a href=\"https:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-1\/\">https:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-1\/<\/a><br \/>\n<a href=\"https:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-2\/\">https:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-2\/<\/a><br \/>\n<a href=\"http:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-3\/\">http:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-3\/<\/a><br \/>\n<a href=\"https:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-4\/\">https:\/\/www.bpak.org\/blog\/2012\/12\/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-4\/<\/a><\/div>\n<div class=\"post-body entry-content\"><\/div>\n<div class=\"post-body entry-content\"><\/div>\n<div class=\"post-body entry-content\"><\/div>\n<div class=\"post-body entry-content\">\ucd9c\ucc98 : http:\/\/charlie0301.blogspot.kr\/2014\/06\/messaging-history-protocol-mobile.html<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Messaging \uad00\ub828 \uc0ac\ud56d\ub4e4(history, protocol, mobile messenger APIs) \uc815\ub9ac http:\/\/en.wikipedia.org\/wiki\/Instant_messaging wikipedia\uc5d0\uc11c\ub294 \uc5ec\ub7ec \ub0b4\uc6a9\uc774 \uc788\uace0 \uac04\ub7b5\ud55c history\ub294 \uc544\ub798 \uadf8\ub9bc\uc5d0\uc11c \ubcfc \uc218 \uc788\uc74c. :\u00a0http:\/\/www.technologyblogged.com\/round-ups\/the-beginning-middle-present-and-future-of-instant-messaging [Standards for Instant Messaging] \uc5ec\ub7ec messenger\uc774 \ub09c\ub9bd\ud588\ub358 \uad00\uacc4\ub85c \uc544\ub798\uc640&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[54],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1615"}],"collection":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1615"}],"version-history":[{"count":0,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1615\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}