Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Verkko-ohjelma

Sivun loppuun

killerfox [20.01.2004 16:05:06]

#

Miten saisi tehtyä sellaisen ohjelman, että siinä on yksi valvonta ohjelma ja muissa tietokoneissa on "kuuntelevat" ohjelmat.Sitten kun valvonta ohjelmasta painaa nappia(vaikka sellaista joka aukaisee cd-aseman), lähtee käsky kuunteleville ohjelmille netin ja/tai verkon kautta ja niissäkin aukeaa cd-asema.
Tarvitsisin tarkan työselostuksen.
Onko mahdoton toteuttaa?

sooda [20.01.2004 16:11:45]

#

Ei toki ole vaikeaa. Mutta ai ai ai ettet vaan olisi virusta tekemässä... :P noh tutustu aluksi noihin:
https://www.ohjelmointiputka.net/koodivinkit/24083-vb6-lähiverkon-koneiden-etsiminen
https://www.ohjelmointiputka.net/koodivinkit/24147-vb6-tcp-ip-keskustelu-monelle
ja valvontaohjelmaan siis käytät noita.
laitat kuuntelevaan ohjelmaan sellaisen että kun clientiltä(=valvonta) tulee vaikka "AvaaCD" käsky niin avaat cd:n. Siis winsockin DataArrival subiin. Kysy lisää jos tarvii...
edit: mikä ihme putkassa nyt näin... hidastelee sairaasti ja mysql virheitäkin tulee...? höh.

Sose [20.01.2004 16:16:00]

#

Onhan se mahdollista. En jaksa kovin tarkkaa selostusta auttaa, mutta mietin nyt jotain tähän..

Ensinnäkin pitää saada yhteys nettiin, ja Ohjelmointiputkastahan löytyy VB:lle parikin Winsock-esimerkkiä.
Itse avaaminen hoituu jollain koodilla joka sekin löytyy varmaan täältä. Se hoidetaan WinAPIlla. Ja sitten "kuuntelevat" ohjelmat ovat vaikka ikään kuin servereitä jotka ovat päällä. Sitten "valvontaohjelmalla" eli clientillä lähetetään viesti, joka voi olla periaatteessa ihan mitä vain. A = server ja B = client..

B >-yhteys-> A, B >-Viesti-> A, B tarkistaa viestin CASE:lla tai IF:llä. Jos viesti on oikeanlainen ajetaan jokin käsky koneella.

IF viestib = "avaa_cd 1" THEN avaa_cd() tai vastaavaa..
Avaa_cd on tietenkin sitten sub joka avaa CD-aseman.

Näin minä sen toteuttasin. Jos komentoja/ehtoja tulee monia, voi olla järkevää tarkistaa ne CASE:lla.

~Sose~

Edit: Jaha, sooda ehtikin ensin :)

killerfox [20.01.2004 16:32:06]

#

lainaus:

https://www.ohjelmointiputka.net/koodivinkit/24147-vb6-tcp-ip-keskustelu-monelle

Tuossa sun toisessa koodivinkissä,-kun lataa sen zipin-, niin siellä se valittaa erroria ws(on mustattuna) ja compile error:sub or function not defined.

Ja koska mää oon vähän tällänen alottelija, niin voisitkos sinä kertoa mikä on winsock.

Sose [20.01.2004 17:06:22]

#

Winsock on Microsoftin tekemä komponentti verkkoyhteyksien muodostamiseen tai jotain vastaavaa, en ole niin tarkka näissä ;).
Winsock otetaan käyttöön VB:ssä (ainakin versiossa 6.0 Professional) seuraavasti: Project -> Components -> etsi Microsoft Winsock Control 6.0 tai vastaava listasta ja laita ruksi sen kohdalle. Paina OK.
Tämän jälkeen siinä palkissa jossa on muutkin komponentit (esim. textbox ja label) on Winsock valittavana.

~Sose~

Edit: Muutama kielioppivirhe..

sooda [20.01.2004 17:07:23]

#

OHO! Nyt pitäisi toimia ton ws:n. Kokeilkaa, ite en voi(vb5cce ei tykkää winsockista(license info for this component not found :( ))
Oli siis niin että sitä ws:ää ei ollut siinä formilla :D mun vb jotenki sekoili sen kanssa.

killerfox [20.01.2004 17:53:40]

#

Soota voikko neuvoa mulle tarkan soodaukset masteri serverille ja kuuntelu serverille ja miten lähetetään open_cd komento sille kuuntelu servulle.
Olisin kiitollinen ja voisin myös oppia jotain uutta ja tehdä itse sitä hyödyntäen vaikka ircin tapaisen...

sooda [20.01.2004 18:17:46]

#

clientillä lähetät ws(hallittavan indexi).SenData "OpenCD" vaikkapa. Tuon staten pitää sitten olla sckConnected eli yhdistetty. Ja toimiiko se mun ws.zip:ssä oleva juttu nyt?

killerfox [20.01.2004 18:58:02]

#

Toimii.Aika hankalaa...

killerfox [22.01.2004 16:22:20]

#

Sain toimimaan sen verkko-ohjelman. En käyttänyt sitä sun moninkeskustelu vinkkiä vaan sitä kaksinkeskustelu hommaa. Saako sen toimimaan netissä? Jos saa niin kerro ihmeessä ja miten.

~KillerFox~

Rozen [22.01.2004 17:42:09]

#

winsockilla...
troijalaista tekemässä? :D

Monkkats [22.01.2004 17:57:10]

#

Mä ainaki tein troijalaisen servun Microsoft Internet Transfer Controls:in avulla ja clienttinä toimi mbnetin palvelin ja sitte se aina hakee tiedoston koodit lähdekoodilla:

Text1.Text = Inet1.OpenURL("osote", icString)

ja tunnistaa omaa scriptikielt ja suorittaa ne paitsi jos koodii ei oo muutettu edellisistä koodeista, nii sitä ei suoriteta uusiks.

killerfox [22.01.2004 19:39:16]

#

Tarkottiin lähinnä ip-osotteen avulla käytävää keskustelua, vähän niinkuin messenger. Mulla on valmiina ohjelma jossa määritelty portti ja ip-osote ja on pistetty winsockki.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta