Spark之发送消息与接收消息事件流程详解

Spark之发送消息与接收消息事件流程详解


1、发送消息:

因为发送即时消息是键盘Enter触发,所以可以通过搜索键盘事件和Enter来找

    <1>搜索“KeyEvent”“Enter”——>ChatRoom.java找到

           private void checkForEnter(KeyEvent e) {...}

    <2>在这个方法里面有sendMessage(); //这就是发送即时消息代码

    <3>进一步搜索sendMessage()方法——>找到ChatRoomImpl.java

    <4>在其中有:public void sendMessage(){

              ...

              sendMessage(text);}

             public void sendMessage(String text) {

             ...

              sendMessage(message);}

             public void sendMessage(Message message) {...}

  运行可知,发送消息的执行步骤:

    ——>ChatRoom.java

    ——>sendMessage();

    ——>ChatRoomImpl.java

    ——>sendMessage()

    ——>sendMessage(text);

    ——>sendMessage(String text)

    ——>sendMessage(message);

    ——>sendMessage(Message message)

    ——>SparkManager.getConnection().sendPacket(message);  


2、接收消息:

  在看发送即时消息源码时,发现接收消息源码也在ChatRoomImpl.java

运行可知,接收消息的执行步骤:

    ——>ChatRoomImpl.java

    ——>insertMessage(Message message)

    ——>processPacket(final Packet packet)

    ——>insertMessage(message);

 

3、发送与接收消息事件机制(附:visio图)


Spark之发送消息与接收消息事件流程详解_第1张图片

你可能感兴趣的:(java)