• 你可以尝试在各个 设备 socket 通信 协程中调用recover()处理异常防止程序退出(假如异常不影响程序继续运行),从报错上看可以重点排查sdk中执行c调go函数是否支持空指针(export_...
  • 不加指针类型取的是connManager的副本,每次拿的锁对象都是不一样的,所以锁没起作用。可以把connlock改成*sync.RWMutex
  • 实际上你的协程可能来不及执行wg.Add(1)主程就退出了,而且你的go func() {}是个死循环只不过你的主程没有去等待这个协程才没有卡住