📄 reader.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 + -