Пример #1
0
 public TcpServerListener(IPEndPoint serverEndPoint, ISocketServerEventListener eventListener, Action <ITcpConnection, byte[], Action <byte[]> > messageHandler)
 {
     Ensure.NotNull(serverEndPoint, "serverEndPoint");
     Ensure.NotNull(messageHandler, "messageHandler");
     _serverEndPoint       = serverEndPoint;
     _eventListener        = eventListener;
     _messageHandler       = messageHandler;
     _listeningSocket      = new Socket(serverEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
     _acceptSocketArgsPool = new SocketArgsPool("TcpServerListener.AcceptSocketArgsPool", Configuration.Instance.Setting.TcpConfiguration.ConcurrentAccepts * 2, CreateAcceptSocketArgs);
     _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
 }
Пример #2
0
 public TcpServerListener(IPEndPoint serverEndPoint, ISocketServerEventListener eventListener, Action<ITcpConnection, byte[], Action<byte[]>> messageHandler)
 {
     Ensure.NotNull(serverEndPoint, "serverEndPoint");
     Ensure.NotNull(messageHandler, "messageHandler");
     _serverEndPoint = serverEndPoint;
     _eventListener = eventListener;
     _messageHandler = messageHandler;
     _listeningSocket = new Socket(serverEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
     _acceptSocketArgsPool = new SocketArgsPool("TcpServerListener.AcceptSocketArgsPool", Configuration.Instance.Setting.TcpConfiguration.ConcurrentAccepts * 2, CreateAcceptSocketArgs);
     _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName);
 }
Пример #3
0
            public AcceptedConnection(ITcpConnection connection, ISocketServerEventListener eventListener, Action <ITcpConnection, byte[], Action <byte[]> > messageHandler)
            {
                _messageFramer = new LengthPrefixMessageFramer();
                _messageFramer.RegisterMessageArrivedCallback(OnMessageArrived);
                _connection     = connection;
                _eventListener  = eventListener;
                _messageHandler = messageHandler;
                _logger         = ObjectContainer.Resolve <ILoggerFactory>().Create(typeof(TcpServerListener).FullName);

                _connection.ConnectionClosed += OnConnectionClosed;
                if (_connection.IsClosed)
                {
                    OnConnectionClosed(_connection, SocketError.Success);
                    return;
                }
            }
Пример #4
0
 public SocketRemotingServer(string name, IPEndPoint serverEndPoint, ISocketServerEventListener eventListener = null)
 {
     _serverListener = new TcpServerListener(serverEndPoint, eventListener, HandleRemotingRequest);
     _requestHandlerDict = new Dictionary<int, IRequestHandler>();
     _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(name ?? GetType().FullName);
 }
Пример #5
0
            public AcceptedConnection(ITcpConnection connection, ISocketServerEventListener eventListener, Action<ITcpConnection, byte[], Action<byte[]>> messageHandler)
            {
                _messageFramer = new LengthPrefixMessageFramer();
                _messageFramer.RegisterMessageArrivedCallback(OnMessageArrived);
                _connection = connection;
                _eventListener = eventListener;
                _messageHandler = messageHandler;
                _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(typeof(TcpServerListener).FullName);

                _connection.ConnectionClosed += OnConnectionClosed;
                if (_connection.IsClosed)
                {
                    OnConnectionClosed(_connection, SocketError.Success);
                    return;
                }
            }
Пример #6
0
 public SocketRemotingServer(string name, IPEndPoint serverEndPoint, ISocketServerEventListener eventListener = null)
 {
     _serverListener     = new TcpServerListener(serverEndPoint, eventListener, HandleRemotingRequest);
     _requestHandlerDict = new Dictionary <int, IRequestHandler>();
     _logger             = ObjectContainer.Resolve <ILoggerFactory>().Create(name ?? GetType().FullName);
 }