Java WebSocket客户端实现

添加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;
            }
        }


    }

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值