2015-08-28 52 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

不过,我会建议重新考虑,也许您可​​能正在使用的通信协议。您可以利用一些其他协议,根据您所使用的解决方案提供最大的收益。只是思考的食物。

相关问题