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

📄 reader.java

📁 我自己写的蓝牙例子
💻 JAVA
字号:
import java.io.*;

/**该类为终结点的消息接受类
* 功能是不断等待从RemoteDev设备上发送过来的消息
*/

public class Reader implements Runnable
{
	public EndPoint endpt;

  private boolean done = false;

  public Reader() {
  }
  
    public void stop()
  {
    done = true;
  }
  
  
    public void run()
  {
    try
    {
      DataInputStream datain = endpt.con.openDataInputStream();

      while ( !done )
      {
        int signal = datain.readInt();  //暂停,直到读取了下个字符才执行下面的
        
        if ( signal == NetLayer.SIGNAL_MESSAGE )
        {
          String s = datain.readUTF();

          ChatPacket packet = new ChatPacket( NetLayer.SIGNAL_MESSAGE, endpt.remoteName, s );
          
          endpt.callback.handleAction( BTListener.EVENT_RECEIVED, endpt, packet );

        } else if ( signal == NetLayer.SIGNAL_HANDSHAKE )
        {
          String s = datain.readUTF();
          
          endpt.remoteName = s;
          
          endpt.putString( NetLayer.SIGNAL_HANDSHAKE_ACK, endpt.localName );

          endpt.callback.handleAction( BTListener.EVENT_JOIN, endpt, null );

        } else if ( signal == NetLayer.SIGNAL_TERMINATE )
        {

          endpt.putString( NetLayer.SIGNAL_TERMINATE_ACK, "end" );

          endpt.callback.handleAction( BTListener.EVENT_LEAVE, endpt, null );

          endpt.btnet.cleanupRemoteEndPoint( endpt );

          stop();

        } else if ( signal == NetLayer.SIGNAL_HANDSHAKE_ACK )
        {

          String s = datain.readUTF();

          endpt.remoteName = s;
          
          BTDemo.inc.btCanvas.addImage(endpt);

        } else if ( signal == NetLayer.SIGNAL_TERMINATE_ACK )
        {

        } else
        {
        	//未知消息
        }
      }

      datain.close();
    } catch (Exception e)
    {
      e.printStackTrace();
    }
  }
	
}

⌨️ 快捷键说明

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