我正在開發一個帶eclipse/WTK 2.5.2的J2ME程序,並有連接兩個使用藍牙的仿真器的問題。有兩個不同的仿真器上運行一個服務器和一個.client。WTK仿真器藍牙連接
問題是客戶端程序無法發現任何藍牙設備。這裏是服務器和客戶端代碼:在控制檯
public Server()
{
try
{
LocalDevice local = LocalDevice.getLocalDevice();
local.setDiscoverable(DiscoveryAgent.GIAC);
server = (StreamConnectionNotifier)
Connector.open("btspp://localhost:"
+ UUID_STRING + ";name=" + SERVICE_NAME);
Util.Log("EchoServer() Server connector open!");
}
catch (Exception e)
{}
}
調用Connector.open後,我得到以下警告,我相信這是相關的:
警告:未註冊的設備:未指定
和客戶端代碼,搜索裝置:
public SearchForDevices(String uuid, String nm)
{
UUIDStr = uuid;
srchServiceName = nm;
try
{
LocalDevice local = LocalDevice.getLocalDevice();
agent = local.getDiscoveryAgent();
deviceList = new Vector();
agent.startInquiry(DiscoveryAgent.GIAC, this); // non-blocking
}
catch (Exception e)
{}
}
系統從不調用deviceDiscovered,但用INQUIRY_COMPLETED參數調用inquiryCompleted(),所以我想客戶端程序運行良好。
藍牙在仿真器設置中啓用..
您正在運行的2模擬器在2臺不同的電腦上,對嗎?你能找到第三個設備嗎(就像同一個房間裏的藍牙手機一樣)? – 2010-03-15 14:38:55
不,我在同一臺計算機上使用它們。 – 2010-03-15 23:03:36
藍牙通常是我不信任環回連接的那種網絡協議。恕我直言,你所嘗試的並不足以滿足現實生活中的用例。 – 2010-03-17 12:55:33