2015-08-30 125 views
0

WebSocket在localhost(tomcat)中運行正常。但是當我主持(Openshift - tomcat)它立即斷開連接,並且沒有觸發onMessage方法。我檢查了標題,狀態代碼是Status Code:101 Switching ProtocolsWebSocket立即斷開連接 - Openshift

這是我的插座。

import javax.websocket.OnClose; 
import javax.websocket.OnMessage; 
import javax.websocket.OnOpen; 
import javax.websocket.Session; 
import javax.websocket.server.ServerEndpoint; 
import java.io.IOException; 


@ServerEndpoint("/TestSocket") 
public class TestSocket { 

    @OnOpen 
    public void onOpen(Session session) { 
     try { 
      session.getBasicRemote().sendText("Connected"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    @OnMessage 
    public void onMessage(Session session, String message) { 
     System.out.println("New message : " + message); 
     try { 
      session.getBasicRemote().sendText("Message received -> :" + message); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    @OnClose 
    public void onClose() { 
     System.out.println("Closed"); 
    } 

} 

這裏是活插座ws://shifar-shifz.rhcloud.com:8000/MyTestProject/testWebSocket。我無法弄清楚問題所在。請幫幫我。

EDIT

我使用的Tomcat 7(EWS的JBoss 2.0)墨盒。該項目通過WAR文件進行部署。

回答

1

我發現它的工作時,我刪除web-socket-api.jarlib後神器建設。我認爲Openshift已經在其服務器中包含另一個web-socket-api.jar。並且不能包含現有的任何重複jars/libs