public void CancelCall(object sender)
 {
     StartFrame = null;
     EndFrame   = null;
     CloseHandler?.Invoke(this, null);
     Close();
 }
Ejemplo n.º 2
0
		/// <summary> 
		/// Constructor for client support
		/// </summary>
		/// <param name="sizeOfRawBuffer"> The size of the raw buffer </param>
		/// <param name="userArg"> A Reference to the Users arguments </param>
		/// <param name="messageHandler">  Reference to the user defined message handler method </param>
		/// <param name="closeHandler">  Reference to the user defined close handler method </param>
		/// <param name="errorHandler">  Reference to the user defined error handler method </param>
		public SocketClient(int sizeOfRawBuffer, object userArg, 
			MessageHandler messageHandler, CloseHandler closeHandler, 
			ErrorHandler errorHandler, ConnectHandler connectHandler)
		{
			// Create the raw buffer
			this.SizeOfRawBuffer = sizeOfRawBuffer;
			this.RawBuffer  = new Byte[this.SizeOfRawBuffer];

			// Save the user argument
			this.userArg = userArg;

			// Set the handler methods
			this.messageHandler = messageHandler;
			this.closeHandler = closeHandler;
			this.errorHandler = errorHandler;
            this.connectHandler = connectHandler;

			// Set the async socket method handlers
			this.callbackReadMethod  = new AsyncCallback(ReceiveComplete);
			this.callbackWriteMethod = new AsyncCallback(SendComplete);
            this.callbackWriteHeadMethod = new AsyncCallback(SendHead);

			this.m_Connected = true;
			// Init the dispose flag
			this.disposed = false;
		}
Ejemplo n.º 3
0
        /// <summary> Constructor for SocketServer Suppport </summary>
        /// <param name="socketServer"> A Reference to the parent SocketServer </param>
        /// <param name="clientSocket"> The Socket object we are encapsulating </param>
        /// <param name="socketListArray"> The index of the SocketServer Socket List Array </param>
        /// <param name="ipAddress"> The IpAddress of the remote server </param>
        /// <param name="port"> The Port of the remote server </param>
        /// <param name="messageHandler"> Reference to the user defined message handler function </param>
        /// <param name="closeHandler"> Reference to the user defined close handler function </param>
        /// <param name="errorHandler"> Reference to the user defined error handler function </param>
        /// <param name="sizeOfRawBuffer"> The size of the raw buffer </param>
        /// <param name="userArg"> A Reference to the Users arguments </param>
        public SocketClient(SocketServer socketServer, Socket clientSocket,
                            string ipAddress, int port, int sizeOfRawBuffer,
                            object userArg, MessageHandler messageHandler, CloseHandler closeHandler,
                            ErrorHandler errorHandler)
            : this(sizeOfRawBuffer, userArg, messageHandler, closeHandler, errorHandler)
        {
            // Set reference to SocketServer
            this.socketServer = socketServer;

            // Init the socket references
            this.clientSocket = clientSocket;

            // Set the Ipaddress and Port
            this.ipAddress = ipAddress;
            this.port      = port;

            // Init the NetworkStream reference
            this.networkStream = new NetworkStream(this.clientSocket);

            // Set these socket options
            this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket,
                                              System.Net.Sockets.SocketOptionName.ReceiveBuffer, this.receiveBufferSize);
            this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket,
                                              System.Net.Sockets.SocketOptionName.SendBuffer, this.sendBufferSize);
            this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket,
                                              System.Net.Sockets.SocketOptionName.DontLinger, 1);
            this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Tcp,
                                              System.Net.Sockets.SocketOptionName.NoDelay, 1);

            // Wait for a message
            Receive();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="game">The currently running Game object.</param>
        /// <param name="guiManager">GUIManager that this control is part of.</param>
        public PopUpMenu(Game game, GUIManager guiManager)
            : base(game, guiManager)
        {
            this.menuItems    = new List <MenuItem>();
            this.isPopUpShown = false;

            #region Create Child Controls
            this.marginImage = new Image(game, guiManager);
            #endregion

            #region Add Child Controls
            base.Add(this.marginImage);
            #endregion

            #region Set Properties
            CanHaveFocus = true;
            #endregion

            #region Set Default Properties
            ButtonMargin    = defaultButtonMargin;
            ImageMargin     = defaultImageMargin;
            Skin            = defaultSkin;
            MarginImageSkin = defaultMarginImageSkin;
            #endregion

            #region Event Handlers
            Close += new CloseHandler(OnClose);
            #endregion
        }
Ejemplo n.º 5
0
 private void btnTest_Click(object sender, EventArgs e)
 {
     Thread thdSub = new Thread(new ThreadStart(ExecMain));
     thdSub.Start();
     xf = new XtraForm1();
     this.processingFormClose += new CloseHandler(xf.ExecClose);
     xf.ShowDialog();
 }
Ejemplo n.º 6
0
		protected virtual SocketClient AcceptedSocketClient( SocketServer socketServer, 
			Socket clientSocket, string ipAddress, int port, 
			int sizeOfRawBuffer, object userArg, MessageHandler messageHandler, 
			CloseHandler closeHandler, ErrorHandler errorHandler, ConnectHandler connectHandler)
		{
			return new SocketClient( socketServer, clientSocket,
				ipAddress, port, sizeOfRawBuffer, userArg, messageHandler,
                closeHandler, errorHandler, connectHandler);
		}
Ejemplo n.º 7
0
 public SocketIO(Socket client, int bufferSize, MessageHandler mh, CloseHandler ch, ErrorHandler eh, string ip, int port)
     : this(bufferSize, mh, ch, eh)
 {
     this.ip = ip;
     this.port = port;
     clientSocket = client;
     ns = tcpClient.GetStream();
     Receive();
 }
Ejemplo n.º 8
0
 protected virtual SocketClient AcceptedSocketClient(SocketServer socketServer,
                                                     Socket clientSocket, string ipAddress, int port,
                                                     int sizeOfRawBuffer, object userArg, MessageHandler messageHandler,
                                                     CloseHandler closeHandler, ErrorHandler errorHandler)
 {
     return(new SocketClient(socketServer, clientSocket,
                             ipAddress, port, sizeOfRawBuffer, userArg, messageHandler,
                             closeHandler, errorHandler));
 }
Ejemplo n.º 9
0
 public SocketIO(int bufferSize, MessageHandler mh, CloseHandler ch, ErrorHandler eh)
 {
     ns = null;
     tcpClient = null;
     clientSocket = null;
     messageHandler = mh;
     closeHandler = ch;
     errorHandler = eh;
     disposed = false;
     this.bufferSize = bufferSize;
     receiveBuffer = new Byte[this.bufferSize];
 }
Ejemplo n.º 10
0
 private void CloseForm()
 {
     if (this.InvokeRequired)
     {
         CloseHandler ch = new CloseHandler(CloseForm);
         this.BeginInvoke(ch);
     }
     else
     {
         Close();
     }
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Overloaded constructor for client support
 /// </summary>
 /// <param name="sendBufferSize"></param>
 /// <param name="receiveBufferSize"></param>
 /// <param name="sizeOfRawBuffer"> The size of the raw buffer </param>
 /// <param name="userArg"> A Reference to the Users arguments </param>
 /// <param name="messageHandler">  Reference to the user defined message handler method </param>
 /// <param name="closeHandler">  Reference to the user defined close handler method </param>
 /// <param name="errorHandler">  Reference to the user defined error handler method </param>
 public SocketClient(int sendBufferSize, int receiveBufferSize,
                     int sizeOfRawBuffer,
                     object userArg,
                     MessageHandler messageHandler,
                     CloseHandler closeHandler,
                     ErrorHandler errorHandler
                     ) : this(sizeOfRawBuffer, userArg, messageHandler, closeHandler, errorHandler)
 {
     //Set the size of the send/receive buffers
     this.sendBufferSize    = sendBufferSize;
     this.receiveBufferSize = receiveBufferSize;
 }
Ejemplo n.º 12
0
 public void CloseProgressBar()
 {
     if (ub.InvokeRequired)
     {
         CloseHandler ch = new CloseHandler(CloseProgressBar);
         ub.BeginInvoke(ch);
     }
     else
     {
         ub.Close();
     }
 }
Ejemplo n.º 13
0
 public SocketListener(string listenerIP, int listenerPort, MessageHandler mh, CloseHandler ch, ErrorHandler eh, AcceptHandler ah, int bufferSize, int currentClients)
 {
     this.listenerIp = listenerIP;
     this.listenerPort = listenerPort;
     errorHandler = eh;
     acceptHandler = ah;
     listener = null;
     accept = null;
     disposed = false;
     criticalSection = new Object();
     this.currentClients = currentClients;
     this.bufferSize = bufferSize;
 }
Ejemplo n.º 14
0
 // Checks if doorState is open, so it can be closed
 public void Close()
 {
     Console.WriteLine("Door Closing");
     if (_state == DoorState.Open)
     {
         _state = DoorState.Closed;
         CloseHandler?.Invoke(this, EventArgs.Empty);
         Console.WriteLine("Door Is now Closed");
     }
     else
     {
         Console.WriteLine("Could not Close door: ", _state);
     }
 }
Ejemplo n.º 15
0
        /// <summary>
        /// 释放资源
        /// </summary>
        /// <param name="disposing">是否也释放托管资源</param>
        protected virtual void Dispose(bool disposing)
        {
            this.Shutdown();
            this.StreamReader.Stream.Dispose();

            if (disposing)
            {
                this.socketRoot              = null;
                this.Socket                  = null;
                this.Tag                     = null;
                this.StreamReader            = null;
                this.CloseHandler            = null;
                this.DisconnectHandler       = null;
                this.ReceiveCompletedHandler = null;
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="game">The currently running Game object.</param>
        /// <param name="guiManager">GUIManager that this control is part of.</param>
        public PopUpMenu(Game game, GUIManager guiManager)
            : base(game, guiManager)
        {
            this.menuItems    = new List <MenuItem>();
            this.isPopUpShown = false;

            #region Set Properties
            CanHaveFocus = true;
            #endregion

            #region Set Default Properties
            HMargin = defaultHMargin;
            VMargin = defaultVMargin;
            Skin    = defaultSkin;
            #endregion

            #region Event Handlers
            Close += new CloseHandler(OnClose);
            #endregion
        }
Ejemplo n.º 17
0
        /// <summary> Constructor for client support </summary>
        /// <param name="bufferSize"> The size of the raw buffer </param>
        /// <param name="userData"> A Reference to the Users arguments </param>
        /// <param name="messageHandler"> Reference to the user defined message handler method </param>
        /// <param name="closeHandler"> Reference to the user defined close handler method </param>
        /// <param name="errorHandler"> Reference to the user defined error handler method </param>
        public ClientSocket(Int32 bufferSize, Object userData, MessageHandler messageHandler, CloseHandler
                            closeHandler, ErrorHandler errorHandler)
        {
            //create the raw buffer
            BufferSize = bufferSize;
            Buffer     = new Byte[BufferSize];

            //save the user argument
            UserData = userData;

            //set the handler methods
            _messageHandler = messageHandler;
            _closeHandler   = closeHandler;
            _errorHandler   = errorHandler;

            //set the async socket method handlers
            _callbackReadMethod  = ReceiveComplete;
            _callbackWriteMethod = SendComplete;

            //init the dispose flag
            _isDisposed = false;
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Constructor for client support
        /// </summary>
        /// <param name="sizeOfRawBuffer"> The size of the raw buffer </param>
        /// <param name="userArg"> A Reference to the Users arguments </param>
        /// <param name="messageHandler">  Reference to the user defined message handler method </param>
        /// <param name="closeHandler">  Reference to the user defined close handler method </param>
        /// <param name="errorHandler">  Reference to the user defined error handler method </param>
        public SocketClient(int sizeOfRawBuffer, object userArg,
                            MessageHandler messageHandler, CloseHandler closeHandler,
                            ErrorHandler errorHandler)
        {
            // Create the raw buffer
            this.SizeOfRawBuffer = sizeOfRawBuffer;
            this.RawBuffer       = new Byte[this.SizeOfRawBuffer];

            // Save the user argument
            this.userArg = userArg;

            // Set the handler methods
            this.messageHandler = messageHandler;
            this.closeHandler   = closeHandler;
            this.errorHandler   = errorHandler;

            // Set the async socket method handlers
            this.callbackReadMethod  = new AsyncCallback(ReceiveComplete);
            this.callbackWriteMethod = new AsyncCallback(SendComplete);

            this.m_Connected = true;
            // Init the dispose flag
            this.disposed = false;
        }
Ejemplo n.º 19
0
		/// <summary> 
		/// Function to start the SocketServer 
		/// </summary>
		/// <param name="ipAddress"> The IpAddress to listening on </param>
		/// <param name="port"> The Port to listen on </param>
		/// <param name="sizeOfRawBuffer"> Size of the Raw Buffer </param>
		/// <param name="userArg"> User supplied arguments </param>
		/// <param name="messageHandler"> Function pointer to the user MessageHandler function </param>
		/// <param name="acceptHandler"> Function pointer to the user AcceptHandler function </param>
		/// <param name="closeHandler"> Function pointer to the user CloseHandler function </param>
		/// <param name="errorHandler"> Function pointer to the user ErrorHandler function </param>
		public void Start(string ipAddress, int port, int sizeOfRawBuffer, object userArg,
			MessageHandler messageHandler, AcceptHandler acceptHandler, CloseHandler closeHandler, 
			ErrorHandler errorHandler)
		{
			// Is an AcceptThread currently running
			if (this.acceptThread == null)
			{
				// Set connection values
				this.IpAddress = ipAddress;
				this.Port = port;
        
				// Save the Handler Functions
				this.messageHandler = messageHandler;
				this.acceptHandler = acceptHandler;
				this.closeHandler = closeHandler;
				this.errorHandler = errorHandler;
        
				// Save the buffer size and user arguments
				this.SizeOfRawBuffer = sizeOfRawBuffer;
				this.UserArg = userArg;
        
				// Start the listening thread if one is currently not running
				ThreadStart tsThread = new ThreadStart(AcceptThread);
				this.acceptThread = new Thread(tsThread);
				this.acceptThread.Name = "Notification.Accept";
				this.acceptThread.Start();
			}
		}
Ejemplo n.º 20
0
		/// <summary> Constructor for SocketServer Suppport </summary>
		/// <param name="socketServer"> A Reference to the parent SocketServer </param>
		/// <param name="clientSocket"> The Socket object we are encapsulating </param>
		/// <param name="socketListArray"> The index of the SocketServer Socket List Array </param>
		/// <param name="ipAddress"> The IpAddress of the remote server </param>
		/// <param name="port"> The Port of the remote server </param>
		/// <param name="messageHandler"> Reference to the user defined message handler function </param>
		/// <param name="closeHandler"> Reference to the user defined close handler function </param>
		/// <param name="errorHandler"> Reference to the user defined error handler function </param>
		/// <param name="sizeOfRawBuffer"> The size of the raw buffer </param>
		/// <param name="userArg"> A Reference to the Users arguments </param>
		public SocketClient(SocketServer socketServer, Socket clientSocket, 
			string ipAddress, int port, int sizeOfRawBuffer, 
			object userArg, MessageHandler messageHandler, 	CloseHandler closeHandler, 
			ErrorHandler errorHandler, ConnectHandler connectHandler)
			:this(sizeOfRawBuffer,userArg, messageHandler,closeHandler,errorHandler, connectHandler)
		{

			// Set reference to SocketServer
			this.socketServer = socketServer;

			// Init the socket references
			this.clientSocket    = clientSocket;

			// Set the Ipaddress and Port
			this.ipAddress = ipAddress;
			this.port = port;

			// Init the NetworkStream reference
			this.networkStream = new NetworkStream(this.clientSocket);

			// Set these socket options
			this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket, 
				System.Net.Sockets.SocketOptionName.ReceiveBuffer, this.receiveBufferSize);
			this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket, 
				System.Net.Sockets.SocketOptionName.SendBuffer, this.sendBufferSize);
			this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket, 
				System.Net.Sockets.SocketOptionName.DontLinger, 1);
			this.clientSocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Tcp,    
				System.Net.Sockets.SocketOptionName.NoDelay, 1);
			
			// Wait for a message
			Receive();
		}
Ejemplo n.º 21
0
		/// <summary> 
		/// Overloaded constructor for client support
		/// </summary>
		/// <param name="sendBufferSize"></param>
		/// <param name="receiveBufferSize"></param>
		/// <param name="sizeOfRawBuffer"> The size of the raw buffer </param>
		/// <param name="userArg"> A Reference to the Users arguments </param>
		/// <param name="messageHandler">  Reference to the user defined message handler method </param>
		/// <param name="closeHandler">  Reference to the user defined close handler method </param>
		/// <param name="errorHandler">  Reference to the user defined error handler method </param>
		public SocketClient(int sendBufferSize, int receiveBufferSize, 
			int sizeOfRawBuffer, 
			object userArg, 
			MessageHandler messageHandler,	
			CloseHandler closeHandler, 
			ErrorHandler errorHandler,
            ConnectHandler conenectHandler
            )
            : this(sizeOfRawBuffer, userArg, messageHandler, closeHandler, errorHandler, conenectHandler)
		{
			//Set the size of the send/receive buffers
			this.sendBufferSize = sendBufferSize;
			this.receiveBufferSize = receiveBufferSize;
		}
Ejemplo n.º 22
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="game">The currently running Game object.</param>
        /// <param name="guiManager">GUIManager that this control is part of.</param>
        public PopUpMenu(Game game, GUIManager guiManager)
            : base(game, guiManager)
        {
            this.menuItems = new List<MenuItem>();
            this.isPopUpShown = false;

            #region Set Properties
            CanHaveFocus = true;
            #endregion

            #region Set Default Properties
            HMargin = defaultHMargin;
            VMargin = defaultVMargin;
            Skin = defaultSkin;
            #endregion

            #region Event Handlers
            Close += new CloseHandler(OnClose);
            #endregion
        }
Ejemplo n.º 23
0
        private void Dispose()
        {
            if (!disposed) {
                if (accept != null)
                    Stop();
                GC.Collect();
                GC.WaitForPendingFinalizers();

                acceptHandler = null;
                errorHandler = null;
                messageHandler = null;
                closeHandler = null;

                disposed = true;
            }
        }
 public void ConfirmCall(object sender)
 {
     CloseHandler?.Invoke(this, null);
     Close();
 }
Ejemplo n.º 25
0
 public void RegisterCloseCallback(CloseHandler _handler)
 {
     closeHandler = _handler;
 }
Ejemplo n.º 26
0
        /// <summary>
        /// Function to start the SocketServer
        /// </summary>
        /// <param name="ipAddress"> The IpAddress to listening on </param>
        /// <param name="port"> The Port to listen on </param>
        /// <param name="sizeOfRawBuffer"> Size of the Raw Buffer </param>
        /// <param name="userArg"> User supplied arguments </param>
        /// <param name="messageHandler"> Function pointer to the user MessageHandler function </param>
        /// <param name="acceptHandler"> Function pointer to the user AcceptHandler function </param>
        /// <param name="closeHandler"> Function pointer to the user CloseHandler function </param>
        /// <param name="errorHandler"> Function pointer to the user ErrorHandler function </param>
        public void Start(string ipAddress, int port, int sizeOfRawBuffer, object userArg,
                          MessageHandler messageHandler, AcceptHandler acceptHandler, CloseHandler closeHandler,
                          ErrorHandler errorHandler)
        {
            // Is an AcceptThread currently running
            if (this.acceptThread == null)
            {
                // Set connection values
                this.IpAddress = ipAddress;
                this.Port      = port;

                // Save the Handler Functions
                this.messageHandler = messageHandler;
                this.acceptHandler  = acceptHandler;
                this.closeHandler   = closeHandler;
                this.errorHandler   = errorHandler;

                // Save the buffer size and user arguments
                this.SizeOfRawBuffer = sizeOfRawBuffer;
                this.UserArg         = userArg;

                // Start the listening thread if one is currently not running
                ThreadStart tsThread = new ThreadStart(AcceptThread);
                this.acceptThread      = new Thread(tsThread);
                this.acceptThread.Name = "Notification.Accept";
                this.acceptThread.Start();
            }
        }
Ejemplo n.º 27
0
        private void Dispose()
        {
            disposed = true;
            Disconnect();

            messageHandler = null;
            errorHandler = null;
            closeHandler = null;
        }
Ejemplo n.º 28
0
 private void OpenProcessingForm()
 {
     xf = new XtraForm1();
     this.processingFormClose += new CloseHandler(xf.ExecClose);
     xf.ShowDialog();
 }