ĬÈÏ
´òÉÍ ·¢±íÆÀÂÛ 1
Ï뿪·¢IM£ºÂò³ÉÆ·Å¿ӣ¿×âµÚ3·½Å¹ó£¿ÕÒ¿ªÔ´×ÔÒÑߣ£¿¾¡Á¿±ð×ßÍä·ÁË... ÕÒÕ¾³¤¸øµã½¨Òé
תתƽ̨IMϵͳ¼Ü¹¹Éè¼ÆÓëʵ¼ù(¶þ)£ºÏêϸÉè¼ÆÓëʵÏÖ
΢ÐÅɨһɨ¹Ø×¢£¡

±¾ÎÄÓÉתת Áº»á±ò¡¢¶ÅÔƽܷÖÏí£¬Ô­Ì⡰תתIMµÄʵ¼ùÓë˼¿¼¡±£¬¼´Ê±Í¨Ñ¶Íø½øÐÐÁËÅÅ°æºÍÄÚÈÝÓÅ»¯¡£


1¡¢ÒýÑÔ


½ÓÉÏƪ¡¶ÕûÌå¼Ü¹¹Éè¼Æ¡·£¬±ÊÕß½«ÒÔתתIM¼Ü¹¹ÎªÆðµã£¬½éÉÜIMÏà¹Ø×é¼þÒÔ¼°×é¼þ¼äµÄ¹Øϵ£»ÒÔIMµÇ½ºÍ·¢ÏûÏ¢µÄÊý¾ÝÁ÷תΪÅܵÀ£¬½éÉÜIM¾²Ì¬Êý¾Ý½á¹¹¡¢µÇ½ºÍ·¢ÏûϢʱµÄ¶¯Ì¬Êý¾Ý±ä»¯£»ÒÔIM³£¼ûÎÊÌâΪ·ç¾°£¬½éÉܱ£Ö¤IMʵʱÐÔ¡¢¿É¿¿ÐÔ¡¢Ò»ÖÂÐÔµÄÒ»°ã·½°¸£»ÒԸ߿ÉÓᢸ߲¢·¢ÎªÖյ㣬½éÉܱ£Ö¤IMϵͳÎȶ¨¼°ÐÔÄܵÄС¼¼ÇÉ¡£

cover-opti.png

2¡¢ÏµÁÐÎÄÕÂ


±¾ÎÄÊÇϵÁÐÎÄÕÂÖеĵÚ2ƪ£¬±¾ÏµÁÐÎÄÕµĴó¸ÙÈçÏ£º


3¡¢±¾ÎÄ×÷Õß


Áº»á±ò£º×ª×ª¼Ü¹¹²¿×ÊÉîJava¹¤³Ìʦ£¬Ö÷Òª¸ºÔð·þÎñÖÎÀíƽ̨¡¢DockerÔÆƽ̨¡¢IM¡¢·Ö²¼Ê½IDÉú³ÉÆ÷¡¢¶ÌÓòÃû·þÎñµÈ£¬ÓзḻµÄÏßÉÏʵս¾­Ñé¡£

4¡¢ IM¼Ü¹¹»Ø¹Ë


1.png

Ó¦Óò㣺ʹÓÃIM·þÎñµÄÉÏÓÎÒµÎñ·½£¬°üÀ¨app£¨iosºÍandroid£©¡¢Ð¡³ÌÐò/PC/mÒ³¡¢push¡¢ÒµÎñ·½µÈ¡£

½ÓÈë²ã£º

  • 1£©tcp entry£ºÊ¹ÓÃTCPЭÒ飬Ö÷ÒªÓÃÓÚ³¤Á¬½Ó±£³Ö¡¢»á»°¹ÜÀí¡¢Ð­Òé½âÎö£»
  • 2£©http entry£ºÊ¹ÓÃhttpЭÒ飬²ÉÓÃlong pull¼¼Êõ£¬Ö÷ÒªÓÃÓÚ³¤Á¬½Ó±£³Ö¡¢»á»°¹ÜÀí¡¢Ð­Òé½âÎö£»
  • 3£©mq£º½ÓÊÕµçÉÌÍƹãµÈϵͳÏûÏ¢¡£ÍÆËÍÁ¿¾ßÓÐÂö³åÌص㣬ʹÓÃmqÏ÷·åÌî¹È£»
  • 4£©rpc-server£ºÒµÎñ²éѯÓû§ÁÄÌìÊý¾Ý¡¢·¢ËÍʵʱϵͳÏûÏ¢µÈ¡£

Âß¼­²ã£º

  • 1£©logic£ººËÐÄÂß¼­·þÎñ£¬¸ºÔðµÇ½ÐÅÏ¢¹ÜÀí¡¢ÔÚÏßÏûÏ¢¹ÜÀí¡¢ÀëÏßÏûÏ¢¹ÜÀí¡¢ÔÚÏßÍÆË͹ÜÀíµÈ£»
  • 2£©ext-logic£ºÀ©Õ¹Âß¼­·þÎñ£¬¸ºÔð×ÓĸÕ˺ÅÍÆËÍ¡¢µÇ½ÐÅϢͳ¼Æ¡¢ÏµÍ³ÏûÏ¢¹ÜÀíµÈ¡£

Êý¾Ý²ã£º

  • 1£©MySQL£ºÁªÏµÈËÊý¾Ý¡¢ÏûÏ¢Êý¾Ý¡¢ÏµÍ³ÏûÏ¢Êý¾ÝµÈ£»
  • 2£©Redis£ºµÇ½ÐÅÏ¢µÈ¡£

5¡¢IMÏûÏ¢ÊÕ·¢


5.1³¡¾°ËµÃ÷


Êý¾ÝÁ÷ÖÐÒÔÓû§AºÍÓû§BµÄ¶Ô»°ÎªÀý£¬ÆäÖÐÓû§AµÄuidΪ1£¬Óû§BµÄuidΪ2¡£

ÏÂͼΪÓû§ÁÄÌ쳡¾°Í¼£º
2.png

ÏÂͼΪÓû§ÁÄÌìIMϵͳµÄÊý¾ÝÁ÷תͼ£º
3.png

5.2Êý¾Ý½á¹¹


µÇ½ÐÅÏ¢´æ´¢ÔÚRedisÖУ¬ÁªÏµÈ˺ÍÏûÏ¢Êý¾Ý·ÅÔÚTiDBÖС£

1£©µÇ½ÐÅÏ¢£º
key£ºuid
value£º{entryIp:"127.0.0.1",entryPort:5000,loginTime:23443233}

2£©ÁªÏµÈË£º

4.png

˵Ã÷£º

  • 1£©recent_msg_content£º×î½üÒ»Ìõ¶Ô»°ÏûÏ¢µÄÄÚÈÝ£¬ÓÃÓÚÁªÏµÈËÁбíÖÐչʾ×î½üµÄÏûÏ¢ÄÚÈÝ£»
  • 2£©recent_read_time£º×î½üÒ»´Î¶ÁÈ¡¸Ã»á»°ÏûÏ¢µÄʱ¼ä£¬ÓÃÓÚ¿ØÖÆÒѶÁ״̬£¬Ð¡ÓÚ¸Ãʱ¼äµÄËùÓÐÏûÏ¢£¬¶¼ÎªÒѶÁ״̬¡£

3£©ÏûÏ¢£º

5.png

˵Ã÷£º

  • 1£©client_msg_id£º¿Í»§¶ËÉú³ÉµÄid£¬¿Í»§¶ËÃݵÈÉè¼Æ£¬·ÀÖظ´£»
  • 2£©direction£ºÏûÏ¢·½Ïò£¨0´ú±í½Ï´óuidÏò½ÏСuid·¢ËÍÏûÏ¢£¬1Ôò·´Ö®£©¡£

Êý¾ÝÁ÷=Êý¾Ý+Á÷¡£ÉÏÃ沿·Ö½²Êý¾Ý£¬¼´ÁªÏµÈ˺ÍÏûÏ¢±í£¬´Ó¾²Ì¬µÄ½Ç¶È½éÉÜÁËIMµÄÊý¾Ý½á¹¹£»ÏÂÃ沿·Ö½²Á÷£¨IMÖÐ×îÖØÒªµÄÁ½¸öÁ÷³Ì£©£¬¼´µÇ½ºÍ·¢ÏûÏ¢£¬´Ó¶¯Ì¬µÄ½Ç¶ÈÀ´²ûÊöIMϵͳÖÐÊý¾ÝµÄÁ÷ת¡£

5.3Ö÷ÒªÁ÷³Ì


5.3.1 £©µÇ½£º

1£©ÎÊÌ⣺entryµØÖ··¢ÏÖ£ºappÖ±½Ó·ÃÎÊvip£¬ÓÉvipת·¢µ½entry¡£

2£©Á÷³Ì£¨ÏÂÃæµÄÊý×ÖΪͼÖÐÊý×ÖµÄ˵Ã÷£©£º

  • 1£©½¨Á¬£ºappͨ¹ývip·¢ÆðÓëentryÁ¬½Ó£»
  • 2£©×ª·¢£ºentryת·¢µÇ½ÐÅÏ¢µ½logic£¬»ñÈ¡Óû§uid²¢¹ÜÀí¸ÃÓû§µÄÁ¬½Ó£»
  • 3£©Èë¿â£ºlogic¼Ç¼Óû§µÇ½ÐÅÏ¢µ½redis¡£

3£©Êý¾Ý£º
RedisÖÐÊý¾ÝÈçÏ£º
key£º1
value£º{entryIp:"127.0.0.1",entryPort:5000,loginTime:23443233}

5.3.2 £©·¢ÏûÏ¢£¨ÏÂÃæµÄÊý×ÖΪͼ¶þÖÐÊý×ÖµÄ˵Ã÷£©£º

1£©Á÷³Ì´¦Àí£º

  • 1£©·¢ËÍ£ºÍ¨¹ýÓû§ÓëentryµÄ³¤Á¬½Ó·¢ËÍÎÄ×Ö"hello world"£»
  • 2£©×ª·¢£ºentryת·¢ÎÄ×ÖÐÅÏ¢"hello world"µ½logic£»
  • 3£©Èë¿â£ºlogic´æÈëÊý¾Ý¿â£¬¼´¸üÐÂÁªÏµÈ˱íºÍÏûÏ¢±í£¬ÆäÖÐÁªÏµÈ˱í¸üÐÂrecent_msg_content×ֶΣ¬ÏûÏ¢±íÔö¼ÓÒ»ÌõÐÂÏûÏ¢¼Ç¼£»
  • 4£©ÍÆËÍ£º´ÓRedisÖлñÈ¡Óû§BµÇ½entry£¬Èç¹ûδµÇ¼£¬×ßÀëÏßÂß¼­£¨·¢ËÍpush¡¢ÍÆËÍ΢ÐÅ¡¢¶ÌÐÅ»½Æ𣩣»
  • 5£©ËʹÓû§BÊÕµ½ÏûÏ¢£»
  • 6£©È·ÈÏ£º·¢ËÍackµ½entry£»
  • 7£©Íê³É£ºlogicÊÕµ½ack£¬È¡Ïû¶¨Ê±Æ÷£»Èç¹ûûÓÐÊÕµ½ack£¬logic»á¶¨Ê±ÖØ·¢£¨Óû§ÔÚÏßʱ£©¡£

2£©Êý¾Ý£º

ÁªÏµÈËÊý¾ÝÈçÏ£º
6.png

ÏûÏ¢±íÊý¾ÝÈçÏ£º
7.png

5.3.3£©¹ØÓÚÊý¾ÝµÄ¼¸¸öÎÊÌ⣺

1£©ÏûÏ¢ºÍÁªÏµÈËÊÇÈçºÎ·Ö¿â·Ö±íµÄ£¿Ê¹ÓÃTiDB£¬ÎÞÐè·Ö¿â·Ö±í£¨ÏÖÔڵıíÉè¼ÆÖ§³Ö¸ù¾Ýuid_a·Ö±í£¬Ò²¾ÍÊÇÎÞ·ìÖ§³ÖÒÔMySQLΪ´æ´¢£©¡£

2£©ÁªÏµÈ˱íÒ»ÌõÏûϢΪʲô¼Ç¼ÁËÁ½ÌõÊý¾Ý£¿ÒµÎñÂß¼­ÉÏ£¬¿¼Á¿Ö§³ÖÒѶÁ¡¢É¾³ýÁªÏµÈË£»Ë÷ÒýÐÔÄÜÉÏ£¬¿¼ÂÇÓû§²éѯÁªÏµÈËʱ£¬sqlÌõ¼þΪwhere uid_a=£¿£¬ÁªÏµÈ˱íË÷ÒýΪuid_a£¬Èç¹û´æµ¥ÌõÊý¾Ý£¬ÎÞ·¨ÓÐЧÀûÓÃË÷Òý¡£

3£©ÏûÏ¢±íÒ»ÌõÏûÏ¢¼Ç¼һÌõÊý¾Ý£¬Óû§BÓëÓû§AµÄÏûÏ¢Ôõô²éѯ£¿¸Ã±íË÷ÒýΪ<big_uid, small_uid>ÁªºÏË÷Òý£¬ÎÞÂÛÊÇÓû§A²éѯÓëÓû§BµÄÁÄÌìÐÅÏ¢£¬»¹ÊÇÓû§B²éѯÓû§AµÄÁÄÌìÐÅÏ¢£¬ÆäsqlͳͳΪwhere big_uid =max(uid_a,uid_b) and small_uid =min(uid_a,uid_b)£¬È»ºó¸ù¾Ýdirection×Ö¶ÎչʾÁÄÌì·½Ïò£¬ÕâÑù¾Í¿ÉÒÔÓÃÒ»ÌõÏûÏ¢£¬ÎÞÐèºÍÁªÏµÈ˱íÒ»Ñù´æ´¢Á½·ÝÊý¾Ý£¬Âú×ãÁ½ÖÖ²éѯ£¬½ÚÊ¡Ò»°ëµÄÏûÏ¢´æ´¢¡£

6¡¢IM³£¼ûÎÊÌâ


6.1ÏûÏ¢µÄʵʱÐÔ


1£©ÊÇʲô£º

Óû§A¸øÓû§B·¢ËÍÏûÏ¢"hello world"£¬Óû§BÔõôµÚһʱ¼ä¸ÐÖªµ½£¿ÕâÀï˵µÄʵʱÐÔ£¬¾ÍÊÇÖ¸Óû§ÈçºÎʵʱ»ñÈ¡·¢Ë͵ÄÏûÏ¢¡£

2£©ioÄ£ÐÍ´øÀ´µÄÆôʾ£º

  • 1£©poll¡¢select¡¢epoll£»
  • 2£©poll/selectÏà±Èepoll×î´óµÄÁÓÊÆÔÚÓÚÂÖѯ£¬ÂÖѯ¾ÍÐèÒªÂÖѯ¼ä¸ô£¬¼ä¸ôС»áÀË·Ñcpu£¬¼ä¸ô´ó»á²»ÊµÊ±¡£epoll¾ßÓÐdon't call me i will call youµÄÌص㣬±£Ö¤ÊµÊ±ÐÔ£»
  • 3£©IMÒ²ÃæÁÙ×ÅÂÖѯ»¹ÊÇ֪ͨµÄÎÊÌ⣬Ҳ¾ÍÊÇpullºÍpushµÄÎÊÌâ¡£

3£©Ôõô°ì£º

  • 1£©ÏòepollÖ¾´£ºepoll_create¡¢epoll_ctl¡¢epoll_wait£¨´ËÈýÕßÊÇepollϵͳµ÷ÓÃapi£©£»
  • 2£©Õû¸öIMϵͳºÍepollÄ£ÐÍÀàËÆ£¬appºÍentry±£³Ö³¤Á¬½Ó£¨epoll_create£©£»entry session¹ÜÀí£¨¼´³¤Á¬½Ó¹ÜÀíepoll_ctl£©£»logicµÈ´ýÓû§A·¢Ë͸øÓû§BÏûÏ¢£¬»ñÈ¡Óû§BËùµÇ½entry£¬´¥·¢ÍÆËÍÏûÏ¢£¨epoll_wait£©£»×ÛÊö£¬entry°çÑÝ×Å£¨epoll_create£¬epoll_ctl£©£¬logic°çÑÝ×Å£¨epoll_wait£©ÕâÑùIMϵͳ¾Í½â¾öÁËÏûϢʵʱÐÔÎÊÌâ¡£

6.2ÏûÏ¢µÄ¿É¿¿ÐÔ


1£©ÊÇʲô£º

  • 1£©Óû§A¸øÓû§B·¢ËÍÏûÏ¢"hello world"£¬Óû§BÔÚÏߣ¬Ôõô±£Ö¤Óû§BȷʵÊÕµ½ÁËÏûÏ¢¡£ÕâÀï˵µÄ¿É¿¿ÐÔ£¬¾ÍÊÇÖ¸Óû§ÈçºÎ¿É¿¿·¢Ë͵ÄÏûÏ¢¡£

2£©tcpÄ£ÐÍ´øÀ´µÄÆôʾ£º

  • 1£©Ê§°ÜÖØ´«¡¢ackÈ·ÈÏ¡£

3£©Ôõô°ì£º

  • 1£©Ê§°ÜÖØ´«£ºÍ¼¶þÖУ¨1¡¢·¢ËÍ2¡¢×ª·¢3¡¢Èë¿â£©Ê§°Ü£¬¸æÖª¿Í»§¶Ëʧ°Ü£¬ÓÉ¿Í»§¶ËÖØ´«£»
  • 2£©ackÈ·ÈÏ£ºÍ¼¶þÖУ¨4¡¢ÍÆËÍ5¡¢ËÍ´ï6¡¢È·ÈÏ7¡¢Íê³É£©Ê§°Ü£¬¼´ack´¦Àíʧ°Ü£¬Æô¶¯ÖØÐÂ֪ͨÂß¼­¡£

6.3ÏûÏ¢µÄÒ»ÖÂÐÔ


1£©ÊÇʲô£º

  • 1£©ÏÖÏ󣺱¾À´Óû§A¸øÓû§B·¢ËÍÁËÒ»¸ö"hello world"£¬¶øÓû§BÈ·ÊÕµ½ÁËÁ½¸ö"hello world"£»
  • 2£©Ô­Òò£ºÓÉÓÚ¿É¿¿ÐÔÂß¼­ÖеÄÖØ´«Âß¼­£¬¿ÉÄÜÔì³É¿Í»§¶ËÈÏΪʧ°ÜÁË£¬µ«ÊÇ·þÎñ¶ËÈ´³É¹¦ÁË£»ÍÆËÍack·µ»Ø´íÎó£¬Ôì³ÉÖØÍÆ¡£

2£©Éí·ÝÖ¤´øÀ´µÄÆôʾ¡£

3£©Ôõô°ì£º

  • 1£©client_msg_id£º¿Í»§¶Ë·¢ËÍÏûϢʱÉú³É¿Í»§¶Ëid£¬¶ÔÓÚµ¥¸ö¿Í»§¶Ë£¬¸Ãid¾ßÓÐΨһÐÔ£¬ÏñÉí·ÝÖ¤Ò»Ñù£»
  • 2£©¿Í»§¶ËÈ¥ÖØ£ºÈç¹û¿Í»§¶Ë·¢ÏÖÏàͬclient_msg_idµÄÏûÏ¢£¬Ôò½ö½öչʾһÌõÊý¾Ý¡£

7¡¢IM¸ß¿ÉÓᢸ߲¢·¢


1£©À©ËõÈÝ£º

ÒÀÍй«Ë¾rpc·þÎñ×¢²á·¢ÏÖÄÜÁ¦£¬½èÖúdocker¿ìËÙÀ©ÈÝ£¬ºËÐÄ´¦ÀíÂß¼­logic·þÎñʵÏÖÃ뼶À©ÈÝ¡£À©ÈÝÒÀ¾ÝΪ¸÷ÖÖ¼à¿ØÖ¸±ê£¬°üÀ¨»úÆ÷ÐÔÄÜÖ¸±ê¡¢ entry/logic qpsÖ¸±ê¡¢jvmÖ¸±ê¡¢sql¼à¿ØµÈ×ۺϿ¼Á¿¡£

2£©È۶ϣº

µ±´óÁ÷Á¿½øÈëʱ£¬Èç¹ûºËÐÄ·þÎñÒÀÀµµÄ·þÎñ£¨±ÈÈçĸ×ÓÕ˺ŷþÎñ£©³öÏÖ²»¿ÉÓõÄÇé¿ö¡£Õâʱ£¬ÎÒÃÇÊÇÖ±½ÓʹIM·þÎñ²»¿ÉÓÃÂð£¿ÊDz»ÊÇÓиüºÃµÄÑ¡Ôñ£¿´ð°¸Êǿ϶¨µÄ£¬ÎÒÃÇ¿ÉÒÔÎþÉüĸ×ÓÕ˺Ź¦ÄÜ£¬Ò²¾ÍÊÇÈ۶ϲ»ÖØÒªµÄÒÀÀµ·þÎñ£¬×öµ½ÈáÐÔ¿ÉÓá£

3£©ÏÞÁ÷£º

Èç¹ûÓöµ½Ë²Ê±¸ßÁ÷Á¿£¬½ö½öÀ©ÈÝÓпÉÄÜÊʵÃÆä·´¡£Èç¹ûdb´¦ÀíÄÜÁ¦´ïµ½¼«ÏÞ£¬À©ÈݾͲ»ÊÇÃ÷ÖǵÄÑ¡Ôñ£¬À©ÈÝ·´¶ø»áµ¼ÖÂdbÁ¬½ÓÔö¶à£¬Ôö¼ÓdbµÄѹÁ¦£¬µ¼Ö·þÎñ±ÀÀ£¡£ÕâʱÍËÒ»²½²ÉÓÃÏÞÁ÷£¬Ó¦Óá°fast fail¡±²ßÂÔ£¬Èò¿·ÖÁ÷Á¿¿ìËÙʧ°Ü£¬¼õС·þÎñѹÁ¦£¬´ïµ½²¿·Ö¿ÉÓõÄЧ¹û¡£

4£©×ܽ᣺

IM×÷ΪµçÉÌÓ¦ÓÃÖеÄÒ»¸öÖØÒª½Úµã£¬ÆäÖØÒªÐÔ²»ÑÔ¶øÓ÷£¬¶ÔÆäÔõôÖØÊÓ¶¼²»Îª¹ý¡£ÎÒÃÇʹÓüà¿Ø¹¤¾ß¶¨ÒåIMµÄºËÐÄmetrics£¬¸ù¾ÝÖ¸±ê½øÐÐÀ©ËõÈÝ£¬ÕâÑù×öµ½Á˸߿ÉÓã»

¸ß¿ÉÓÃÊÇÍòÄܵÄÂð£¿IMÒÀÀµÁ˺ܶà·þÎñ£¬±ÈÈçÓû§£¬Ä¸×ÓÕ˺ţ¬·ç¿ØµÈ·þÎñ£¬Èç¹ûÕâЩ·þÎñ³öÏÖ²»¿ÉÓõÄÇé¿öÄØ£¿Õâ¸öʱºò¾ÍҪѧϰһϹÅÈ˵ÄÖǻۣ¬×³Ê¿¶ÏÍó£¬ÎþÉüСÎÒ£¬»»È¡´óÎÒÁË£¬Ò²¾ÍÊÇÈáÐÔ¿ÉÓã»

½ö½öÕâÑù»¹ÊDz»¹»µÄ£¬Èç¹ûÓöµ½Í»·¢Á÷Á¿£¬db£¨²»¿É˲ʱÀ©´ó´¦ÀíÄÜÁ¦£©µÈ´¦ÀíÄÜÁ¦´ïµ½¼«ÏÞʱÕâ¸öʱºò¾ÍÒªÎþÉü²¿·ÖÇëÇóÁË£¬Ò²¾ÍÒª×öµ½²¿·Ö¿ÉÓᣴӡ°¸ß¿ÉÓá±µ½¡°ÈáÐÔ¿ÉÓá±ÔÙµ½¡°²¿·Ö¿ÉÓá±£¬Ãæ¶Ô²»Í¬case£¬IMÒª×öµ½ÓÎÈÐÓÐÓà¡£

Æäʵ£¬ÕâÖÖ˼ÏëÓÖºÎÖ¹IMÄØ£¬ÈκÎÖØÒªµÄ·þÎñ¶¼ÒªÃæ¶ÔÕâЩÎÊÌâ°É£¬Íƶø¹ãÖ®£¬Ãæ¶Ô×Ô¼º¸ºÔðµÄ·þÎñ£¬Ôõô¾«Ï¸Ð¡ÐĶ¼²»Îª¹ý¡£

8¡¢±¾ÎÄС½á


³ÏÈ»£¬ÕâƪÎÄÕ¸ø´ó¼Ò¶ÔIMϵͳ¼òµ¥µÄÈÏʶ£¬²ûÊöÁËIMµÄÒ»°ã¼Ü¹¹¡¢Ö÷ÒªÒµÎñÂß¼­¡¢³£¼ûÎÊÌâºÍ½â¾ö·½°¸ÒÔ¼°·þÎñÖÎÀíÏà¹ØÓ¦Óã¬IM»¹ÓкܶàÒµÎñÂß¼­ºÍ¼¼ÊõÌôÕ½¡£

ÔÚÒµÎñÉÏ£¬Èçδ¶ÁÊý¡¢ÈºÁÄ¡¢¶à¶ËµÇ½¡¢Ä¸×ÓÕ˺ŵȣ»ÔÚ¼¼ÊõÉÏ£¬entry³¤Á¬½Ó100kÎÊÌâÓÅ»¯¡¢Ê±¼äÂÖ¼ÆʱÆ÷ʵÏÖ¡¢º£Á¿Êý¾Ý²ð·ÖÓë´æ´¢Ñ¡Ð͵ȡ£

·ÂþÂþÆäÐÞÔ¶Ù⣬ÎὫÉÏ϶øÇóË÷¡£

9¡¢²Î¿¼×ÊÁÏ


[1] Áã»ù´¡IM¿ª·¢ÈëÃÅ(¶þ)£ºÊ²Ã´ÊÇIMϵͳµÄʵʱÐÔ£¿
[2] Áã»ù´¡IM¿ª·¢ÈëÃÅ(Èý)£ºÊ²Ã´ÊÇIMϵͳµÄ¿É¿¿ÐÔ£¿
[3] Áã»ù´¡IM¿ª·¢ÈëÃÅ(ËÄ)£ºÊ²Ã´ÊÇIMϵͳµÄÏûϢʱÐòÒ»ÖÂÐÔ£¿
[4] IMÏûÏ¢ËÍ´ï±£Ö¤»úÖÆʵÏÖ(Ò»)£º±£Ö¤ÔÚÏßʵʱÏûÏ¢µÄ¿É¿¿Í¶µÝ
[5] IMÏûÏ¢ËÍ´ï±£Ö¤»úÖÆʵÏÖ(¶þ)£º±£Ö¤ÀëÏßÏûÏ¢µÄ¿É¿¿Í¶µÝ
[6] ÈçºÎ±£Ö¤IMʵʱÏûÏ¢µÄ¡°Ê±ÐòÐÔ¡±Óë¡°Ò»ÖÂÐÔ¡±£¿
[7] °¢ÀïIM¼¼Êõ·ÖÏí(ËÄ)£ºÏÐÓãÒÚ¼¶IMÏûϢϵͳµÄ¿É¿¿Í¶µÝÓÅ»¯Êµ¼ù
[8] °¢ÀïIM¼¼Êõ·ÖÏí(Îå)£ºÏÐÓãÒÚ¼¶IMÏûϢϵͳµÄ¼°Ê±ÐÔÓÅ»¯Êµ¼ù
[9] Ò»Ì×ÒÚ¼¶Óû§µÄIM¼Ü¹¹¼¼Êõ¸É»õ(ÏÂƪ)£º¿É¿¿ÐÔ¡¢ÓÐÐòÐÔ¡¢ÈõÍøÓÅ»¯µÈ
[10] ÈÚÔƼ¼Êõ·ÖÏí£ºÈ«Ãæ½ÒÃØÒÚ¼¶IMÏûÏ¢µÄ¿É¿¿Í¶µÝ»úÖÆ
[11] Ò»Ì׺£Á¿ÔÚÏßÓû§µÄÒƶ¯¶ËIM¼Ü¹¹Éè¼Æʵ¼ù·ÖÏí(º¬ÏêϸͼÎÄ)
[12] Ò»Ì×Ô­´´·Ö²¼Ê½¼´Ê±Í¨Ñ¶(IM)ϵͳÀíÂۼܹ¹·½°¸
[13] ´ÓÁ㵽׿Խ£º¾©¶«¿Í·þ¼´Ê±Í¨Ñ¶ÏµÍ³µÄ¼¼Êõ¼Ü¹¹ÑݽøÀú³Ì
[14] Ä¢¹½½Ö¼´Ê±Í¨Ñ¶/IM·þÎñÆ÷¿ª·¢Ö®¼Ü¹¹Ñ¡Ôñ
[15] ÏÖ´úIMϵͳÖÐÁÄÌìÏûÏ¢µÄͬ²½ºÍ´æ´¢·½°¸Ì½ÌÖ
[16] Ò»Ì׸߿ÉÓá¢Ò×ÉìËõ¡¢¸ß²¢·¢µÄIMȺÁÄ¡¢µ¥Áļܹ¹·½°¸Éè¼Æʵ¼ù
[17] Âí·äÎÑÂÃÓÎÍøµÄIMϵͳ¼Ü¹¹Ñݽø֮·
[18] Ò»Ì×·Ö²¼Ê½IM¼´Ê±Í¨Ñ¶ÏµÍ³µÄ¼¼ÊõÑ¡Ðͺͼܹ¹Éè¼Æ
[19] ΢ÐÅÍŶӷÖÏí£ºÀ´¿´¿´Î¢ÐÅÊ®ÄêÇ°µÄIMÏûÏ¢ÊÕ·¢¼Ü¹¹£¬Äã×öµ½ÁËÂð
[20] Я³Ì¼¼Êõ·ÖÏí£ºÒÚ¼¶Á÷Á¿µÄ°ì¹«IM¼°¿ª·Åƽ̨¼¼Êõʵ¼ù

¼´Ê±Í¨Ñ¶Íø - ¼´Ê±Í¨Ñ¶¿ª·¢ÕßÉçÇø£¡ À´Ô´£º - ¼´Ê±Í¨Ñ¶¿ª·¢ÕßÉçÇø£¡

±êÇ©:IM¼Ü¹¹
ÉÏһƪ£º¿ªÔ´IMÁÄÌì³ÌÐòHarmonyChat£º»ùÓÚºèÃÉNEXTµÄWebSocketЭÒéÏÂһƪ£º¼´Ê±Í¨Ñ¶°²È«Æª£¨Ê®Î壩£ºÏê½âÓ²±àÂëÃÜÂëµÄй©·çÏÕ¼°ÆäɨÃèÔ­ÀíºÍ¹¤¾ß

±¾ÌûÒÑÊÕ¼ÖÁÒÔϼ¼Êõר¼­

ÍƼö·½°¸
ÆÀÂÛ 1
ÓÐÓã¡
Ç©Ãû: ÉÏÎçºÃѽ
´òÉÍÂ¥Ö÷ ×
ʹÓÃ΢ÐÅ´òÉÍ£¡ ʹÓÃÖ§¸¶±¦´òÉÍ£¡

·µ»Ø¶¥²¿