public override void server()
        {
            this.TraceFlag = true;

            Trace.WriteLineIf(this.TraceFlag == true, this.GlobalRank + ": BEFORE CREATE SOCKETS !!! " + this.ThisFacet + " / " + this.ThisFacetInstance + " : " + this.CID.getInstanceName());

            createSockets();

            Trace.WriteLineIf(this.TraceFlag == true, this.GlobalRank + ": AFTER CREATED SOCKETS !!! " + this.ThisFacet + " / " + this.ThisFacetInstance + " : " + this.CID.getInstanceName());

            synchronizer_monitor = new SynchronizerMonitor(this, client_socket_facet, this.ThisFacetInstance, this.GlobalRank, this.CID.getInstanceName());

            sockets_initialized_flag.Set();

            // Create the threads that will listen the sockets for each other facet.
            thread_receive_requests = new Dictionary <int, Thread>();

            foreach (int facet in this.Facet.Keys)
            {
                if (facet != this.ThisFacetInstance)
                {
                    Trace.WriteLineIf(this.TraceFlag == true, "loop create thread_receive_requests: " + facet + " / " + this.ThisFacetInstance);
                    Socket server_socket = server_socket_facet [facet];
                    thread_receive_requests[facet] = new Thread(new ThreadStart(() => synchronizer_monitor.serverReceiveRequests(facet, server_socket)));
                    thread_receive_requests[facet].Start();
                }
            }

            while (true)
            {
                Thread.Sleep(100);
                synchronizer_monitor.serverReadRequest();
            }
        }
示例#2
0
        public override void server()
        {
            createSockets();

            Console.WriteLine("CREATED SOCKETS !!!");

            synchronizer_monitor = new SynchronizerMonitor(this.ThisFacet, client_socket_facet);
            //sockets_initialized_flag = true;
            sockets_initialized_flag.Set();

            // Create the threads that will listen the sockets for each other facet.
            thread_receive_requests = new Thread[server_socket_facet.Count];
            for (int facet = 0; facet < server_socket_facet.Count; facet++)
            {
                if (facet != this.ThisFacet)
                {
                    Socket server_socket = server_socket_facet [facet];
                    thread_receive_requests[facet] = new Thread(new ThreadStart(() => synchronizer_monitor.serverReceiveRequests(server_socket)));
                    thread_receive_requests[facet].Start();
                }
            }

            while (true)
            {
                synchronizer_monitor.serverReadRequest();
            }
        }