gpt4 book ai didi

android - 蓝牙 socket

转载 作者:行者123 更新时间:2023-11-29 02:05:45 29 4
gpt4 key购买 nike

我正在为两个玩家构建 tic tac,需要蓝牙连接来交换一些数据,我可以启用蓝牙,启用发现能力,但我不知道“BluetoothServerSocket”和客户端“BluetoothSocket”中的问题如何操作这部分,这是代码:

ArrayList<String>al=new ArrayList<String>();
BluetoothAdapter ba = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = ba.getBondedDevices();


if(pairedDevices.size()>0)
for(BluetoothDevice d: pairedDevices)
al.add(d.getName()+" , "+d.getAddress());

if (!ba.isEnabled())
ba.enable();

BluetoothDevice device;
Intent dis=new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
dis.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,300);
startActivity(dis);

BluetoothSocket socket = device.createRfcommSocketToServiceRecord(UUID);
socket.connect();

InputStream is=socket.getInputStream();
OutputStream os=socket.getOutputStream();

最佳答案

两个播放器都将通过“蓝牙套接字”进行通信,您可以使用“蓝牙套接字”使用 InputStreams 和 OutputStreams 发送/接收数据。但是为了得到这样一对套接字,你可以这样做:

在一个播放器端创建 BluetoothServerSocket,另一个连接到它。 BluetoothServerSocket 使用“accept”方法监听连接,该方法会阻塞直到客户端 BluetoothSocket 连接到它。之后,BluetoothServerSocket.accept() 方法返回一个 BluetoothSocket,它可以与客户端 Btsocket 一起用于双向信息传输。

希望这有助于...

PS:createRfcommSocketToServiceRecord 只是创建了一个上面提到的这样的客户端。双方可以使用相同的 UUID

关于android - 蓝牙 socket ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10148581/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com