MCPcopy Create free account
hub / github.com/OpenAtomFoundation/SmartIDE / connServer

Function connServer

cli/pkg/common/websocket.go:200–239  ·  view source on GitHub ↗
(key, Addr string)

Source from the content-addressed store, hash-verified

198}
199
200func connServer(key, Addr string) {
201 var err error
202 defer func() {
203 wsclient.mtx.Lock()
204 if clientArr[key] != nil {
205 _ = clientArr[key].Close()
206 }
207
208 clientArr[key] = nil
209 defer wsclient.mtx.Unlock()
210 WSLog(Addr + " 自动重连")
211 //自动重连机制
212 time.Sleep(3 * time.Second)
213 connServer(key, Addr)
214 }()
215 wsclient.c, _, err = websocket.DefaultDialer.Dial(Addr, nil)
216
217 if err != nil {
218 return
219 }
220 clientArr[key] = wsclient.c
221
222 for {
223 var res []byte
224 _, res, err := clientArr[key].ReadMessage()
225 if err != nil {
226 WSLog("数据读取失败")
227 return
228 }
229 var msg baseMsg
230 err = json.Unmarshal(res, &msg)
231 if err != nil {
232 WSLog("数据解析失败")
233 return
234 }
235 SmartIDELog.ConsoleDebug(fmt.Sprintf("服务器推送数据:%+v\n", msg))
236 httpReqMsgReceiver.ClientCodeToFunc(msg)
237 // httpReqMsgReceiver.receiveMsg(msg.CmdSequence, res)
238 }
239}
240
241// 发送给固定客户端
242func (w *receiver) receiveMsg(cmd int, msg []byte) {

Callers 1

WebsocketStartFunction · 0.85

Calls 3

WSLogFunction · 0.85
ConsoleDebugMethod · 0.80
ClientCodeToFuncMethod · 0.80

Tested by

no test coverage detected