NetUtil is a compact and efficient Java library for sending and receiving messages using the OpenSoundControl (OSC) protocol. It is (C)opyright 2004–2017 by Hanns Holger Rutz. All rights reserved. NetUtil is released under the GNU Lesser General Public License and comes with absolutely no warranties. To contact the author, send an email to
contact at sciss.de.
For project status, API and current version, visit github.com/Sciss/NetUtil.
Note that this project is not actively developed any more (unless there are bugs to fix). For a current OSC library in the Scala programming language, please visit github.com/Sciss/ScalaOSC.
requirements / building
NetUtil requires Java 1.4+. NetUtil has also been successfuly running on Android. It uses sbt 0.13 for building. You can use the included
sbt shell script if you do not want to install sbt.
sbt compile, to generate a jar
To use NetUtil in your project, you can link to the following Maven artifact:
GroupId: de.sciss ArtifactId: netutil Version: 1.0.1
Or when using sbt
"de.sciss" % "netutil" % "1.0.2"
Please see the file CONTRIBUTING.md
The following people have thankfully contributed to this project:
- Felix Homann (@showlabor)
Documentation comes in the form of JavaDoc. The generate the docs, run
sbt doc. The resulting file is in
You can run some demos using
sbt. First run
./sbt. At the prompt:
This will print to available options. E.g.
> run --testPingPong
- www.opensoundcontrol.org – information about OSC specifications and implementations
- Illposed JavaOSC – another OSC library for Java
- oscP5 – OSC library for Processing
- flosc – OSC library (written in Java) for bridging OSC clients and Macromedia Flash
- jmDNS – automatic service discovery library for Java.
Here is some sporadic list of projects which seem to use NetUtil. if you want to have your project added here, send me the links:
- Androidome – android-based emulator for the monome music making device
- OscVstBridge – VST plug-in
- Frozen Bubble OSCified
- DiABlu – Scout and LegOSC
to-do / known issues
- add special client and server listeners so one can detect channels/connections opening and closing
- add helper classes (multi-server wrapper, message deferrer)