Próbuję użyć socket.io do połączenia mojego programu unity3d z serwerem node.js.Łączenie Unity3d z Node.js
Korzystając z UnitySocketIO, nawiązałem połączenie między klientem a serwerem.
Jednak metoda On lub Emit nie działa.
Czy ktoś może mi pomóc w rozwiązaniu tego problemu?
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);
});
});
Masz to działa? Sam się z tym zmagam. – Jeff
Rozwiązałeś to w końcu? Gdzie umieścić pliki DLL z UnitySocketIO? – Nikola
@Nikola, po prostu umieść pliki dll w dowolnym miejscu w folderze Zasoby. Następnie (dla C#) po prostu dodaj 'using SocketIOClient;' do twojego skryptu. Nie jestem pewien, co to jest odpowiednik dla javascript, ale nie może być trudne do wymyślenia. – Harrison