This is my client(unity3d C# code) where i am connecting with a python websocket server
private WebSocket ws;
public bool isAlive;
void Start()
{
ws = new WebSocket("ws://127.0.0.1:3000");//127.0.0.1
ws.OnClose += (sender, e) =>
{
Debug.Log("Opened");
};
ws.OnMessage += (sender, e) =>
{
Debug.Log("WebSocket Message Type :" + e.Type + ", Data: " + e.Data);
};
ws.OnClose += (sender, e) =>
{
Debug.Log("Close");
};
ws.OnError += (sender, e) =>
{
//Debug.Log("error Sender : " + sender.ToString());
Debug.Log("error Message :" + e.Message);
};
ws.Connect();
}
I have this code to connect with web socket but as my scene start it fire error event and i am getting this
error Message :An error has occurred while connecting. UnityEngine.Debug:Log(Object) NodeWebSocketCaller:m__3(Object, ErrorEventArgs) (at Assets/NodeWebSocketCaller.cs:30) WebSocketSharp.Ext:Emit(EventHandler`1, Object, ErrorEventArgs) (at Assets/SocketIO/WebsocketSharp/Ext.cs:992) WebSocketSharp.WebSocket:error(String) (at Assets/SocketIO/WebsocketSharp/WebSocket.cs:1011) WebSocketSharp.WebSocket:doHandshake() (at Assets/SocketIO/WebsocketSharp/WebSocket.cs:989) WebSocketSharp.WebSocket:connect() (at Assets/SocketIO/WebsocketSharp/WebSocket.cs:874) WebSocketSharp.WebSocket:Connect() (at Assets/SocketIO/WebsocketSharp/WebSocket.cs:1784) NodeWebSocketCaller:Start() (at Assets/NodeWebSocketCaller.cs:32)
While open and close events are also executing.
And at server side:
import cherrypy
from ws4py.server.cherrypyserver import WebSocketPlugin, WebSocketTool
from ws4py.websocket import WebSocket
class Root(object):
@cherrypy.expose
def index(self):
return 'some html with a webcsocekt js connectino'
@cherrypy.expose
def ws(self):
#you can access the class instance through
handler = cherrypy.request.ws_handler
class AgentServer(WebSocket):
def openend(self):
print("Opened!")
def closed(self, code, reason):
print("Closed")
def received_message(self, m):
self.send(m.data, m.is_binary)
if __name__ == "__main__":
cherrypy.config.update({
"server.socket_host": "127.0.0.1",
"server.socket_port": 3000,
})
WebSocketPlugin(cherrypy.engine).subscribe()
cherrypy.tools.websocket = WebSocketTool()
cherrypy.quickstart(Root(), "/", config ={
"/ws": {
"tools.websocket.on":True,
"tools.websocket.handler_cls": AgentServer,
}
})
Please don't ask question regarding python code I am not familiar with it. I just got this code from internet.