| | |
| | | package com.flightfeather.uav.socket |
| | | |
| | | import com.flightfeather.uav.domain.repository.SceneInfoRep |
| | | import com.flightfeather.uav.socket.handler.ServerHandler |
| | | import com.flightfeather.uav.socket.handler.UnderwayWebSocketServerHandler |
| | | import com.flightfeather.uav.socket.processor.BaseProcessor |
| | |
| | | * *******************************************************************************/ |
| | | @Component |
| | | class UnderwaySocketServer( |
| | | private val underwayWebSocketServerHandler:UnderwayWebSocketServerHandler |
| | | private val sceneInfoRep: SceneInfoRep |
| | | ) { |
| | | |
| | | private val bossGroup = NioEventLoopGroup() |
| | |
| | | electricServer(processor)?.bind(port)?.sync() |
| | | } |
| | | |
| | | fun startWebSocketServer(port: Int, processor: BaseProcessor) { |
| | | webSocketServer(processor)?.bind(port)?.sync() |
| | | fun startWebSocketServer(port: Int) { |
| | | webSocketServer()?.bind(port)?.sync() |
| | | } |
| | | |
| | | fun stopServer() { |
| | |
| | | /** |
| | | * 多参数走航服务端 |
| | | */ |
| | | private fun webSocketServer(processor: BaseProcessor):ServerBootstrap? = newServer(object : ChannelInitializer<NioSocketChannel>() { |
| | | private fun webSocketServer():ServerBootstrap? = newServer(object : ChannelInitializer<NioSocketChannel>() { |
| | | override fun initChannel(p0: NioSocketChannel?) { |
| | | p0?.pipeline() |
| | | ?.addLast(HttpServerCodec()) |
| | | ?.addLast(HttpObjectAggregator(65535)) |
| | | ?.addLast(WebSocketServerProtocolHandler("/ws")) |
| | | ?.addLast(underwayWebSocketServerHandler) |
| | | ?.addLast(UnderwayWebSocketServerHandler(sceneInfoRep)) |
| | | } |
| | | }) |
| | | } |