2015-08-28 50 views
0

我是Java新手。我創建了一個簡單的WebSocket。如何從Java控制檯程序連接到WebSocket?

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("/RankixSocket") 
public class RankixSocket { 

    @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"); 
    } 

} 

現在我想連接到從控制檯應用程序的WebSocket。我見過從Android Application連接到WebSocketexample。在那個例子中,作者使用了一個external library。我GOOGLE了很多,但沒有發現的有用:(。

  1. 是否有可能從一個普通的Java控制檯應用程序連接到WebSocket?那我該怎麼辦呢?有沒有任何外部庫?

任何幫助將不勝感激

回答

1

EchoClient.java是一個簡單的控制檯應用程序,它連接到ws://echo.websocket.org。該應用程序使用nv-websocket-client庫。在爲Java選擇WebSocket客戶端庫時應考慮的內容列於here

+0

哇,但我怎樣才能得到該庫的'JAR'版本@Takahiko Kawasaki – theapache64

+0

如果您使用的是Maven或Gradle,請閱讀[README.md](https://github.com/TakahikoKawasaki/nv-websocket -client /斑點/主/ README.md)。否則,從[這裏]下載一個JAR文件(https://repo1.maven.org/maven2/com/neovisionaries/nv-websocket-client/)。 –

1

要回答你的問題#1 ...... YES

客戶端庫:!Jetty

例子:Stack Overflow Example 26452903

不過,我會建議重新考慮,也許您可​​能正在使用的通信協議。您可以利用一些其他協議,根據您所使用的解決方案提供最大的收益。只是思考的食物。

相關問題