[ NemanjaCSHARP @ 30.06.2007. 19:25 ] @
Da li neko moze da i pomogne oko ovog problema ... Zelim da napravim classu u c# tako da cu lako moci da jednom metodom prebacim promenljivu preko tcp/ip-a ...Inache ovom metodom bi onda lako mogao da prebacujem neke promenljive sa jednog kompjutera na drugi ...
Hvala
[ PeraKojovic @ 01.07.2007. 18:05 ] @
Potrazi na netu malo o "socket" klasama, preciznije "SocketListener" klasama...
[ NemanjaCSHARP @ 02.07.2007. 12:35 ] @
OK hvala ali ako znash neki nash link o tome molim te mi ga daj ...
[ Java Beograd @ 02.07.2007. 14:04 ] @
Preko tcp/ip se salju bajtovi. Kako će da ih tumači onaj ko prima - to je njegova stvar.

Dakle, moraš da smisliš neki svoj protokol.


Na primer, ako šalješ ime i prezime i iznos porudžbine može ovako

ime=Miki Manojlovic|iznos=25000.00

I onda onaj koji prima celokupan string prvo podeli po pajpu pa dobije niz

ime=Miki Manojlovic
iznos=25000.00

Zatim svaki član niza deli po znaku jednakosti, pa dobije mali niz od dva elementa. Onda ide, na primer, switch statement ili if elseif struktura.

[ toxi_programer @ 02.07.2007. 16:00 ] @
Jel može neki primer koda za ovo:
1.Imam program. Pokrenuo sam ga ja na svom kompu i moj drug na njegovom kompu.
2.Ja imam njegovu IP adresu i želim da pošaljem neki npr. broj preko mog programa njegovom programu( odnosno kompjuteru).
3. Program na kompu mog druga taj poslati broj treba da "primeti".

dakle kako da pošaljem nešto na neki port nekog kompjutera čiju IP adresu pretpostavim da znam?
[ Prokleta_Nedelja @ 02.07.2007. 20:39 ] @
pa na jednom programu moras otvoriti odredjeni port npr 1864 (tj bilo koji koji nije u upotrebi) i drugim programom se konektovati preko pomenutog socketa na pomenuti port. Mana ovakvog programa sto ce ga svaki antivirus-firewall blokirati kada otvori neregistrovan port pa moras rucno da napravis izuzetak. Mada ja bih to radio preko Windows Servisa
[ Java Beograd @ 03.07.2007. 08:44 ] @
Citat:
toxi_programer: Jel može neki primer koda za ovo

Vidi, ima gomila primera na netu za milion stvari. Potraži malo, nemoj da mi googlamo za tebe. Prijavi se na neke od vodećih developerskih portala (na primer codeproject ili neki sličan) i imaćeš sve šta ti treba.

@Prokleta_Nedelja
Za ovakve namene nije dobro koristiti portove sa brojevima manjim od 10.000. Posebno ne one oko 1000. Jer skoro su svi već definisani. Zato, lupi neku cifru, na primer 23864 i nejverovatnije nećeš zauzeti neki već definisani port.
[ mmix @ 03.07.2007. 12:26 ] @
Hmmm, jes da je malo sporije od socketa, ali je i dosta jednostavnije za koriscenje, sto jednostavno ne bi iskoristio ".net remoting" preko TCP/IP kanala? A i fino je dokumentovano pride ne moras da se bakces sa low-level socketima gde je TCP/IP samo jedan mali deo price.
[ PeraKojovic @ 03.07.2007. 12:42 ] @
Ako covek pokrene .NET remoting u roku od n sati (gde je 10 < n < 20) ja cu pojesti knjigu
Ingo Ramer-a o pomenutom...
[ mmix @ 03.07.2007. 13:48 ] @
Citat:
PeraKojovic: Ako covek pokrene .NET remoting u roku od n sati (gde je 10 < n < 20) ja cu pojesti knjigu
Ingo Ramer-a o pomenutom...


Pazi, podici nesto je opet jednostavnije od napraviti ga, sto zapravo pokusavate preko socketa. A ni socketi sami nisu nista jednostavniji za koriscenje, sta vise prisiljavaju te da se bakces sa gomilom low-level operacija kao sto je parcijalno citanje paketa sto remoting vec odradjuje za tebe. Treba ti efektivno 2 sata da izbistris Quick start for remoting i to je sve sto ti treba da kreiras client/server kod.
[ NemanjaCSHARP @ 03.07.2007. 19:55 ] @
Hvala momci uradio sam sta mi je trebalo a vi ste me u to uputili uradio sam preko socketa tj. preko Tcp Listenera itd ... Inache napravio sam XO Koji se moze igrati preko lan-a ...
To je samo bio test primer ...
[ toxi_programer @ 04.07.2007. 11:08 ] @
@NemanjaCSHARP
A hoćeš da podeliš kod sa nama? :)

@Java Beograd
Uuuu... Krhm... Pa uradio sam ja to, išo na codeproject.com i tamo našao te kodove još odavno. Evo ovo sam napisao još odavno koristeći jedan tekst sa tog sajta:

Code:

        private void btnSend_Click(object sender, EventArgs e)
        {
            Socket soc = new Socket(AddressFamily.InterNetwork,
                SocketType.Stream, ProtocolType.Tcp);
            IPAddress ipAdr = IPAddress.Parse( "127.0.0.1");
            IPEndPoint remoteIp = new IPEndPoint(ipAdr, 5097);
            soc.Connect(remoteIp);
        }


Kad se pozove ova funkcija dobijem exception:
Citat:

No connection could be made because the target machine actively refused it


I sad ja ne znam zašto se to događa... ???
[ PeraKojovic @ 05.07.2007. 08:31 ] @
Pozdrav,
e desava se zato sto na target masini (u ovom slucaju ista masina) nemas
neki program koji ce da osluskuje prijemnu konekciju - tzv. SocketListener...


Pera
[ toxi_programer @ 06.07.2007. 20:42 ] @
Super, uspeo sam, thanks to you! :)
O dobro je konačno i ovo da uspem da uradm... Sad mi ostaje samo da prelistavam MSDN :D
[ toxi_programer @ 09.07.2007. 12:16 ] @
O majku mu!
Treba mi pomoć - kako da dobijem IP adresu mog kompjutera iz koda?
[ mmix @ 09.07.2007. 13:49 ] @
Zavisi za sta ti treba, ako hoces da pokrenes listener na svim registrovanim IP adresama, koristi adresu 0.0.0.0

Ako hoces a odaberes specificnu IP addressu moras da pozoves sledeci metod koji ti vraca IPAddress[] niz:

Code:

IPAddress[] lista = Dns.GetHostAddresses("");


vodi racuna samo da gornji metod vraca listu i IPV4 i IPV6 adresa koje verovatno ne podrzavas, tako da moras i to da proberes.