(一)添加socket服务
因为项目基于 springboot 框架,要提供 socket 服务,网上查资料好多说是要添加 websocket 组件,感觉挺麻烦就没去看,直接使用原始的方式写个 socket 服务类,然后在 springboot 启动类的 main 方法中,添加 socket 服务启动方法。
1.socket服务类代码如下(网上有好多例子,随便拿了个模板略作修改):
import java.io.*;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
import java.util.Set;
/**
* nio socket服务端
*/
public class SocketServer {
//解码buffer
private Charset cs = Charset.forName("UTF-8");
//接受数据缓冲区
private static ByteBuffer sBuffer = ByteBuffer.allocate(1024);
//发送数据缓冲区
private static ByteBuffer rBuffer = ByteBuffer.allocate(1024);
//选择器(叫监听器更准确些吧应该)
private static Selector selector;
/**
* 启动socket服务,开启监听
* @param port
* @throws IOException
*/
public void startSocketServer(int port){
try {
//打开通信信道
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
/