我想用socket.io來連接我的unity3d程序與node.js服務器。連接Unity3D與Node.js
使用UnitySocketIO,我成功連接了客戶端和服務器。
但是,On或Emit方法不起作用。
有人可以幫我解決這個問題嗎?
void Start() {
string socketUrl = "http://127.0.0.1:50122";
Debug.Log("socket url: " + socketUrl);
this.socket = new Client(socketUrl);
this.socket.Opened += this.SocketOpened;
this.socket.Message += this.SocketMessage;
this.socket.SocketConnectionClosed += this.SocketConnectionClosed;
this.socket.Error += this.SocketError;
this.socket.Connect();
}
private void SocketOpened (object sender, EventArgs e) {
Debug.Log("socket opened"); // i got this message
this.socket.On ("message", (data) => {
Debug.Log ("message : " + data);
});
this.socket.Emit("join", "abc");
Debug.Log("Emit done"); // i got this message
}
....
io.sockets.on('connection', function (socket) {
console.log('connect'); // i got this message
socket.emit('message', 'Hello World!');
socket.on('join', function (id) {
console.log('client joined with id ' + id);
socket.emit('message', 'Hello ' + id);
});
});
Got this work?自己掙扎着。 – Jeff
你最終解決了這個問題嗎?你把UnitySocketIO的dll文件放在哪裏? – Nikola
@Nikola,只需把你的資產文件夾中的任何地方的dll文件。然後(對於c#),只需在腳本中添加'使用SocketIOClient;'。我不確定JavaScript的等價物是什麼,但不能很難弄清楚。 – Harrison