Java WebSocket客户端实现

来源:互联网 发布:linux weblogic创建域 编辑:程序博客网 时间:2024/06/06 10:04

添加JAR文件

java-websocket-1.3.0.jar

ClientSocket.java的实现

package com.wei.socket;import java.net.URI;import org.java_websocket.client.WebSocketClient;import org.java_websocket.handshake.ServerHandshake;public class ClientSocket extends WebSocketClient {    private ClientManager _clientManager;    public ClientSocket(ClientManager clientManager,URI serverURI) {        super(serverURI);        _clientManager=clientManager;    }    public void onClose(int arg0, String arg1, boolean arg2) {        System.out.println("close...");    }    public void onError(Exception arg0) {        System.out.println("error...");    }    public void onMessage(String arg0) {        _clientManager.Receive(arg0);       }    public void onOpen(ServerHandshake arg0) {        System.out.println("open...");    }}

ClientManager.java的实现

package com.wei.socket;import java.net.URI;public class ClientManager {    private ClientSocket socket;    public void Connect(String url){        try {            socket=new ClientSocket(this,new URI(url));            socket.connect();        } catch (Exception e) {            System.out.println("Connect error...");        }    }    public void Stop(){        socket.close();    }    public void Send(String message){        socket.send(message);    }    public void Receive(String message){        System.out.println(message);    }}

Main函数的实现

import java.util.Scanner;import com.wei.socket.ClientManager;public class Test {    public static void main(String[] args) {        ClientManager clientManager=new ClientManager();        boolean isRun=true;        Scanner scanner=new Scanner(System.in);        Scanner scanner2=new Scanner(System.in);                while(isRun){            System.out.println("Input your choice:");            int input=scanner.nextInt();            switch (input) {            case 1:                clientManager.Connect("ws://172.16.3.151:8888");                break;            case 2:                clientManager.Stop();                isRun=false;                break;            case 3:                System.out.println("Please input your text:");                String text=scanner2.nextLine();                clientManager.Send(text);                break;            default:                break;            }        }    }}
原创粉丝点击