Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedon välitys koneelta toiseen

ErroR++ [05.07.2011 14:20:16]

#

Alue on tällä viestiketjulla vähän sekava, muta kyllä se tähän liittyy.

Ongelmana on tiedon välittäminen. Eli minulla olisi Visual Basic-sovellus joka lähettäisi ja lukisi salattuja tietoja internetin kautta. Palvelin on mbNetin palvelin (sivuja en vielä ole tehnyt, mutta avain tuonne on). Ajattelin tätä:

Miten tuon tekisi?

Jokotai [05.07.2011 14:57:37]

#

Teet PHP-skriptin, joka lukee ja toisen, joka lähettää.(Jos ihan pakko käyttää PHP:tä, VB:llä olisi nimittäin omiakin kirjastoja verkkosovelluksiin)
Kuten nettisivujen kanssa yhteys ipipipipip.domainsystemu/vastaanotin.php ja siihen POSTailua ja GETtailua. Lähetät saadut tiedot PHP:llä, joko suoraan VB-ohjelmalle tai jonnekin, mistä VB-ohjelma lukee sen.
Ja sitten lähetely PHP:n käynnistys, ja se lukee tiedot, joko VB:ltä tai jostain, minne VB on ne putkauttanut. Ja lähettää ne toinenip.domainsystemu/vastaanotin.php

-tossu- [05.07.2011 15:05:47]

#

MBnetin kotisivutila tuskin tukee HTTPS-protokollaa, joten jos tarvitset salausta, pitää sinun tehdä HTTP:n päällä toimiva salattu protokolla.

Mutta miksi liikenne pitää välttämättä kierrättää MBnetin palvelimen kautta?
Välityspalvelinta käytettäessä ei käyttäjä tosin joudu tekemään porttiohjauksia tms. Olisi kuitenkin varmasti paljon helpompi toteuttaa systeemi ilman ylimääräistä palvelinta.

Käytännössä tietoa ei voida lähettää MBnetin palvelimelta käyttäjälle, vaan asiakasohjelman on otettava aina välillä yhteys MBnetin palvelimeen ja tarkistettava, onko sinne tullut uutta tietoa.

Olisi myös helpompi auttaa, jos kertoisit vähän lisätietoja kyseisestä VB-sovelluksesta.

ErroR++ [05.07.2011 21:17:43]

#

No voi sen varmaan ilman palvelinta tehdä.

VB:stä sen verran että:

'näin
sub formiload (sender as object, e as eventargs) handles mybase.load
'formilla WebBrowser nimeltä WEB
WEB.url = new system.net.uri("www.mbnet.fi/kone3/msgup.htm") 'ei vielä olemassa
end sub
sub TähänKuuluu_Button1_clickki
WEB.url = new system.net.uri("www.mbnet.fi/kone3/msgdown.htm") 'ei vielä olemassa
end sub

(Mod. huom: Mitähän ihmeen järkeä oli yrittää laittaa vielä erikseen linkkejä sivuihin, joita ei ole ja joiden osoiteet kuka tahansa osaa lukea koodistasi?)

Metabolix [06.07.2011 15:20:39]

#

WebBrowser-komponentti ei todellakaan ole järkevä ratkaisu. Sen sijaan WebClient saattaisi olla juuri sinulle sopiva.

Module Kysyja
	Function juttele(data As String) As String
		Dim wc = New System.Net.WebClient()
		wc.Encoding = System.Text.Encoding.UTF8
		System.Net.ServicePointManager.Expect100Continue = False
		Return wc.UploadString("http://hopohopo/juttele.php", data)
	End Function
	Sub Main()
		System.Console.WriteLine("Kysymys: 1 + 1 = 2, tiesitkö?");
		System.Console.WriteLine("Vastaus: " + juttele("1 + 1 = 2, tiesitkö?"))
		System.Console.WriteLine("Kysymys: 1 * 1 = 2, eikö niin?");
		System.Console.WriteLine("Vastaus: " + juttele("1 * 1 = 2, eikö niin?"))
	End Sub
End Module
<?php
// Tarkistetaan merkistöasiat:
header("Content-Type: text/plain; charset=UTF-8");
if ("ä" != "\xC3\xA4") {
	echo "Tallenna PHP-tiedosto UTF-8-muodossa!";
	trigger_error("Skripti ei ole UTF-8-muodossa!");
}

// Luetaan data ja tulostetaan vastaus.
$data = file_get_contents('php://input');
if ($data == "1 + 1 = 2, tiesitkö?") {
	echo "Joo, selvä homma.";
} else {
	echo "Mitä ihmettä?";
}

ErroR++ [07.07.2011 12:08:09]

#

En pääse vielä testaamaan. Näyttää hyvältä!

Vastaus

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

Tietoa sivustosta