java websocket获取用户sessionid并发送消息给指定用户

先写个json 包含自己的用户名或id 还有发送对象的用户名或id

var cmd = {
        "me":"2",
        "main":"woshi2",
        "to":"1"
      
  };

然后在服务器websocket中

@OnMessage
            public void mingzi(Session session,String mingzi){}

由于接受的值是json,需要写个类来接受

package bean;

public class me {
private String me;
private String main;
private String to;

public String getMain() {
	return x;
}
public void setMain(String main) {
	this.main = main;
}
public String getMe(){
	return Me;
}
public void setMe(String Me){
	this.me=me;
}

public String getTo(){
	return to;
}
public void setTo(String to){
	this.to=to;
}
}

为了能让用户sessionid与名字匹配 用map将 session与名字 用key value保存

private static Map<String,Session> map=new HashMap<String,Session>();
	map.put(m.getZiji(), session);

新建一个session用来发送数据给客户端 这里获取的是客户端传过来的 接受者的名字 从map中取出与她相对应的用户session

Session to=map.get(m.getTo());

然后将自己的信息发送给接受者

to.getBasicRemote().sendText(m.getX());

猜你喜欢

转载自blog.csdn.net/weixin_40938312/article/details/104816000
今日推荐