Я новичок в django. А теперь я изучаю общие представления на основе классов. Решение для кого-то к устройству bluetooth, например к мобильному телефону. Я пытался сделать это с помощью 32feet.net bluetooth api. На самом деле я еще не сделал ...
Я пытаюсь предоставить кому-то решение "щелчок для набора" для устройства Bluetooth, такого как мобильный телефон. Я пытался сделать это с помощью 32feet.net bluetooth api.
Я действительно ничего не делал с bluetooth (со времен команд at через последовательный порт bluetooth), но я подключил устройство, о котором идет речь, что поддерживает услугу громкой связи с компьютером. У меня есть следующий код, чтобы попытаться подключиться и отправить команду набора номера.
String deviceAddr = "11:11:11:11:11:11";
BluetoothAddress addr = BluetoothAddress.Parse(deviceAddr);
BluetoothEndPoint rep = new BluetoothEndPoint(addr, BluetoothService.Handsfree);
BluetoothClient cli = new BluetoothClient();
cli.Connect(rep);
Stream peerStream = cli.GetStream();
String dialCmd = "ATD 0000000000\r\n";
Byte[] dcB = System.Text.Encoding.ASCII.GetBytes(dialCmd);
peerStream.Write(dcB, 0, dcB.Length);
// Begin Edit ------------------------------------------------------------
Byte[] sResponse = new Byte[100];
peerStream.Read(sResponse, 0, 99);
TextBox1.Text = System.Text.Encoding.ASCII.GetString(sResponse);
// End Edit --------------------------------------------------------------
peerStream.Close();
cli.Close();
MessageBox.Show("Done");
Поскольку кажется, что он проходит через эти строки кода, требуется время для подключения в соответствующем месте или сбой, если адрес устройства неверен и он не могу подключиться. Очевидно, AT-команда не подходит для ее отправки.
Может ли кто-нибудь просветить меня относительно того, что мне может потребоваться отправить на устройство Bluetooth через профиль громкой связи, чтобы заставить его набрать номер?
Начать редактирование - -----------------------------------------
Решил почитать из stream и посмотрите, был ли какой-либо ответ после отправки AT-команды. Поскольку я просто проверяю, смогу ли я заставить его работать, я просто выгружаю ответ в текстовое поле.
Ответ, который я прочитал из потока:
ERROR
Кажется, нет кодов ошибок или чего-то еще .
Конец редактирования -------------------------------------------- -
Редактировать --------------------------------------------- -----
Отправлена команда: AT + CMER \ r
Результат: OK
, затем
Отправлена команда: AT + CIND =? \ R
Результат:
Может ли кто-нибудь просветить меня относительно того, что мне может потребоваться отправить на устройство Bluetooth через профиль громкой связи, чтобы заставить его набирать номер?
Начать редактирование ---------------- ---------------------------
Я решил прочитать из потока и посмотреть, был ли какой-либо ответ после отправки По команде через. Поскольку я просто проверяю, смогу ли я заставить его работать, я просто выгружаю ответ в текстовое поле.
Ответ, который я прочитал из потока:
ERROR
Кажется, нет кодов ошибок или чего-то еще .
Конец редактирования -------------------------------------------- -
Редактировать --------------------------------------------- -----
Отправлена команда: AT + CMER \ r
Результат: OK
, затем
Отправлена команда: AT + CIND =? \ R
Результат:
Может ли кто-нибудь объяснить мне, что мне может понадобиться отправить на устройство Bluetooth через профиль громкой связи, чтобы заставить его набирать номер?
Начать редактирование ---------------- ---------------------------
Я решил прочитать из потока и посмотреть, был ли какой-либо ответ после отправки По команде через. Поскольку я просто проверяю, смогу ли я заставить его работать, я просто выгружаю ответ в текстовое поле.
Ответ, который я прочитал из потока:
ERROR
Кажется, нет кодов ошибок или чего-то еще .
Конец редактирования -------------------------------------------- -
Редактировать --------------------------------------------- -----
Отправлена команда: AT + CMER \ r
Результат: OK
, затем
Отправлена команда: AT + CIND =? \ R
Результат: + CIND: ("сервис", (0-1)), ("вызов", (0-1)), ("callsetup", (0-3)), ("battchg", (0-5)) , ("сигнал", (0-5)), ("роуминг", (0-1)), ("callheld", (0-2))
затем
Отправить команду: ATD 0000000000 \ r
Результат: в порядке поэтому следует открыть сервер и дождаться входящих подключений. Другой ...
Я разрабатываю многопользовательскую игру в жанре экшн с помощью класса System.Net.Sockets.UdpClient .
Он предназначен для двух игроков, поэтому нужно открыть сервер и ждите входящих подключений. Другой игрок вводит IP-адрес хоста и пытается отправить «пинг», чтобы убедиться, что соединение возможно и есть открытый сервер. Затем хост отвечает "понгом".
После запуска игры оба должны отправлять друг другу сообщения UDP, поэтому им обоим нужен IP-адрес оппонента.
Конечно, сервер также может вводить клиентов IP, но мне это кажется ненужным.
Как я могу получить IP клиентов из пакета udp, когда "ping" сообщение получено?
Вот мой код получения (сервер ожидает проверки связи):
private void ListenForPing()
{
while (!closeEverything)
{
var deserializer = new ASCIIEncoding();
IPEndPoint anyIP = new IPEndPoint(IPAddress.Any, 0);
byte[] recData = udp.Receive(ref anyIP);
string ping = deserializer.GetString(recData);
if (ping == "ping")
{
Console.WriteLine("Ping received.");
InvokePingReceiveEvent();
}
}
}