示例#1
0
        /// <summary>
        /// Creates and configures the sockets by setting the ports, address and Event Handlers
        /// </summary>
        protected void ConfigureSockets()
        {
            //this.FormClosing += new FormClosingEventHandler(VisionForm_FormClosing);
            //PortIn = 2070;
            //PortOut = 2300;

            if ((tcpServer != null) && (tcpServer.Started))
            {
                tcpServer.Stop();
            }
            tcpServer                     = new SocketTcpServer(portIn);
            tcpServer.BufferSize          = DEFAULT_BUFFER_SIZE;
            tcpServer.DataReceived       += new TcpDataReceivedEventHandler(socketTCPIn_DataReceived);
            tcpServer.ClientConnected    += new TcpClientConnectedEventHandler(socketTCPIn_ClientConnected);
            tcpServer.ClientDisconnected += new TcpClientDisconnectedEventHandler(socketTCPIn_ClientDisconnected);

            if ((tcpClient != null) && (tcpClient.IsConnected))
            {
                tcpClient.Disconnect();
            }
            if (portIn != portOut)
            {
                tcpClient            = new SocketTcpClient(remoteServerAddress, portOut);
                tcpClient.BufferSize = DEFAULT_BUFFER_SIZE;

                tcpClient.Connected    += new TcpClientConnectedEventHandler(socketTCPOut_Connected);
                tcpClient.DataReceived += new TcpDataReceivedEventHandler(socketTCPOut_DataReceived);
                tcpClient.Disconnected += new TcpClientDisconnectedEventHandler(socketTCPOut_Disconnected);
            }

            //mainThread.Start();
        }
示例#2
0
        /// <summary>
        /// 向客户端发送命令
        /// </summary>
        /// <param name="data"></param>
        private void SendData(object data)
        {
            List <ClientModel> list = this.tcpServer_Watchdog.ClientSocketList;

            if (list == null || list.Count == 0)
            {
                return;
            }

            foreach (ClientModel clientModel in list)
            {
                if (clientModel == null)
                {
                    continue;
                }
                if (clientModel.ClientStyle == ClientStyle.WebSocket)
                {
                    SocketTcpServer.SendToWebClient(clientModel, data.ToString());
                }
                else
                {
                    this.tcpServer_Watchdog.SendData(clientModel, data.ToString());
                }
            }
        }
示例#3
0
 private void InitializeSockets()
 {
     this.server = new SocketTcpServer(2300);
     this.server.DataReceived       += new TcpDataReceivedEventHandler(server_DataReceived);
     this.server.ClientConnected    += new TcpClientConnectedEventHandler(server_ClientConnected);
     this.server.ClientDisconnected += new TcpClientDisconnectedEventHandler(server_ClientDisconnected);
     this.server.Start();
 }
示例#4
0
 private void Initialize()
 {
     modules = new ModuleCollection(this, 6);
     server  = new SocketTcpServer(port);
     server.ClientConnected    += new TcpClientConnectedEventHandler(server_ClientConnected);
     server.ClientDisconnected += new TcpClientConnectedEventHandler(server_ClientDisconnected);
     server.DataReceived       += new TcpDataReceivedEventHandler(server_DataReceived);
 }
        /// <summary>
        /// Disconnects from remote application and stops command management system.
        /// If the ModuleBlackboardServer is not running, it has no effect.
        /// </summary>
        public void Stop()
        {
            int attempt = 0;

            if (!running)
            {
                return;
            }
            stopMainThread = true;

            if (Simulation != SimulationOptions.SimulationDisabled)
            {
                if (Stopped != null)
                {
                    Stopped(this);
                }
                if (StatusChanged != null)
                {
                    StatusChanged(this);
                }
                return;
            }

            if (mainThread != null)
            {
                //while (mainThread.IsAlive && (attempt++ < 3))
                //	Thread.Sleep(250);
                mainThread.Abort();
                mainThread.Join();
                mainThread = null;
            }

            ExecuteStopActions();

            attempt = 0;
            while (server.Started && (attempt++ < 3))
            {
                server.Stop();
                Thread.Sleep(10);
            }

            server  = null;
            running = false;

            if (Stopped != null)
            {
                Stopped(this);
            }
            if (StatusChanged != null)
            {
                StatusChanged(this);
            }
        }
示例#6
0
        public Form1()
        {
            InitializeComponent();
            server = new SocketTcpServer();
            client = new SocketTcpClient();
            client.ConnectionTimeOut = 1000;
            updateServerConsoleEH    = new EventHandler(updateServerConsole);
            updateClientConsoleEH    = new EventHandler(updateClientConsole);

            server.ClientConnected    += new TcpClientConnectedEventHandler(server_ClientConnected);
            server.ClientDisconnected += new TcpClientDisconnectedEventHandler(server_ClientDisconnected);
            server.DataReceived       += new TcpDataReceivedEventHandler(server_DataReceived);

            client.Connected    += new TcpClientConnectedEventHandler(client_Connected);
            client.DataReceived += new TcpDataReceivedEventHandler(client_DataReceived);
            client.Disconnected += new TcpClientDisconnectedEventHandler(client_Disconnected);
        }
示例#7
0
        /// <summary>
        /// Constructor. Inicializa instancias de la clase ConnectionManagerTester
        /// </summary>
        public SocketServerTester()
        {
            /*
             * Se inicializa el SocketTcpServer. Bajo el esquema actual
             * todas las aplicaciones son servicores y es el blackboard el que
             * se conecta a ellas (asi solo es necesario configurar una
             * aplicacion). Se le indica puerto de conexio. El modulo y puerto
             * deben ser configurados en el blackboard
             */
            server = new SocketTcpServer(2000);
            server.ClientConnected    += new TcpClientConnectedEventHandler(server_ClientConnected);
            server.ClientDisconnected += new TcpClientDisconnectedEventHandler(server_ClientDisconnected);
            server.DataReceived       += new TcpDataReceivedEventHandler(server_DataReceived);

            // Configuro el reloj
            sw = new System.Diagnostics.Stopwatch();
        }
 /// <summary>
 /// Initializes the socket
 /// </summary>
 private void setupSocket()
 {
     server = new SocketTcpServer(Port);
     server.DataReceived += new TcpDataReceivedEventHandler(client_DataReceived);
 }