/// <summary> /// ref / out 参数测试 /// </summary> /// <param name="left">加法左值</param> /// <param name="right">加法右值</param> /// <param name="product">乘积</param> /// <returns>和</returns> public AutoCSer.Net.TcpServer.ReturnValue <AutoCSer.Net.TcpServer.ReturnValue <int> > Add(int left, ref int right, out int product) { AutoCSer.Net.TcpServer.AutoWaitReturnValue <TcpOpenServer._p2> _wait_ = AutoCSer.Net.TcpServer.AutoWaitReturnValue <TcpOpenServer._p2> .Pop(); try { AutoCSer.Net.TcpOpenServer.ClientSocketSender _socket_ = _TcpClient_.Sender; if (_socket_ != null) { TcpOpenServer._p1 _inputParameter_ = new TcpOpenServer._p1 { left = left, right = right, }; TcpOpenServer._p2 _outputParameter_ = new TcpOpenServer._p2 { right = right, }; AutoCSer.Net.TcpServer.ReturnType _returnType_ = _socket_.WaitGet <TcpOpenServer._p1, TcpOpenServer._p2>(_c0, ref _wait_, ref _inputParameter_, ref _outputParameter_); right = _outputParameter_.right; product = _outputParameter_.product; return(new AutoCSer.Net.TcpServer.ReturnValue <AutoCSer.Net.TcpServer.ReturnValue <int> > { Type = _returnType_, Value = _outputParameter_.Return }); } } finally { if (_wait_ != null) { AutoCSer.Net.TcpServer.AutoWaitReturnValue <TcpOpenServer._p2> .PushNotNull(_wait_); } } product = default(int); return(new AutoCSer.Net.TcpServer.ReturnValue <AutoCSer.Net.TcpServer.ReturnValue <int> > { Type = AutoCSer.Net.TcpServer.ReturnType.ClientException }); }
/// <summary> /// 客户端验证 /// </summary> /// <param name="client"></param> /// <param name="sender"></param> /// <returns></returns> public bool Verify(Session.TcpOpenClient client, AutoCSer.Net.TcpOpenServer.ClientSocketSender sender) { return(client.login(sender, user, password).Value); }
public AutoCSer.Net.TcpServer.ReturnValue <int> this[int index] { get { AutoCSer.Net.TcpServer.AutoWaitReturnValue <TcpOpenServer._p1> _wait_ = AutoCSer.Net.TcpServer.AutoWaitReturnValue <TcpOpenServer._p1> .Pop(); try { AutoCSer.Net.TcpOpenServer.ClientSocketSender _socket_ = _TcpClient_.Sender; if (_socket_ != null) { TcpOpenServer._p2 _inputParameter_ = new TcpOpenServer._p2 { index = index, }; AutoCSer.Net.TcpServer.ReturnValue <TcpOpenServer._p1> _outputParameter_ = _socket_.WaitGet <TcpOpenServer._p2, TcpOpenServer._p1>(_c1, ref _wait_, ref _inputParameter_); return(new AutoCSer.Net.TcpServer.ReturnValue <int> { Type = _outputParameter_.Type, Value = _outputParameter_.Value.Return }); } } finally { if (_wait_ != null) { AutoCSer.Net.TcpServer.AutoWaitReturnValue <TcpOpenServer._p1> .PushNotNull(_wait_); } } return(new AutoCSer.Net.TcpServer.ReturnValue <int> { Type = AutoCSer.Net.TcpServer.ReturnType.ClientException }); } set { AutoCSer.Net.TcpServer.AutoWaitReturnValue _wait_ = AutoCSer.Net.TcpServer.AutoWaitReturnValue.Pop(); try { AutoCSer.Net.TcpOpenServer.ClientSocketSender _socket_ = _TcpClient_.Sender; if (_socket_ != null) { TcpOpenServer._p3 _inputParameter_ = new TcpOpenServer._p3 { index = index, value = value, }; AutoCSer.Net.TcpServer.ReturnType _returnType_ = _socket_.WaitCall(_c2, ref _wait_, ref _inputParameter_); if (_returnType_ == AutoCSer.Net.TcpServer.ReturnType.Success) { return; } throw new Exception(_returnType_.ToString()); } } finally { if (_wait_ != null) { AutoCSer.Net.TcpServer.AutoWaitReturnValue.PushNotNull(_wait_); } } throw new Exception(AutoCSer.Net.TcpServer.ReturnType.ClientException.ToString()); } }