|
@@ -6,6 +6,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.socket.*;
|
|
|
import org.springframework.web.socket.handler.AbstractWebSocketHandler;
|
|
|
|
|
|
+import java.io.*;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
@@ -20,6 +21,9 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
|
|
|
public static final Map<String, WebSocketSession> WS_CLIENTS = new ConcurrentHashMap<>();
|
|
|
|
|
|
+ private static File file;
|
|
|
+ private static FileOutputStream fos;
|
|
|
+
|
|
|
public WebSocketHandler() {
|
|
|
super();
|
|
|
}
|
|
@@ -30,6 +34,8 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
LOGGER.info("{}上线", session.getPrincipal().getName().split(":")[1]);
|
|
|
WS_CLIENTS.put(phone, session);
|
|
|
super.afterConnectionEstablished(session);
|
|
|
+ file = new File("E:\\Temp\\record.wav");
|
|
|
+ fos = new FileOutputStream(file);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -46,6 +52,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
@Override
|
|
|
protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception {
|
|
|
super.handleBinaryMessage(session, message);
|
|
|
+ fos.write(message.getPayload().array());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -61,6 +68,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
session.close();
|
|
|
String phone = session.getPrincipal().getName().split(":")[1];
|
|
|
WS_CLIENTS.remove(phone);
|
|
|
+ fos.close();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -69,6 +77,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
String phone = session.getPrincipal().getName().split(":")[1];
|
|
|
LOGGER.info("{}离线", phone);
|
|
|
WS_CLIENTS.remove(phone);
|
|
|
+ fos.close();
|
|
|
}
|
|
|
|
|
|
@Override
|