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