这是我的客户端基于Android代码(libgdx) -
public static void updateTheServer() {
JSONObject data = new JSONObject();
try {
data.put("roomName", tf.getText()); //tf is a textbox i take input from
socket.emit("joinRoom",data);
} catch (JSONException e) {
Gdx.app.log("SOCKET.IO", "Error sending room name data");
}
}
这是我在javascript / nodejs上的服务器代码 -
var clientInfo={}; //key-Value Pairs
var roomName;
io.on('connection', function (socket){
socket.emit('socketID',{id:socket.id});
socket.on('joinRoom',function(data){
data.id=socket.id;
console.log("Got room name!");
if(!roomName===null){
roomName=data.JSON.parse(roomName);
clientInfo[socket.id]=roomName;
socket.join(roomName);
}
});
我在命令窗口中遇到的错误是 - " TypeError:无法读取属性' roomName'在Socket中未定义。
你能告诉我如何解决这个问题吗?我的目标是从客户那里获得房间名称,这样我就能让他们加入那个特定的房间!
我很困惑如何在平台不同时实现这一点,客户端是java,服务器是js。