Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Povezivanje aplikacija putem Internet-a

[es] :: Visual Basic 6 :: Povezivanje aplikacija putem Internet-a

Strane: < .. 1 2 3 4 5 6

[ Pregleda: 15146 | Odgovora: 109 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 14:05 - pre 187 meseci
Aleksandre, ti se bas uhvatio MySql-a
Access moze biti ok resenje ako imas midle layer iako i sam moze prihvatiti vise konekcija. A od baza imas free pored MySql-a i MS Sql (koji preporucujem jer se vec radi u MS tehnologijama) i Posgree.

Ovako.. Imas manje/vise tri mogucnosti:
1. Varijanta prihvatljivog kvaliteta, relativno laka za kapiranje - ova koju koristis sada, sa winsocket-om. Preporucljivo ako neces malo vise da ucis a hoces da se zezas, pa i uradis nesto.
2. Varijanta sa malo vise mogucnosti, malo teza za kapiranje - rad sa TCP/IP-om u .NET-u. Asinhrono je mao teze ali kad naucis, skroz je kul Isto kao i prvo, samo naucis vise i imas malo vise fleksibilnosti.
3. Varjianta sa puno mogucnosti, laka za kapiranje ako vec znas OOP u .net-u - .NET Remoting i/ili Web services, zavisi sta pravis. Ovo je preporucljivo ako je glavni cilj da napravis ono sto ti treba, a igranje ti je sekundarno (a moze, nije da ne moze)
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 14:15 - pre 187 meseci
Ja sam otvorena za svaku mogucnost. Na tebi je, odluci sta ces mi lakse objasniti jer nije bas da se vidimo :) daljina je to :)
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 14:21 - pre 187 meseci
Od toga bi se mogao napraviti lep tutorial i nadasve koristan. To je lepa tema i kladim se da je 90% ovde na forumu ne zna, pa bi svakako bila posecena
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 14:37 - pre 187 meseci
Ukratko:
Web servisi su ti varijanta ako imas web server. Omogucavaju da imas metode (funkcije) koje se izvrsavaju na web serveru a pozivaju na klijentu gotovo bez ikakve razlike u odnosu na lokalne. Naravno, treba uzeti u obzir da je odziv sporiji i sl.
.NET Remoting je varijanta ako kreiras i klijentsku i serversku aplikaciju. Omogucava ti slicno prethodnom, s' tim da mozes na klijentu instancirati objekat, odredjivati mu property-e i pozivati metode ali tako da se to izvrsava na serveru (slicno kao kod web servisa samo sa mogucnoscu celog "remote oop-a", da tako nazovem).

Ako te nesto od ta dva (ili oba) interesuje, evo par linkova da se upoznas sa materijom, pa onda mozemo nastaviti. Cisto da ne bih ja pricao isto sto su i oni tamo. Za tutorijal ipak nemam bas vremena i volje jer to treba dobro osmisliti i teze je nego nekom odredjenom objasniti. A i ovi linkovi su manje/vise tutorijali.

Web servisi:
http://www.w3schools.com/webservices/default.asp
http://msdn.microsoft.com/en-us/library/ms972326.aspx

.NET Remoting:
http://www.developer.com/net/cplus/article.php/1479761
http://www.codeproject.com/KB/IP/Net_Remoting.aspx

Wbe services vs. .Net Remoting:
http://www.developer.com/net/net/article.php/2201701

Eto, pogledas malo, uputis se pa ako te interesuje, mozemo nastaviti sa tim, ali na .net forumu da ne pravimo offtopic ovde. Ako nastavljas sa VB6, tu slabo mogu da pomognem jer isti nisam koristio par godina a i nemam instaliran (btw, mozes sa winsock imati vise dolaznih konekcija na isti port;)).


PS.
Citat:
Nevena79: Ja sam otvorena za svaku mogucnost. Na tebi je, odluci sta ces mi lakse objasniti jer nije bas da se vidimo daljina je to

Pa, sad, otkud znas kolika je daljina ;]
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 14:52 - pre 187 meseci
Hajde onda ovako, da zavrsimo sa ovom temom kada smo je vec zapoceli. Evo ti kod od ovoga sto smo sa winsock ja i tvoj kolega radili. Kada smo poceli hajde da to razradimo do kraja, nekada i nekome moze posluziti pa cemo videti za dalje. Kako da napravimo vise konekcija na isti port, gde gresimo?

Evo i izvorni kod bez komplikacija kako smo to bili zamislili i odlicno radi ali mogu se povezati samo 2 aplikacije, trecu ne prima pa nadji gresku!

Code:

Private Sub Command1_Click()
'povezivanje na IP
    Winsock1.Close 'ovo upises da mozes vise puta pokusati da se konektujes ako ne uspe a da n izbacuje gresku
    Winsock1.RemoteHost = Text1.Text 'ovako sam cita moju IP
    Winsock1.RemotePort = 12345 'ovaj broj mora biti isti u obe aplikacije
    Winsock1.Connect
End Sub

Private Sub Command2_Click()
'salje podatak
 Winsock1.SendData Text3.Text
End Sub

Private Sub Form_Load()
'uspostavlja vezu
Winsock1.LocalPort = 12345 'ovaj broj mora biti isti u obe aplikacije
Winsock1.Listen
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
'hvata text i upisuje ga u text3
Dim str As String
Winsock1.GetData str
Text2.Text = str
End Sub
Private Sub Winsock1_Connect()
'obavestava da ste konektovani
MsgBox "Konekcija uspesna!", vbInformation, "Connected"
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
' ukoliko se neko konektuje program prihvata pristup
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
End Sub





PS. command1 je dugme konekcija, znaci da se program konektuje na neki koji je vec startovan i koji igra ulogu servera
Evo uploadovala sa ti i kod, iako nemas VB6 pokreni ga iz VB.NET (to imas) i onda ce te provesti kroz onaj wizard i manje vise videces kako je povezan sa formom ako ti nesto nije jasno a uz manju izmenu mozes ga i pokrenuti.


Off topic pogledala sam onaj drugi primer preko .NET valjda remote (zaboravih izraz) i to je radjeno u c-u. C sam nekada davno tek tek dotakla a ovaj visual i jos taj iz net-a ne znam ali vidim da mi deluje potpuno prosto pa bi to mogao kad imas vremena da prevedes u VB.NET? Bas mi deluje jednostavno i nema puno pisanja.

[Ovu poruku je menjao Nevena79 dana 30.11.2008. u 16:03 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 15:11 - pre 187 meseci
U ovom delu:
Code:

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
' ukoliko se neko konektuje program prihvata pristup
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
End Sub

Nemoj sa Winsock1 da radis Accept, nego sa nekim drugim. Recimo, mozes imati niz Winsock-ova (kao i bilo kojih drugih kontrola) pa onda dodavati prilikom svake konekcije nov winsock.
Ovako nesto:
Ako na Winsock1 stavis index 0, imaces ovako nesto:

Code:

private sub Winsock1_ConnectionRequest(index As Integer, ByVal requestID As Long)
    if index = 0 then
        Winsock1(0).Close
        Load Winsock1(Winsock1.ubound + 1)
        Winsock1(Winsock1.ubound).Accept requestID
        Winsock1(0).Listen
    end if
end sub


Ova provera da li je index = 0 nije toliko bitna, posto ti drugi nece osluskivati, ali za svaki slucaj. To je otprilike to, nadam se da nisam nesto izostavio, nisam mogao probati.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 15:21 - pre 187 meseci
Citat:
Nevena79: Off topic pogledala sam onaj drugi primer preko .NET valjda remote (zaboravih izraz) i to je radjeno u c-u. C sam nekada davno tek tek dotakla a ovaj visual i jos taj iz net-a ne znam ali vidim da mi deluje potpuno prosto pa bi to mogao kad imas vremena da prevedes u VB.NET? Bas mi deluje jednostavno i nema puno pisanja.


Zapravo u C#. Ja vec navikao na oba pa nisam obratio paznju. Vecina primera je u C#-u jer je popularniji. Pogledaj MS-ov link, tu ima VB.NET koliko se secam. Previse bi bilo offtopic-a da sada ovde prevodim. Ako imas neki IM (jabber / gtalk / msn) mozemo tako.
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 15:26 - pre 187 meseci
Ne, ne ne moras sada tu da prevodis, samo sam prokomentarisala da mi deluje da je jednostavno, to cemo posle u .NET forumu, sada kako prepraiti taj chat da se moze onektovati vise klijenata odjednom?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 15:33 - pre 187 meseci
Pa, napisah iznad :)
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 16:55 - pre 187 meseci
Vidim, ukrstile su nam se poruke. Nisam bila kuci, sada cu isprobati pa javim
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 17:07 - pre 187 meseci
Ovako?
Code:

Private Sub Command1_Click()
'povezivanje na IP
    Winsock1(0).Close 'ovo upises da mozes vise puta pokusati da se konektujes ako ne uspe a da n izbacuje gresku
    Winsock1(0).RemoteHost = Text1.Text 'ovako sam cita moju IP
    Winsock1(0).RemotePort = 12345 'ovaj broj mora biti isti u obe aplikacije
    Winsock1(0).Connect
End Sub

Private Sub Command2_Click()
'salje podatak
 Winsock1(0).SendData Text3.Text
End Sub

Private Sub Form_Load()
'uspostavlja vezu
Winsock1(0).LocalPort = 12345 'ovaj broj mora biti isti u obe aplikacije
Winsock1(0).Listen
End Sub


Private Sub Winsock1_Connect(index As Integer)
'obavestava da ste konektovani
MsgBox "Konekcija uspesna!", vbInformation, "Connected"
End Sub


Private Sub Winsock1_DataArrival(index As Integer, ByVal bytesTotal As Long)
'hvata text i upisuje ga u text3
Dim str As String
Winsock1(0).GetData str
Text2.Text = str

End Sub



Private Sub Winsock1_ConnectionRequest(index As Integer, ByVal requestID As Long)
    If index = 0 Then
        Winsock1(0).Close
        Load Winsock1(Winsock1.ubound + 1)
        Winsock1(Winsock1.ubound).Accept requestID
        Winsock1(0).Listen
    End If
End Sub



Uspe da se konektuje ali kada pritisnem na dugme posalji kaza:
wrong protocol or connection state of the requested transaction or requested
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 17:20 - pre 187 meseci
Tako bi trebalo. Tada za svakog klijenta koji se zakacio imas po jednu winsock kontrolu (pristupas preko index-a i u svakom eventu imas index kojim odredjujes koji je izazvao event).
Jesino mi ovaj deo nije jasan:
Winsock1(0).LocalPort = 12345 'ovaj broj mora biti isti u obe aplikacije
Tj. sta znaci da mora biti isti u obe aplikacije? Na klijentu ne mora, lokalni port na klijentu je nebitan (mislim da ako ne odredis on uzme neki slobodan, sto bi bilo najbolje). Na klijentu je bitno da ti RemotePort bude isti kao na klijetnu LocalPort.
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 17:25 - pre 187 meseci
Znam to mi je ostao komentar iz prvog primera koji su mi napravili, tada sam mislila da to mora da se podudara. Ali Ok je tamo gde se prave novi winsock-ovi ali gde se ti podaci obradjuju u glavnom kodu? Tamo uvek stoji WInsock1(0)? Mislim da to ne valja. A daaaaaj preradi mi ga skroz pa ima 10 redova, vidis koliko to ovako razvlacimo :(
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 18:17 - pre 187 meseci
Evo gde pukne, sad sam nasla ali ne znam zasto.
Code:

Private Sub Winsock1_DataArrival(index As Integer, ByVal bytesTotal As Long)
'hvata text i upisuje ga u text3
Dim str As String
Winsock1(0).GetData str    <---- Ovde nastane greska
Text2.Text = str

End Sub

to se desi kada konektujem jedan klijent i jedan server i kada posaljem poruku tj kada je treba primiti onaj drugi program padne

Evo ispravke, nasla sam gresku,jaoj sta ja radim iz ovog foruma, ubice me moderatori :)

Code:

Private Sub Command1_Click()
'povezivanje na IP
    Winsock1(0).Close 'ovo upises da mozes vise puta pokusati da se konektujes ako ne uspe a da n izbacuje gresku
    Winsock1(0).RemoteHost = Text1.Text 'ovako sam cita moju IP
    Winsock1(0).RemotePort = 12346 'ovaj broj mora biti isti u obe aplikacije
    Winsock1(0).Connect
End Sub

Private Sub Command2_Click()
'salje podatak
 Winsock1(0).SendData Text3.Text
End Sub

Private Sub Form_Load()
'uspostavlja vezu
Winsock1(0).LocalPort = 12345 'ovaj broj mora biti isti u obe aplikacije
Winsock1(0).Listen
End Sub


Private Sub Winsock1_Connect(index As Integer)
'obavestava da ste konektovani
MsgBox "Konekcija uspesna!", vbInformation, "Connected"
End Sub


Private Sub Winsock1_DataArrival(index As Integer, ByVal bytesTotal As Long)
'hvata text i upisuje ga u text3
Dim str As String
Winsock1(index).GetData str
Text2.Text = str

End Sub



Private Sub Winsock1_ConnectionRequest(index As Integer, ByVal requestID As Long)
    If index = 0 Then
        Winsock1(0).Close
        Load Winsock1(Winsock1.ubound + 1)
        Winsock1(Winsock1.ubound).Accept requestID
        Winsock1(0).Listen
    End If
End Sub


Nema greske ali sada se desava sledece. Uspostavim vezu i posaljem nesto i druga aplikacija to primi ali kada onda pokusam da posaljem iz druge aplikacije nastane greska ovde

Code:

Private Sub Command2_Click()
'salje podatak
 Winsock1(0).SendData Text3.Text
End Sub



PS Pokusala sam da se konektujem sa vise klijenata i to radi jedino ne radi da im server odgovori

Mislim da sam resila sve, sad mi jos trebaju dobrovoljci da isprobam :) Ima li ih???? Alexandre? Shnadow?
[Ovu poruku je menjao Nevena79 dana 30.11.2008. u 19:30 GMT+1]

[Ovu poruku je menjao Nevena79 dana 30.11.2008. u 19:48 GMT+1]

[Ovu poruku je menjao Nevena79 dana 30.11.2008. u 20:05 GMT+1]
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 19:02 - pre 187 meseci
Koja ti greska nastane tu? Uvek nam navedi gresku koju ti prijavi.
Btw, vidim da saljes sa Winsock(0).SendData. Zelis li uvek slati sa njim? Obrati paznju da ti broj u zagradi oznacava kojem klijentu saljes.


Citat:
Nevena79: Evo ispravke, nasla sam gresku,jaoj sta ja radim iz ovog foruma, ubice me moderatori :)

Nece, ne brini :o)
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 19:26 - pre 187 meseci
Bas sam to i ispravila. Spreman za test? Saljem ti aplikaciju
Moj IP je
Code:

77.105.26.40

mozes ga samo kopirati.
Stvari stoje ovako, ja cu biti server i ukljucicu program pre tebe da osluskuje i on ce tako da ceka...
Ti pokrenes aplikaciju kod sebe i u prvi textbox past-ujes ip adresu. Zatim ides na konekciju i uz mnogo srece bicemo konektovani, zar to ne zvuci lepo? :) Konacno cu ti biti malo blize bas kao sto si rekao :)
Poruku pises u drugi textbox i ides na send kad je saljes. Nije nista napisano ni graficki odradjeno, samo suvaka forma zato prati sta sam ti rekla.
Text primas u trecem textboxu i to je to.

PS. Naravno ponuda vazi samo za one koji se bave programiranjem i imaju instaliran VB6 jer ovo je samo exe fajl bez instalacije pa necete imati sve potrebne dll fajlove :p


[Ovu poruku je menjao Nevena79 dana 30.11.2008. u 20:46 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
*.dynamic.sbb.rs.



+7 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 19:46 - pre 187 meseci
Nevena evo mali primer
http://eurora3d.com/es/winsockSample.zip
Ovo sam napravio na brzinu ... i konektuje vise klienata odjednom.
Ovaj primer (moras da ga iskompajlujes jer ne kacim exe - e) ima server i klient . Server prihvata vise konekcija (pusti vise klienata) i kad salje salje svima.
Nisam bas isao u detalje (zaboravio sam pomalo kako ide) al mi je ostala jedna greska . Posto server salje u petlji svima, slanje je uspesno samo prema jednom klijentu ... kad se ta petlja pusti u debug modu (polako) onda posalje svima. Mislim da je problem interval izmedju dva slanja (proveri)
poz

Da... i izvinite za java stil kod imena pomenljivih

[Ovu poruku je menjao Eurora3D Team dana 30.11.2008. u 21:51 GMT+1]
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-3.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 20:11 - pre 187 meseci
Hajde probacu ga a posto ti imas VB6 skini ovo sto sam napravila pa uradi kakopise, moj server je otvoren samo da uspostavimo vezu da vidim ima li ovde propusta.
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-1.sezampro.yu.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 20:31 - pre 187 meseci
Ja sam otvorila tvoj chat i videla sta mi pises ali ti nisi valjda sta ja pisem i onda je blokiralo ;) Otvorila sam server, pa sam otvorila jedan klijent i to sam bila ja pa si se prikljuvio i ti a ja sam pisala preko klijenta, nisam servera dirala. Eto a ono moje radi JEIEIEIE, isprobali smo trala lala :D
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
*.dynamic.sbb.rs.



+7 Profil

icon Re: Povezivanje aplikacija putem Internet-a30.11.2008. u 20:37 - pre 187 meseci
Ostalo mozes da isprobavas na jednom PC-u zato sto radi isto ...

 
Odgovor na temu

[es] :: Visual Basic 6 :: Povezivanje aplikacija putem Internet-a

Strane: < .. 1 2 3 4 5 6

[ Pregleda: 15146 | Odgovora: 109 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.