⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 visibilitybroadcast.java

📁 一个类似QQ的在线通讯聊天软件原码,适合初学者参考学习。
💻 JAVA
字号:
package openicq.net;import JOscarLib.*;import JOscarLib.Core.OscarConnection;import JOscarLib.Management.Contact;import JOscarLib.Management.ContactList;import JOscarLib.Request.Event.RequestAnswerEvent;import JOscarLib.Request.Event.RequestListener;/** * The <code>VisibilityBroadcast</code> sends sends the visibility of the * given contact list to the ICQ server. * @author Hansgeorg Schwibbe * @copyright 2004 */public class VisibilityBroadcast{  /**   * Initializes a new instance of the class <code>VisibilityBroadcast</code>   * and sends the visibility of the given contact list to the ICQ server.   * @param connection the connection to the ICQ server   * @param ownID your own user ID   * @param list the contact list to be updated   */  public VisibilityBroadcast(OscarConnection connection, int ownID,                             ContactList list)  {    Snac addVisible;    Snac delVisible;    Snac addInvisible;    Snac delInvisible;    Contact contact;    int size = list.getContactListSize();    for (int index = 0; index < size; index++)    {      contact = list.get(index);      if (contact.getIsInVisibleList())      {        addVisible = new Snac(0x09, 0x0A, 0x00, 0x00, ownID);        addVisible.addRawDataToSnac(new RawData(                                                contact.getContactId().length(),                                                RawData.BYTE_LENGHT));        addVisible.addRawDataToSnac(new RawData(contact.getContactId()));        RequestListener addVisibleRequestListener = new RequestListener()        {          public void onRequestAnswer(RequestAnswerEvent e)          {            System.err.print("SNAC family = ");            System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId());            System.err.print(", SNAC subtype = ");            System.err.println(e.getRequestAnswerPacket()                                .getSnac()                                .getSubTypeId());          }        };        connection.sendMonitoredFlap(new Flap(0x02, addVisible),                                     addVisibleRequestListener);      }      else      {        delVisible = new Snac(0x09, 0x0B, 0x00, 0x00, ownID);        delVisible.addRawDataToSnac(new RawData(                                                contact.getContactId().length(),                                                RawData.BYTE_LENGHT));        delVisible.addRawDataToSnac(new RawData(contact.getContactId()));        RequestListener delVisibleRequestListener = new RequestListener()        {          public void onRequestAnswer(RequestAnswerEvent e)          {            System.err.print("SNAC family = ");            System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId());            System.err.print(", SNAC subtype = ");            System.err.println(e.getRequestAnswerPacket()                                .getSnac()                                .getSubTypeId());          }        };        connection.sendMonitoredFlap(new Flap(0x02, delVisible),                                     delVisibleRequestListener);      }      if (contact.getIsInInvisibleList())      {        addInvisible = new Snac(0x09, 0x07, 0x00, 0x00, ownID);        addInvisible.addRawDataToSnac(new RawData(contact.getContactId()                                                         .length(),                                                  RawData.BYTE_LENGHT));        addInvisible.addRawDataToSnac(new RawData(contact.getContactId()));        RequestListener addInvisibleRequestListener = new RequestListener()        {          public void onRequestAnswer(RequestAnswerEvent e)          {            System.err.print("SNAC family = ");            System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId());            System.err.print(", SNAC subtype = ");            System.err.println(e.getRequestAnswerPacket()                                .getSnac()                                .getSubTypeId());          }        };        connection.sendMonitoredFlap(new Flap(0x02, addInvisible),                                     addInvisibleRequestListener);      }      else      {        delInvisible = new Snac(0x09, 0x08, 0x00, 0x00, ownID);        delInvisible.addRawDataToSnac(new RawData(contact.getContactId()                                                         .length(),                                                  RawData.BYTE_LENGHT));        delInvisible.addRawDataToSnac(new RawData(contact.getContactId()));        RequestListener delInvisibleRequestListener = new RequestListener()        {          public void onRequestAnswer(RequestAnswerEvent e)          {            System.err.print("SNAC family = ");            System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId());            System.err.print(", SNAC subtype = ");            System.err.println(e.getRequestAnswerPacket()                                .getSnac()                                .getSubTypeId());          }        };        connection.sendMonitoredFlap(new Flap(0x02, delInvisible),                                     delInvisibleRequestListener);      }    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -