WebSockets in Java EE?



在我开始这个问题之前,我想说我是WebSockets的新手。

我必须创建一个客户端,它与服务器联系,并检索服务器发送的数据。(有用户名和密码)。

我试过使用这个:http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html

没有成功(我不确定我应该使用哪个websocket jar,所以我刚刚导入了jetty-all jar文件)。我的程序实际上与我提供的教程完全相同,但是一旦我运行它。它到处都是错误(这些错误与导入的jar文件有关)。

现在我已经转向Java EE WebSocket教程:http://docs.oracle.com/javaee/7/tutorial/doc/websocket.htm

我怎么也理解不了。

我不是要完整的代码,也许是关于如何用Java EE解决这个问题的指南。我正在努力寻找纯粹基于Java的客户端的在线资源。

如果您有时间(一个小时)进一步研究该技术,这里有一个很好的Java套接字教程:http://docs.oracle.com/javase/tutorial/networking/sockets/

下面是一些服务器端套接字的基本示例代码:
private final static int PORT_NUMBER = 3333;
    try (
        //ServerSocket listening to port 3333
        ServerSocket serverSocket =
            new ServerSocket(PORT_NUMBER);
        //ServerSocket.accept(); blocks program execution until a client socket connects,
        //put it in a loop to listen for continuous connections
        Socket clientSocket = serverSocket.accept();    
        PrintWriter out =
            new PrintWriter(clientSocket.getOutputStream(), true);                  
        BufferedReader in = new BufferedReader(
            new InputStreamReader(clientSocket.getInputStream()));
    ) {
        //Read data from streams
        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            out.println(inputLine);
        }
    } catch (IOException e) {
        System.out.println("Exception caught when trying to listen on port "
            + portNumber + " or listening for a connection");
        System.out.println(e.getMessage());
    }

在客户端你使用Socket连接到你的ServerSocket:

    Socket echoSocket = new Socket(hostName, portNumber);

例如,"hostname"可以是"localhost",而"portnumber"在上面的示例中将是"3333"。主机名是您要连接的IP。

代码示例来自Oracle.com,在我链接的教程中

相关内容

  • 没有找到相关文章