导入maven依赖
<dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.3.0</version>
</dependency>
客户端写法 1:
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.Draft_17;
import org.java_websocket.handshake.ServerHandshake;
import java.net.URI;
import java.net.URISyntaxException;
public class WebSocket {
public static void main(String[] args) throws URISyntaxException {
String url = "服务器地址";
final WebSocketClient wc = new WebSocketClient(new URI(url), new Draft_17()) {
@Override
public void onOpen(ServerHandshake handshakedata) {
send("18601");
}
@Override
public void onMessage(String message) {
System.err.println(message);
}
}
@Override
public void onError(Exception ex) {
System.err.println("客户端出错了");
}
@Override
public void onClose(int code, String reason, boolean remote) {
System.err.println("客户端关闭了连接");
}
};
wc.connect();
}
}
客户端写法2
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import java.net.URI;
public class WebSocket extends WebSocketClient {
public WebSocketConnect(URI serverURI) {
super(serverURI);
}
public void onOpen(ServerHandshake serverHandshake) {
}
public void onMessage(String s) {
System.out.println(s);
}
public void onClose(int i, String s, boolean b) {
}
public void onError(Exception e) {
}
}
服务端:
创建一个WebSocket服务端类MyWebSocketServer,并在类前添加@ServerEndpoint(value = "/websocket")注解,@ServerEndpoint(value = "/websocket")注释端点表示将 WebSocket 服务端运行在 ws://[Server 端 IP 或域名]:[Server 端口]/项目名/websocket 的访问端点 实现onOpen、onClose、onMessage、onError等方法
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.server.ServerEndpoint;
import java.net.URI;
@ServerEndpoint("/websoccket")
public class WebSocketConnect {
@OnMessage
public void onMessage(String messsage){
System.out.println(messsage);
}
@OnOpen
public void onOpen(){
}
@OnError
public void onError(){
}
@OnClose
public void onClose(){
}
}
学习websocket萌新 如有错误帮忙指出 感谢