ROSBridgeWebSocketConnection.cs
这个文件整个是一个namespace命名空间:ROSBridgeLib
只有一个类:ROSBridgeWebSocketConnection。其中内嵌了私有类RenderTask,这个私有类有3个私有变量和对应的3个公有方法,加一个构造函数。
Disconnect()方法
先用Abort()方法关闭4个线程:
- _myThread
- smallMessageThread
- middleMessageThread
- bigMessageThread
若WebSocket _ws非空且活跃,则宣告,每个订阅者依次不再订阅。(使用ROSBridgeMsg.UnSubscribe()方法)。同理,每个发布者也依次宣告不再发布消息。(使用ROSBridgeMsg.UnAdvertise()方法)
最后关闭WebSocket _ws:_ws.Close()
SmallMessageProcessor,MiddleMessageProcessor,BigMessageProcessor
三者判断规则不一样:
- SmallMessageProcessor: if (smallMessages.Count > 0)
- MiddleMessageProcessor: if (nextMiddleMessage != null)
- BigMessageProcessor: