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;
using HXX.Scanner.Biz.Socket;
namespace HXX.Scanner.Biz
{
///
/// ws工作管理
///
public class biz_socketServer
{
///
/// 启动web socket
///
///
///
public static bool Start(string url)
{
return SocketServerManager.Start(url, on_message_byte, on_message_string, on_close, on_connect);
}
///
/// 当新连接进入时
///
///
private static void on_connect(IntPtr connId)
{
biz_connectMessage.Work(connId);
}
///
/// 当新消息到达时(string)
///
///
///
private static void on_message_string(IntPtr connId, string data)
{
//do nothing
}
///
/// 当新消息到达时(byte)
///
///
///
private static void on_message_byte(IntPtr connId, byte[] data)
{
Task.Run(() =>
{
biz_socketTask.DoWork(connId, data);
});
}
///
/// 当连接关闭时
///
///
///
public static void on_close(IntPtr connId, int connection_count)
{
//if (connection_count <= 1)
//{
// config_environment.scan_state = false;
//}
}
///
/// 主动发消息
///
///
///
public static void Send(string txt)
{
//SocketServerManager.Send_All(txt);
SocketServerManager.Send_Single(config_environment.current_invoker, txt);
}
}
}