Aviseringar
Rensa alla

har probläm med en klient/server chatt i java


Ämnesstartare

servern ska kunna ta emot flera connections, men man startar den att lyssna på en specifik port, och jag fattar inte hur jag ska få nya klienter, med tanke på att första klienten som connectar stjäl den porten [tard]


   
Citera
Ämnesstartare

När en klient ansluter till dig knackar den först på porten du lyssnar på och säger "hej, jag vill ansluta." Då får den en ny port, nånstans mellan 1024 och 65535, som den sedan använder för all kommunikation under sessionen.

Tänk dig att du har ett hyreshus där varje hyresgäst har en privat ingång. Enda gången du måste använda huvudingången är när du ska be vaktmästaren om nyckel till din privata ingång. Porten du lyssnar på är vaktmästaren, och de privata ingångarna de portar som dina klienter slussas vidare till efter att anslutningen är fullbordad.

Detta förutsätter att du använder TCP, vilket du verkligen borde göra för den typen av program.

EDIT: Java är f ö shit sux fail, använd ett riktigt språk (*host*Haskell*host*) istället.


   
SvaraCitera
Ämnesstartare

KID_IS_BACK:

När en klient ansluter till dig knackar den först på porten du lyssnar på och säger "hej, jag vill ansluta." Då får den en ny port, nånstans mellan 1024 och 65535, som den sedan använder för all kommunikation under sessionen.

jo, accept(...) returnerar en socket med detta, dock får jag som sagt bind exception. hmm..


   
SvaraCitera
Ämnesstartare

variabel:

jo, accept(...) returnerar en socket med detta, dock får jag som sagt bind exception. hmm..

Din lyssnande socket lyssnar redan, du ska inte binda om den. Skicka bara vidare socketen du får tillbaka av accept till en workertråd eller liknande och låt den lyssnande socketen vara, så funkar saker och ting.

Får du inte rätsida på det kan jag titta på koden och tala om vad du gör fel, under förutsättning att du postar koden innan jag går och lägger mig om sex minuter.


   
SvaraCitera
Ämnesstartare

KID_IS_BACK:

under förutsättning att du postar koden innan jag går och lägger mig om sex minuter

...tror inte det var inom rätt tid ;P

har fått en nullpointerexception nu som jag inte vet vilken det hör till, men jag återkommer kanske om jag behöver hjälp senare, ska sova tror jag. pÖzZz


   
SvaraCitera
Ämnesstartare

Tråden låst på grund av inaktivitet


   
SvaraCitera