Hallo liebe Forum,
ich habe ein Proxy-Code geschrieben. Der Proxy soll Client-Anfragen annehemn, analysieren und falls sie eine Schreiboperation ist, an drei dahinter stehende Server weiterleiten (bei Lese-Zugriffe werden sie nur an einen Master-Server weitergeleitet ). Die Antwort der Server werden analysiert und an Client zurückgeschickt, oder verworfen.
Nun habe ich es so programmiert, dass der Proxy einen Server-Socket zum Hörchen öffnet. Außerdem öffnet der Proxy vier weitere Client-Sockets (für Master-Server und drei weitere Slave-Server).
Sobald ein Client sich anmeldet, wird dann accepted und ein Client-Socket geöffnet. ein Thread gestartet un die Nachrichten zu Server schickt und Antworten an Client zurück... Das Problem ist nun, dass der erste Client die Packete schickt und zurückbekommt, der zweite kann weder Packete schicken noch sie zurückbekommen. der Thread hängt auf der Stelle, wo die Packete analysiert werden.
Meine Frage ist:
kann es sein, dass ein einziger Clientsockt (pro Server) nicht ausreicht und jeder Client einen neuen Socket zum Nachrichten braucht?
Ich bedanke mich ganz herzlich für antworten.
Nina
P.S. Server funktionieren richtig (der Proxy jedoch nicht), das habe ich mit wireshark geprüft
ich habe ein Proxy-Code geschrieben. Der Proxy soll Client-Anfragen annehemn, analysieren und falls sie eine Schreiboperation ist, an drei dahinter stehende Server weiterleiten (bei Lese-Zugriffe werden sie nur an einen Master-Server weitergeleitet ). Die Antwort der Server werden analysiert und an Client zurückgeschickt, oder verworfen.
Nun habe ich es so programmiert, dass der Proxy einen Server-Socket zum Hörchen öffnet. Außerdem öffnet der Proxy vier weitere Client-Sockets (für Master-Server und drei weitere Slave-Server).
Sobald ein Client sich anmeldet, wird dann accepted und ein Client-Socket geöffnet. ein Thread gestartet un die Nachrichten zu Server schickt und Antworten an Client zurück... Das Problem ist nun, dass der erste Client die Packete schickt und zurückbekommt, der zweite kann weder Packete schicken noch sie zurückbekommen. der Thread hängt auf der Stelle, wo die Packete analysiert werden.
Meine Frage ist:
kann es sein, dass ein einziger Clientsockt (pro Server) nicht ausreicht und jeder Client einen neuen Socket zum Nachrichten braucht?
Ich bedanke mich ganz herzlich für antworten.
Nina
P.S. Server funktionieren richtig (der Proxy jedoch nicht), das habe ich mit wireshark geprüft