| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- 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
- {
- /// <summary>
- /// web socket任务分配
- /// </summary>
- public class biz_socketTask
- {
- public static void DoWork(IntPtr connId, byte[] data)
- {
- try
- {
- //解析命令
- var txt = Encoding.UTF8.GetString(data);
- var cmd = JsonConvert.DeserializeObject<cmd_base>(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<cmd_getScannerList>(txt);
- biz_getScannerList.Work(connId, detail);
- break;
- }
- case "startScan":
- {
- var detail = JsonConvert.DeserializeObject<cmd_startScan2>(txt);
- biz_startScan.Work(connId, detail);
- break;
- }
- case "stopScan":
- {
- var detail = JsonConvert.DeserializeObject<cmd_stopScan>(txt);
- biz_stopScan.Work(connId, detail);
- break;
- }
- case "checkHeartBeat":
- {
- var detail = JsonConvert.DeserializeObject<cmd_checkHeartBeat>(txt);
- biz_checkHeartBeat.Work(connId, detail);
- break;
- }
- case "pushCompletedScan":
- {
- break;
- }
- case "changeScan":
- {
- var detail = JsonConvert.DeserializeObject<cmd_changeScan>(txt);
- biz_changeScan.Work(connId, detail);
- break;
- }
- case "loadImage":
- {
- var detail = JsonConvert.DeserializeObject<cmd_loadImage>(txt);
- biz_loadImage.Work(connId, detail);
- break;
- }
- case "getFailedImage":
- {
- var detail = JsonConvert.DeserializeObject<cmd_getFailedImage>(txt);
- biz_getFailedImage.Work(connId, detail);
- break;
- }
- case "reUpload":
- {
- var detail = JsonConvert.DeserializeObject<cmd_reUpload>(txt);
- biz_reUpload.Work(connId, detail);
- break;
- }
- case "scanTemplate":
- {
- var detail = JsonConvert.DeserializeObject<cmd_scanTemplate>(txt);
- biz_scanTemplate.Work(connId, detail);
- break;
- }
- case "deleteBatch":
- {
- var detail = JsonConvert.DeserializeObject<cmd_deleteBatch>(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);
- }
- }
- }
- }
|