Связь OSC в локальной сети между Android и OSXJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Связь OSC в локальной сети между Android и OSX

Сообщение Anonymous »

Я пытаюсь использовать OSC для связи между настольным компьютером (OSX) и телефоном Android, которые оба подключены к одной сети Wi-Fi. Я работаю над обработкой с библиотекой oscP5, но думаю, что с кодом все в порядке — я думаю, это проблема с адресом или разрешениями на стороне Android.
Вот мой компьютер/ код рабочего стола:

Код: Выделить всё

import oscP5.*;
import netP5.*;

OscP5 oscP5;
NetAddress myRemoteLocation;
int colour = 255;

void setup()
{
size(600, 600);

/* start oscP5, listening for incoming messages at port 1200 */
oscP5 = new OscP5(this,1200);
println(this);

/* the address of this device */
myRemoteLocation = new NetAddress("127.0.0.1",1300);
}

void draw()
{
background(0);

fill(colour);
circle(width/2, height/2, 200);

int i = int(random(0, 200));
if (i == 1) sendmessage();
}

void sendmessage()
{
/* create the message */
OscMessage myMessage = new OscMessage("/one");
color c = color(random(0, 255), random(0, 255), random(0, 255));
myMessage.add(c);

/* send the message */
println("Sending message: " + myMessage);
oscP5.send(myMessage, myRemoteLocation);
}

/* incoming osc message are forwarded to the oscEvent method */
void oscEvent(OscMessage theOscMessage)
{
colour = theOscMessage.get(0).intValue();
}
Это работает без проблем и выдает в консоли следующее:

Код: Выделить всё

### [2024/11/7 17:12:20] PROCESS @ OscP5 stopped.
### [2024/11/7 17:12:20] PROCESS @ UdpClient.openSocket udp socket initialized.
### [2024/11/7 17:12:21] PROCESS @ UdpServer.start() new Unicast DatagramSocket created @ port 1200
### [2024/11/7 17:12:21] PROCESS @ UdpServer.run() UdpServer is running @ 1200
### [2024/11/7 17:12:21] INFO @ OscP5 is running. you (192.168.0.106) are listening @ port 1200
По какой-то причине он не указывает, что IP-адрес равен 127.0.0.1, а вместо этого дает 192.168.0.106 - это IP-адрес компьютера, поэтому оба указывают на одно и то же устройство, но Android делает это по-другому (см. ниже).
Вот код, который работает на телефоне Android:

Код: Выделить всё

import oscP5.*;
import netP5.*;

OscP5 oscP5;
NetAddress myRemoteLocation;
int colour = 255;

void setup()
{
size(600, 600);

/* start oscP5, listening for incoming messages at port 12000 */
oscP5 = new OscP5(this,1300);
println(this);

/* the address of this device */
myRemoteLocation = new NetAddress("127.0.0.1",1200);
}

void draw()
{
background(0);

fill(colour);
circle(width/2, height/2, 200);

int i = int(random(0, 200));
if (i == 1) sendmessage();
}

void sendmessage()
{
/* create the message */
OscMessage myMessage = new OscMessage("/two");
color c = color(random(0, 255), random(0, 255), random(0, 255));
myMessage.add(c);

/* send the message */
println("Sending message: " + myMessage);
oscP5.send(myMessage, myRemoteLocation);
}

/* incoming osc message are forwarded to the oscEvent method */
void oscEvent(OscMessage theOscMessage)
{
colour = theOscMessage.get(0).intValue();
}
и манифест имеет следующие разрешения для доступа к Интернету и Wi-Fi: Это также работает без проблем и выдает следующее в консоли:

Код: Выделить всё

### [2024/11/7 17:29:23] PROCESS @ OscP5 stopped.
### [2024/11/7 17:29:23] PROCESS @ UdpClient.openSocket udp socket initialized.
### [2024/11/7 17:29:24] PROCESS @ UdpServer.start() new Unicast DatagramSocket created @ port 1300
### [2024/11/7 17:29:24] PROCESS @ UdpServer.run() UdpServer is running @ 1300
### [2024/11/7 17:29:24] INFO @ OscP5 is running. you (127.0.0.1) are listening @ port 1300
Но обратите внимание на IP-адрес 127.0.0.1.
Оба эскиза работают, но не взаимодействуют друг с другом. Если я запускаю эскиз Android на настольном компьютере вместе с компьютерным эскизом, они без проблем взаимодействуют в обоих направлениях. Что я здесь упускаю/упускаю из виду?

Подробнее здесь: https://stackoverflow.com/questions/791 ... id-and-osx
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Связь OSC в локальной сети между Android и OSX
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Связь OSC в локальной сети между Android и OSX
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Связь OSC в локальной сети между Android и OSX
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Связь OSC в локальной сети между Android и OSX
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Связь OSC в локальной сети между Android и OSX
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»