oscGroups

compilation

repositories used

  • For unix systems:
cd oscgroups
make

After this the server and client executables will be in the bin folder.

usage

client

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.

Example

./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);

server

usage: ./OscGroupServer [-p port] [-t timeoutSeconds] [-u maxUsers] [-g maxGroups] [-l logfile]

troubleshooting

  • this setup does not work with clients tethered( or using hotspot) to a android smarthphones