我正在尝试在Set allSession中保存会话,但getOpenSessions()方法创建一个空数组。我的代码看起来像 -
@OnOpen
public void onOpen(Session session){
System.out.println(session.getId() + " has opened a connection");
System.out.println(" Session: "+session.getOpenSessions());
try {
session.getBasicRemote().sendText("Connection Established");
} catch (IOException ex) {
ex.printStackTrace();
}
}
所以,它给了我一个结果 -
1已打开连接
会话[]
有人能说出这里的确切问题吗?
答案 0 :(得分:1)
对不起延迟回答。该bug是tomcat 8.0版。 Tomcat 7更稳定。我在3,4个月内使用这个,但会话相关问题即将到来。希望这些信息对您有所帮助。
答案 1 :(得分:0)
我遇到了同样的问题...但是当我在@onMessage批注方法中使用该方法时..它工作正常...集合正在显示元素...
答案 2 :(得分:0)
这有效!
public int GetShopperID(System.String strEmail, System.String strPwd) {
int result = 0;
string strSqlCmd = "SELECT ShopperID FROM Shopper WHERE Email = @Email AND Passwd = @Passwd";
using (var cmd = new System.Data.SqlClient.SqlCommand(strSqlCmd, new System.Data.SqlClient.SqlConnection(_databaseConnection))) {
cmd.Parameters.Add("@Email", System.Data.SqlDbType.VarChar, 50);
cmd.Parameters.Add("@Passwd", System.Data.SqlDbType.VarChar, 50);
cmd.Parameter["@Email"].Value = strEmail;
cmd.Parameter["@Passwd"].Value = strPwd;
cmd.Connection.Open();
using (var reader = cmd.ExecuteReader()) {
if (reader.Read()) {
result = Convert.ToInt32(reader["ShopperID"]);
}
}
}
return result;
}