0

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.

Muhammad Faizan Khan
  • 10,013
  • 18
  • 97
  • 186

0 Answers0