使用wss(websocket)发送和接收数据的格式

时间:2016-10-25 07:16:00

标签: java wss java-websocket

我目前正在使用Websocket。那么我使用wss协议发送和接收数据?我已经在使用HTTP post并获取但需要升级到wss。请帮忙。提前致谢

1 个答案:

答案 0 :(得分:0)

如果您使用的是独立应用程序(控制台应用程序),我建议您使用java-websocket或者使用JavaEE WebApp,例如:

package org.hectorvent.gpstracking.websocket;

import org.hectorvent.gpstracking.restful.model.PdaGeoData;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.Future;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Singleton;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@Singleton
@ServerEndpoint("/geodata")
public class WebSocketGmap {

    private final Set<Session> clients = new HashSet();

    @OnOpen
    public void open(Session session) {
        clients.add(session);
    }

    @OnMessage
    public void onMessage(String message, Session session) {
          // here you're going to received client messages.
    }

    @OnClose
    public void close(Session session) {
        clients.remove(session);
    }

    @OnError
    public void onError(Throwable error) {
    }

    public void sendMessage(PdaGeoData pgd) {
        for (Session client : clients) {
            Future fu = client.getAsyncRemote()
                    .sendText(GsonUtils.toJson(pgd));

        }
    }

}