# O P5.js \> websocket \> Processing \> OSC \> Unity

**URL:** https://discourse.processing.org/t/o-p5-js-websocket-processing-osc-unity/35004
**Category:** Libraries
**Created:** [February 6, 2022, 9:55am UTC](https://discourse.processing.org/t/o-p5-js-websocket-processing-osc-unity/35004 "2022-02-06T09:55:11Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![MaxMax](https://avatars.discourse-cdn.com/v4/letter/m/e99b99/32.png) [@MaxMax](https://discourse.processing.org/u/MaxMax)
#### Post date: [February 6, 2022, 9:55am UTC](https://discourse.processing.org/t/o-p5-js-websocket-processing-osc-unity/35004/1 "2022-02-06T09:55:11Z")

</div>

Hi I need to send messages to different proccesing files and Unity + a websocket. I just can’t figure out how to send the received data from the websocket over to the processing file.

This is my websocket:

import websockets.\*;

WebsocketServer ws;  
float x,y;  
float value;  
JSONObject mouseCoords = new JSONObject();

void setup(){  
size(400,400);  
ws= new WebsocketServer(this,8080,"/processing");  
mouseCoords = new JSONObject();  
}

void draw(){  
background(128);  
ellipse(x,height/2,10,10);  
}

void mouseMoved() {  
float x = mouseX;  
//y = mouseY;  
[//mouseCoords.setInt](https://mouseCoords.setInt)(“xPos”, x);  
[//mouseCoords.setInt](https://mouseCoords.setInt)(“yPos”, y);  
[//ws.sendMessage](https://ws.sendMessage)(mouseCoords.toString());  
ws.sendMessage(x + “,” + y);  
}

void webSocketServerEvent(String data){

```
 println("Received:" + data);
 JSONObject json = parseJSONObject(data);
 x = json.getInt("xPos");
 //y = json.getInt("yPos");
 println("Received:" + data);

 ws.sendMessage(data);

```

}

And this is my slider that needs the value:

import oscP5._;  
import netP5._;

OscP5 oscP5;  
NetAddress myRemoteLocation;

// store incoming/outgoing value  
float value;

// to display sending or receiving  
String activity = “”;

void setup() {  
size(400,100);  
/\* start oscP5, listening for incoming messages at port 8000 \*/  
oscP5 = new OscP5(this,8000);

/\* myRemoteLocation is a NetAddress. a NetAddress takes 2 parameters,

- an ip address and a port number. myRemoteLocation is used as parameter in
- oscP5.send() when sending osc packets to another computer, device,
- application.
- we send in this application to port 9000.  
\*/  
myRemoteLocation = new NetAddress(“127.0.0.1”,9000);  
}

void draw() {

background(64);

// display the value  
rect(0,height/2,value\*width,20);

text(activity + value,10,20);

if(value == 0.1){  
ellipse(width/2,height/5,40,40);  
fill(0,0,255);  
}

if(value == 0.9){  
ellipse(width/2,height/5,40,40);  
fill(255,0,255);  
}

}

void mouseClicked() {  
sendMessage();  
}

void mouseDragged() {  
sendMessage();  
}

void sendMessage() {

activity = "sending: ";

// normalize the value between 0.0 - 1.0;  
value = mouseX/float(width);

OscMessage myMessage = new OscMessage("/fader");  
myMessage.add(value);  
oscP5.send(myMessage, myRemoteLocation);  
}

/\* incoming osc message are forwarded to the oscEvent method. \*/  
void oscEvent(OscMessage theOscMessage) {

// only react on this addresspattern  
if(theOscMessage.checkAddrPattern("/fader")==true) {

```
 // check if the value is a float
 if(theOscMessage.checkTypetag("f")) {
    activity = "receiving: "; 
   
    value = theOscMessage.get(0).floatValue();
 }

```

}  
}
