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; }
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); }