|
|
|
|
using log4net;
|
|
|
|
|
using SuperSocket.SocketBase;
|
|
|
|
|
using SuperSocket.WebSocket;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using SuperSocket.SocketBase.Config;
|
|
|
|
|
|
|
|
|
|
namespace POSV.WindowsService
|
|
|
|
|
{
|
|
|
|
|
public class WebSocketServerEx : WebSocketServer<WebSocketSessionEx>
|
|
|
|
|
{
|
|
|
|
|
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
|
|
|
|
|
|
|
|
|
protected override bool Setup(IRootConfig rootConfig, IServerConfig config)
|
|
|
|
|
{
|
|
|
|
|
var rootC = new RootConfig()
|
|
|
|
|
{
|
|
|
|
|
LogFactory = config.LogFactory
|
|
|
|
|
};
|
|
|
|
|
return base.Setup(rootC , config);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnStarted()
|
|
|
|
|
{
|
|
|
|
|
base.OnStarted();
|
|
|
|
|
|
|
|
|
|
logger.Info("服务器已启动");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnNewSessionConnected(WebSocketSessionEx session)
|
|
|
|
|
{
|
|
|
|
|
base.OnNewSessionConnected(session);
|
|
|
|
|
|
|
|
|
|
//var name = session.Path;
|
|
|
|
|
//if (!string.IsNullOrEmpty(name))
|
|
|
|
|
//{
|
|
|
|
|
// name = name.Substring(1);
|
|
|
|
|
//}
|
|
|
|
|
//SessionManager.AddSession(name, session);
|
|
|
|
|
|
|
|
|
|
logger.Info(session.RemoteEndPoint.Address.ToString() + ":连接");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnSessionClosed(WebSocketSessionEx session, CloseReason reason)
|
|
|
|
|
{
|
|
|
|
|
base.OnSessionClosed(session, reason);
|
|
|
|
|
|
|
|
|
|
//var name = session.Path;
|
|
|
|
|
//if (!string.IsNullOrEmpty(name))
|
|
|
|
|
//{
|
|
|
|
|
// name = name.Substring(1);
|
|
|
|
|
//}
|
|
|
|
|
//SessionManager.RemoveSession(name);
|
|
|
|
|
|
|
|
|
|
logger.Info(session.RemoteEndPoint.Address.ToString() + ":断开连接");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnStopped()
|
|
|
|
|
{
|
|
|
|
|
base.OnStopped();
|
|
|
|
|
|
|
|
|
|
logger.Info("服务器已停止");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|