📄 btserver.java
字号:
import javax.bluetooth.*;
import javax.microedition.io.*;
import java.io.*;
/**
* 该类用于启动蓝牙设备,注册蓝牙服务,等待客户端的连接。
*/
public class BTServer implements Runnable {
private static final String uuidString = "00112233445566778899AABBCCDDEEFF";
private GobangMIDlet midlet; //控制器
private StreamConnectionNotifier service; //服务
//构造方法,创建一个蓝牙服务器
public BTServer(GobangMIDlet midlet) {
this.midlet = midlet;
}
//启动服务
public void startService() {
Thread t = new Thread(this);
t.start();
}
//服务启动线程执行体
public void run() {
UUID uuid = new UUID(uuidString, false);
try {
//获取蓝牙设备,并使设备可以被发现。
LocalDevice device = LocalDevice.getLocalDevice();
device.setDiscoverable(DiscoveryAgent.GIAC);
//使用SPP(串口连接简表)打开一个FRCOMM链接
service = (StreamConnectionNotifier)
Connector.open("btspp://localhost:" + uuid.toString() + ";name=Gobang Server");
//注册服务,等待客户连接。acceptAndOpen()方法将阻塞当前线程。
//当有客户端连接时,acceptAndOpen()方法将返回一个StreamConnection对象。
StreamConnection conn = service.acceptAndOpen();
close(); //获得一个连接后关闭服务
//开始对弈。
midlet.startPlay(new BTConnection(midlet,conn));
}
catch(BluetoothStateException bse) {
//midlet.showAlert(bse.toString());
}
catch(IOException ioe) {
//midlet.showAlert(ioe.toString());
}
}
//关闭服务
public void close() {
try {
if(service != null) {
service.close();
service = null;
}
}
catch(IOException ioe) {
//
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -