Thread IPC
(12 answers)
Opened by weismat at 2007-06-14 12:40
Vielleicht kommt der Server einfach nicht mehr mit, denn er muss ja die
Requests auch verarbeiten und bis er den nächsten Request aus der Schlange nehmen kann, vergeht ja Zeit. Vielleicht lässt sich das Problem lösen, indem du den Server einfach mit fork vermehrst und somit die Arbeit auf mehrere Server aufteilst. Alle Server lauschen dann auf den gleichen Socket und nehmen Requests an. Server, die nichts mehr zu tun haben, lauschen dann erneut auf das Socket. So bildet sich eine Queue von Servern. Hier ein Client-Server-Beispiel: server.pl Code: (dl
)
1 use strict; client.pl Code: (dl
)
1 use strict; Starte den Server: server 6563 initialized server 6564 forked server 6565 forked server 6566 forked server 6567 forked server 6568 forked alle Server warten dann auf Requests. Dann starte den Client: Client 6574 initialized Client 6577 forked Client 6578 forked Client 6579 forked Client 6580 forked Client 6581 forked Client 6577 connected to server Client 6578 connected to server Client 6579 connected to server Client 6580 connected to server Client 6581 connected to server Client 6574 connected to server Client 6577 connected to server Client 6578 connected to server Client 6579 connected to server Client 6580 connected to server Client 6581 connected to server Client 6574 connected to server Client 6577 connected to server Client 6578 connected to server Client 6579 connected to server Client 6580 connected to server Client 6581 connected to server Client 6574 connected to server Client 6577 connected to server Client 6578 connected to server Client 6579 connected to server Client 6580 connected to server Client 6581 connected to server Client 6574 connected to server und die Server verarbeiten alle schön zusammen (nacheinander) die Requests: Server 6564 received request from: 6577 Server 6564 received request from: 6578 Server 6565 received request from: 6579 Server 6566 received request from: 6580 Server 6567 received request from: 6581 Server 6568 received request from: 6574 Server 6563 received request from: 6577 Server 6564 received request from: 6578 Server 6565 received request from: 6579 Server 6565 received request from: 6580 Server 6565 received request from: 6574 Server 6566 received request from: 6581 Server 6563 received request from: 6577 Server 6564 received request from: 6578 Server 6567 received request from: 6579 Server 6567 received request from: 6580 Server 6565 received request from: 6581 Server 6566 received request from: 6574 Server 6563 received request from: 6577 Server 6564 received request from: 6578 Server 6568 received request from: 6579 Server 6568 received request from: 6580 Server 6567 received request from: 6581 Server 6565 received request from: 6574\n\n <!--EDIT|opi|1182248526--> What is a good module? That's hard to say.
What is good code? That's also hard to say. One man's Thing of Beauty is another's man's Evil Hack. |