Example #1
0
        public override void SetServer(string ip, int port, CallbackCollection callbackCollection, int MAX_LISTEN)
        {
            _BufferManager = new SimpleBuffer();
            _Callback      = callbackCollection;
            //_BufferManager = new MicrosoftBuffer(4096 * 10, 4096);
            for (int i = 0; i < MAX_LISTEN; i++)
            {
                UniNetObject e = new UniNetObject();
                e.SetProtocol(_Callback._ProtocolOp);
                //SocketAsyncEventArgs args = new SocketAsyncEventArgs();
                e.SetCompletedHandler(ProcessIO);
                //args.Completed += new EventHandler<SocketAsyncEventArgs>(ProcessIO);
                //byte[] buf = new byte[4096];
                //_BufferManager.SetBuffer(args.SetBuffer, 4096);
                //_ConnectPool.InitPush(args);
            }
            _IpAddress = ip != null?
                         IPAddress.Parse(ip) :
                             IPAddress.Any;

            _Port            = port;
            _ServerUniObject = new UniNetObject();
            _ServerUniObject.SetProtocol(_Callback._ProtocolOp);
            _ServerUniObject.SetRemoteEndPoint(new IPEndPoint(_IpAddress, _Port));
            _MAX_LISTEN = MAX_LISTEN;
            _Callback   = callbackCollection;
            _Type       = CoreType.Server;
        }
Example #2
0
        public override bool Connect(string ip, int port, bool GoAsync = true)
        {
            if (_SingleConnect && _ServerUniObject != null)
            {
                return(false);
            }
            UniNetObject e = new UniNetObject();

            e.SetProtocol(_Callback._ProtocolOp);
            e.SetCompletedHandler(ProcessIO);
            e.SetTimeoutHandler(ProcessTimeout);
            e.SetRemoteEndPoint(new IPEndPoint(IPAddress.Parse(ip), port));
            e.LastOperation = UniNetOperation.Connect;
            e.ConnectAsync();
            e.ObjectError = Error.NetCoreError.IOPending;
            return(true);
        }