using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json; using HXX.Scanner.Socket; using HXX.Scanner.Common; namespace HXX.Scanner.Biz.Socket { /// /// web socket任务分配 /// public class biz_socketTask { public static void DoWork(IntPtr connId, byte[] data) { try { //解析命令 var txt = Encoding.UTF8.GetString(data); var cmd = JsonConvert.DeserializeObject(txt); //限制1秒内相同指令抛弃掉 if (!biz_limit.check(cmd.action)) { return; } if (cmd != null && !string.IsNullOrEmpty(cmd.action)) { switch (cmd.action) { case "getScannerList": { var detail = JsonConvert.DeserializeObject(txt); biz_getScannerList.Work(connId, detail); break; } case "startScan": { var detail = JsonConvert.DeserializeObject(txt); biz_startScan.Work(connId, detail); break; } case "stopScan": { var detail = JsonConvert.DeserializeObject(txt); biz_stopScan.Work(connId, detail); break; } case "checkHeartBeat": { var detail = JsonConvert.DeserializeObject(txt); biz_checkHeartBeat.Work(connId, detail); break; } case "pushCompletedScan": { break; } case "changeScan": { var detail = JsonConvert.DeserializeObject(txt); biz_changeScan.Work(connId, detail); break; } case "loadImage": { var detail = JsonConvert.DeserializeObject(txt); biz_loadImage.Work(connId, detail); break; } case "getFailedImage": { var detail = JsonConvert.DeserializeObject(txt); biz_getFailedImage.Work(connId, detail); break; } case "reUpload": { var detail = JsonConvert.DeserializeObject(txt); biz_reUpload.Work(connId, detail); break; } case "scanTemplate": { var detail = JsonConvert.DeserializeObject(txt); biz_scanTemplate.Work(connId, detail); break; } case "deleteBatch": { var detail = JsonConvert.DeserializeObject(txt); biz_deleteBatch.Work(connId, detail); break; } default: biz_error.Work(connId, "无法解析 action:" + cmd.action); break; } } else { biz_error.Work(connId, "无法解析:" + txt); } } catch (Exception ee) { //LogManager.WriteLog(ee); //biz_error.Work(connId, "发生错误:" + ee.Message); } } } }