0

这是我的客户端(unity3d C# 代码),我正在与 python websocket 服务器连接

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();

    }

我有这个代码来连接网络套接字,但是当我的场景开始时它会触发错误事件,我得到了这个

错误消息:连接时发生错误。UnityEngine.Debug:Log(Object) NodeWebSocketCaller:m__3(Object, ErrorEventArgs) (在 Assets/NodeWebSocketCaller.cs:30) WebSocketSharp.Ext:Emit(EventHandler`1, Object, ErrorEventArgs) (在 Assets/SocketIO/WebsocketSharp/Ext. cs:992) WebSocketSharp.WebSocket:error(String) (在 Assets/SocketIO/WebsocketSharp/WebSocket.cs:1011) WebSocketSharp.WebSocket:doHandshake() (在 Assets/SocketIO/WebsocketSharp/WebSocket.cs:989) WebSocketSharp.WebSocket :connect() (在 Assets/SocketIO/WebsocketSharp/WebSocket.cs:874) WebSocketSharp.WebSocket:Connect() (在 Assets/SocketIO/WebsocketSharp/WebSocket.cs:1784) NodeWebSocketCaller:Start() (在 Assets/NodeWebSocketCaller. cs:32)

同时打开和关闭事件也在执行。

在服务器端:

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,
        }
    })

请不要问关于我不熟悉的python代码的问题。我刚从互联网上得到这个代码。

4

0 回答 0