springboot基本使用笔记----添加socket服务及获取spring bean

本文介绍了如何在SpringBoot项目中不使用websocket组件,而是通过创建普通的socket服务类来实现socket服务。在遇到普通类无法直接注入Service的问题时,通过SpringUtil工具类从Spring容器中获取bean,确保能够正确使用注入的Mapper和服务。
摘要由CSDN通过智能技术生成

(一)添加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();
            /
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值