在另一个类中使用Session接口

时间:2014-10-27 13:44:36

标签: java session tomcat websocket

我有一个Web应用程序,我使用websocket API来处理websockets,这是该部分的代码

package comm2.hello;

import java.io.IOException;
import java.util.ArrayList;

import javax.websocket.OnClose;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

import org.apache.catalina.session.*;

@ServerEndpoint(value = "/echo")
public class wschat {
    private static ArrayList<Session> sessionList = new ArrayList<Session>();

    @OnOpen
    public void onOpen(Session session) {
        try {
            sessionList.add(session);
            // asynchronous communication
            session.getBasicRemote().sendText("hello");
        } catch (IOException e) {
        }
    }

    public void send(String text, Session session) throws IOException {
        session.getBasicRemote().sendText(text);
    }
}

我正在尝试使用另一个java类,然后使用以下代码调用send方法发送消息。

package comms;
import java.io.IOException;
import java.util.ArrayList;

import javax.websocket.Session;
import javax.websocket.Session;

import comm2.hello.*;
public class main {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        wschat h = new wschat();
        String text = "hello";
        //session shouldn't be null but not sure what to make it
        Session session = null;
        h.send(text,session);
    }

}

正如您所看到的,我将session类中的main.java变量设置为null,因此始终会产生null pointer错误。这是因为我不确定将session等同于什么,是否有人知道如何将session变量初始化为main.java

0 个答案:

没有答案