clzola
20.1.2011, 22:17
Jezik C/C++. Linux Ubuntu 10.10
Pokusavam da napravim Server i Client. Na jedan server se mogu konektovati najvise 4 klienta. E sad, uspijem da napravim Server koji ce da primi nick od svakog klienta i zatim svakom klientu da posalje te nikove.
Medjutim nailazim na problem kada treba da ova 4 clienta medjusobno komuniciraju.
Server:
http://paste2.org/p/1202641
Client:
http://paste2.org/p/1202642
Kada upalim server povezem ova 4 klienta na server i kada treba da se razmeni poruka izmedju klienata desi se sledece
1. Client
-posalje poruku OK!
- primi poruku OK!
- primi poruku OK
- error in recv (kada treba da primi od 4 klienta)
2. Client
- posalje poruku OK!
- primi poruku OK
- primi poruku OK
- primi poruku OK
- greska u primanju poruke recv
3. Client
- posalje OK
- primi OK
- primi OK
- primi OK
- Exit OK
4. Client isto kao treci :////
Sad ne kapiram gdje grijesim sa kodom...
napravio sam u clientu
while perlju kod koje ako je tvoj Index onda salji, ako nije onda primas, a svoj index dobijas kada se konektujes na server
/*
Index je na pocetku 1, znaci da je na redu client 1. Client 1 provjerava da li je njegov Index jednak trenutnom Indexu i onda u
odnosu na to salje. Drugi klient provjerava da li je njegov Index jednak jedinici, kako se drugi klient povezao kao 2. na server on je
dobio index 2 i smjesten je u variablu yourIndex prema tome on ce da ceka poruku koja ce biti poslata od client 1.
I sada kada primi poruku client 2, opet provjerava Index == yourIndex,
kako se Index uvecao za jedan on isnozi 2 i sada Client2 salje poruku...
Tako i ostali clienti
*/
while(Index < 5) // da predje sva 4 klienta
{
if(Index == yourIndex) { send(); }
else { recv(); }
Index++;
}
Kasnije cu da pokusam da ovaj klient ubacim u igricu koju radim... (Zato mi ovo treba).Nije toliko veliki prioritet da bas sve shvatim oko Internet programiranja. Zelim samo da zavrsim igru koju sam poceo da radim (imam preveliku zelju da je napravim). Kopirao sam kod servera i clienta iz tutoriala, i samo mijenjam ovo za recv i send, to jeste samo pravim petlje i odredjujem kada sta treba da se salje...
Help ...
Pokusavam da napravim Server i Client. Na jedan server se mogu konektovati najvise 4 klienta. E sad, uspijem da napravim Server koji ce da primi nick od svakog klienta i zatim svakom klientu da posalje te nikove.
Medjutim nailazim na problem kada treba da ova 4 clienta medjusobno komuniciraju.
Server:
http://paste2.org/p/1202641
Client:
http://paste2.org/p/1202642
Kada upalim server povezem ova 4 klienta na server i kada treba da se razmeni poruka izmedju klienata desi se sledece
1. Client
-posalje poruku OK!
- primi poruku OK!
- primi poruku OK
- error in recv (kada treba da primi od 4 klienta)
2. Client
- posalje poruku OK!
- primi poruku OK
- primi poruku OK
- primi poruku OK
- greska u primanju poruke recv
3. Client
- posalje OK
- primi OK
- primi OK
- primi OK
- Exit OK
4. Client isto kao treci :////
Sad ne kapiram gdje grijesim sa kodom...
napravio sam u clientu
while perlju kod koje ako je tvoj Index onda salji, ako nije onda primas, a svoj index dobijas kada se konektujes na server
/*
Index je na pocetku 1, znaci da je na redu client 1. Client 1 provjerava da li je njegov Index jednak trenutnom Indexu i onda u
odnosu na to salje. Drugi klient provjerava da li je njegov Index jednak jedinici, kako se drugi klient povezao kao 2. na server on je
dobio index 2 i smjesten je u variablu yourIndex prema tome on ce da ceka poruku koja ce biti poslata od client 1.
I sada kada primi poruku client 2, opet provjerava Index == yourIndex,
kako se Index uvecao za jedan on isnozi 2 i sada Client2 salje poruku...
Tako i ostali clienti
*/
while(Index < 5) // da predje sva 4 klienta
{
if(Index == yourIndex) { send(); }
else { recv(); }
Index++;
}
Kasnije cu da pokusam da ovaj klient ubacim u igricu koju radim... (Zato mi ovo treba).Nije toliko veliki prioritet da bas sve shvatim oko Internet programiranja. Zelim samo da zavrsim igru koju sam poceo da radim (imam preveliku zelju da je napravim). Kopirao sam kod servera i clienta iz tutoriala, i samo mijenjam ovo za recv i send, to jeste samo pravim petlje i odredjujem kada sta treba da se salje...
Help ...