- oscGroups by Ross Benscina - https://github.com/RossBencina/oscgroups.git
- oscpack by Ross Benscina - https://github.com/RossBencina/oscpack.git
- For unix systems:
cd oscgroups
make
After this the server and client executables will be in the bin folder.
usage: oscgroupclient serveraddress serverport localtoremoteport localtxport localrxport username password groupname grouppassword
users should send data to localhost:localtxport and listen on localhost:localrxport
servername an internet name such as oscgroups.iua.upf.edu or an ip address such as 193.145.55.19
serverport the udp port which the server is listening on, the server defaults to 22242
localtoremoteport the local port used to connect with the server and to other group members.
localtxport this is the port which OscGroupClient listens to and forwards to other group members. direct your OSC traffic to this port.
localrxport this is the port which OscGroupClient forwards trafic from other users to. you should configure your OSC application to listen to this port.
username a unique user name used to identify you with other clients.
password a password which is used to try to make sure that no one else pretends to be you on the server. this isn’t secure but it helps.
groupname a name that all group members agree on, like a user name it should be unique.
grouppassword a password for the group. users without the correct password won’t be admitted to the group.
./OscGroupClient 64.225.97.89 22242 22243 22244 22245 nikk nikkpass nikkgroup nikkpass
after being connected to the server osc messages will be coming in on locahost and port 22245 and outgoing traffic will be on localhost and port 22244. So for Supercollider a basic example would be:
(
// To start monitoring recieved osc messages.
// If more than one client is connected to the server ping osc messages should be recieved.
thisProcess.openUDPPort(22245);
OSCFunc.trace(true, true); // second boolean is for the hideStatusMsg argument.
)
// To send messages
b = NetAddr.new("127.0.0.1", 22245);
b.sendMsg("/hello", "there");
// recieving message function
o = OSCFunc({ arg msg, time, addr, recvPort; [msg, time, addr, recvPort].postln; }, '/test', recvPort: 22245);
usage: ./OscGroupServer [-p port] [-t timeoutSeconds] [-u maxUsers] [-g maxGroups] [-l logfile]
- this setup does not work with clients tethered( or using hotspot) to a android smarthphones