Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  18 1104
Limited edition
Moff's Avatar
Jeg lurer på om det er mulig å lage et program som kan sende informasjon over et nettverk som et helt likedan program i andre enden mottar.
Dere skjønner sikkert målet - Ting som en LAN-msn for eksempel, muligheter for spill à la NordicMafia, enklere sende IP-er cd-keys etc.

Antar at jeg må bruke Shell-koden for dette om det er mulig.
Noen som har noe som helst peiling?
Du tenker på et IM program med muligheter for å spille spill, men som ikke kopler seg til en sentral server?
Limited edition
Moff's Avatar
Trådstarter
Det er ikke lett å fastslå, da jeg ikke egentlig vet hva IM er.
Jeg vil lage et LAN-basert program som kan kjøre en kommando/sende en fil eller slikt som det samme programmet, kjørt på en annen maskin i nettverket mottar og kjører/leser.

Mulig å gjennomføre?
IM, Instant Messaging, dvs det samme som feks MSN er.
Limited edition
Moff's Avatar
Trådstarter
Ah, takker.
Vel, ikke akkurat et IM-prog., men noe som f. eks. kan kopiere tekst fra en textbox,
lagre i ei fil eller noe, sende via Shell (vil tro at det er denne veien dette vil gå...)
eller noe, få Shell til å aktivere programmet i andre enden, som åpner fila og henter infoen. Jeg benytter VB6, helst...

Da er programmene på en fast bane, og har instruksjoner om hvilken fil det er.
Altså spesifikke navn og sånn.

Jeg vet at Shell kan benyttes til å kopiere filer.
Alt jeg trenger å vite er om denne funker på LAN, egentlig.
Da kan mottakerprogrammet stilles til å søke etter nye filer hele tiden,
og laste inn det som kommer. Men jeg trenger da command-koden...
Sist endret av Moff; 28. mars 2006 kl. 18:57.
Trigonoceps occipita
vidarlo's Avatar
Donor
uhm, nei. Ikkje fullt så enkelt som du får det til å høres ut som. Trur det du tenkjer på kan gjerast enklare i php og med en www-server, samt curl på klientsida. Skriv då det du vil i php, og lag C# eller noko som anten nyttar html-funksjonar frå Internet Explorer (enkelt, fungerer også i VB, dog dårlig sikkerhet og ytelse. Søk etter mshtml.dll for info om korleis du brukar dette APIet) eller nytt python eller perl i kombinasjon med curl.

Forøvrig er ikkje du gjennom første fase i all programmering, som er å settje seg ned med papir og blyant og finne ut _nøyaktig_ kva du skal lage. Det er viktig for å faktisk få til noko, og finne ut kva funksjonar du skal nytte.
høres ut som du vil lage din egen protokoll :P
Trigonoceps occipita
vidarlo's Avatar
Donor
Og å lage sin eigen protokoll er _garantert_ ein dårlig ide når ein ikkje er heilt klar over kva den skal gjer, og ikkje kan noko utover VB6. Då er det betre å nytte ein etablert standard, og tilpasse denne til eigen bruk. Innanfor t.d http kan du veldig lett vri den til det du vil, sidan body i requesten kan innehalde akkurat det du har lyst til -- berre header er http. Då er det lettare å utvide protokollen, samt å tilpasse denne.
Fikk intrykk av at han mener muligheten for å spille tekstbaserte browserspill igjennom lan..
Har jeg rett? Feks noe alla norwegian mafia i lan, men regner med du må lage noe selv hvis du skal få det til.
m0b
m0b's Avatar
DonorAdministrator
Det er vel høyst tvilsomt at noen skal skjønne hva du faktisk er ute etter når du ikke engang klarer å fortelle skikkelig hva du ønsker å oppnå. Dersom du ønsker å sende tekst fra et klientprogram til et annet klientprogram, så ja - selvfølgelig er det mulig. Søk opp informasjon om sockets. Dersom du rett og slett ønsker å lage en robot eller noe som skal brukes i forbindelse med websider så søker du i tillegg opp curl(libcurl).

Alternativt kan du skrive posten din på nytt og forklare nøyaktig hva du prøver å oppnå. Deretter leser du igjennom posten din minst én gang før du trykker post-knappen.
Limited edition
Moff's Avatar
Trådstarter
Ok, ok
Det jeg vil gjøre er å sende ei fil fra en pc til en annen.
Da vil jeg jo ikke flytte den manuelt, men få VB6 til å lage den og sende den.
Jeg håper på at det kan gjøres via command prompt-varene.
VB6 kan da benytte en Timer som står å sjekker om fila er kommet,
og hvis den er, laste inn innholdet i den. Det lar seg jo gjøre.
Det skal ikke knyttes opp mot noen browser eller noe sånt fancy.
Rett og slett programmeres til å takle det som fila sier og det kan jeg gjøre selv.
Men akkurat det med å flytte den fila/filene fra en PC til en annen i et nettverk er greia.

Fila kan bare være en *.txt fil...

Finnes det en slags remote funksjon for å flytte filer i CMD?
Så klart til en shared folder...
Sist endret av Moff; 28. mars 2006 kl. 22:20.
Trigonoceps occipita
vidarlo's Avatar
Donor
Igjen, sjå på php, libcurl/curl-kommandoen, apache, og mshtml.dll. Det er _mindre_ arbeid å binde slikt mot et eksisterande API enn å finne opp hjulet.

Og http er som _skapt_ for oppgåva. Det samme er python eller perl. VB er derimot litt mindre egna. I python/perl er det rundt 25 linjer kode kan eg tenke meg, i bash er det ei eller 6 linjer, alt etter korleis ein gjer det.

Og om du i fullt alvor meiner du kan gjere det via cmd-interface, så er svaret delvis ja, ftp.exe finst vel, men du gjer livet enklare for deg sjølv ved å nytte eit skikkeleg api. Men ftp forutset at remote kjører ftp-daemon. Ellers må du nok til med netcat, og då kan du akkurat like godt lære deg sockets.
Men som sagt, der er ørten filoverføringsprotokoller der ute. Ver så snill, ikkje lag ein til! Det er ikkje så lett som du trur å få til noko slikt.

Og med det meiner eg at du gjerne vil ha sjekksum, slik som sha1, for blokker av fila sånn at du slepp å overføre heile på nytt ved feil o.l o.l.

Kode

#!/bin/bash
#Simple example for a remote put function. Requires a remote http server accepting put file called foo.
URL="http://localhost/put.php" #URL to script. With protocol.
lfile="foobar" #Local file to put
donothing="5" # How long to wait before checking for changes in file?
while true
  do
  echo -n "."
  oldhash=$hash
  hash=$(sha1sum $lfile | awk '{print $1}') # Generate a hash for $lfile, and store it in $hash.
      if [ "$hash" != "$oldhash" ]
          then
          echo "Change detected. Uploading."
          curl -F file=@$lfile $URL
      fi
      sleep $donothing
done
Sånn i tilfelle du lurte. Det der fungerer.
Sist endret av vidarlo; 28. mars 2006 kl. 22:48.
Limited edition
Moff's Avatar
Trådstarter
O, du hellige jul!
Jeg hadde forestilt meg en kode på ei enkelt linje som man kan skrive i CMD
hvor man fløtter ei fil til en annen pc, ikke slikt som man må være rakettingeniør for å forstå...
Jeg er nok ikke glup nok ennå
Orker du å forklare hva de ulike varene i koden din betyr?
Jeg kan en del om batch og slikt fra før, men dette ble for mye for en stakkar...

Bare for å utdype programmet mitt litt mer:
En *.exe fil laget i VB6 fungerer slik at den lager en *.txt fil med en tekst i ("info" f. eks).
Så er da greia at jeg vil ha en kommando i CMD for å fløtte denne *.txt fila til mappa
"//Datamaskinnavn/Shared Folder/".

Dette med http og greier høres ut som noe som foregår via en browser, og da er jeg kommet litt ut på viddene for det jeg hadde tenkt til å begynne med...
Kanskje enklere, kanskje bedre, men jeg vil gjerne gjøre det med VB6 + CMD

PS: Takk for svar!
Det du kan gjør er å mounte nettverks stasjonen til andre PC'n. Høyre klikk på Min Dataskin -> Koble til nettverks stasjon. Der setter du f.eks. Disk z: og \\pc-navn\delt-mappe
Hvis du lagrer file.txt i f.eks c: \file\ lager du bare en liten batch fil som går som slikt:
c:
cd file
move file.txt z:
Håper det hjelper

Edit: fikse smiley link
Sist endret av Chiba; 29. mars 2006 kl. 15:30.
Limited edition
Moff's Avatar
Trådstarter
Vel, det er jo så enkelt at en dust kan klare det, så jeg kan jo alltids prøve...
Hjertelig
Under OS X / GNU/Linux ville jeg gjort slik:
scp fil.txt host:
Jeg tror det finnes mulighet for å sette opp dette på under Windows også
Montere nettverksshare er også en mulighet, som nevnt, men: Vi har allerede en protokoll ved navn FTP. FTP står for File Transfer Protocol. Skulle du sett!
Det holder i lange baner med sambashares, men å sette opp FTP-server går altså også an. Med en simpel drag-and-drop FTP-klient som pusher filene dit du ønsker med en gang de slippes vil du ha en enkel og grei løsning 8-)
Ehem. Enkelt? vel, det går selvfølgelig an å kopiere via netbios i cmd. Kan gjøre litt av hvert slik, tar bare litt tid:

Kjør kommandoer hos mottaker: (batch-script, men kommandoer ligger nå her)

Kode

@echo off
title Win
c:
cd \
mkdir mappe
net share $a=c:\mappe
rem:: ikke nødvendig
echo %OS% >c:\mappe\ip.txt
echo %systemdrive% >> c:\mappe\ip.txt
echo %systemroot% >> c:\mappe\ip.txt
echo.
echo Ipconfiguration: >> c:\mappe\ip.txt
echo.
ipconfig /all >> c:\mappe\ip.txt    
net send <dinip> \\%userdomain%\$a
exit
Senderen:

Kode

@echo off
title Win sendfil
c:
cd \
net use z: \\<targetip>\$a
echo Du din luring >> z:\agurk.txt
move filen.exe z:\filen.exe
pause
rem:: rydde opp litt
net use /delete * /YES
exit
Noe ala det. Nå er dette ren batch, men får nå være.

Edit: Ja jeg bruker for lang tid, greit det. Og dette er litt utover det du ønsker å gjøre, jeg får lære meg å holde meg on-topic, ja.
Sist endret av ProZhen; 29. mars 2006 kl. 15:59.
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av Moff
O, du hellige jul!
Jeg hadde forestilt meg en kode på ei enkelt linje som man kan skrive i CMD
hvor man fløtter ei fil til en annen pc, ikke slikt som man må være rakettingeniør for å forstå...
Vis hele sitatet...
Ei linje be it:
URL="http://localhost/put.php"; lfile="foobar"; donothing="5"; while true; do echo -n ".";oldhash=$hash; hash=$(sha1sum $lfile | awk '{print $1}'); if [ "$hash" != "$oldhash" ]; then echo "Change detected. Uploading."; curl -F file=@$lfile $URL; fi; sleep $donothing; done

Funker Men ut fra det du opprinneleg skreiv såg det ut som det var ca. det du var ute etter. Det såg ut som du ville ha noko som flytta filer automagisk med gitte intervall...

Forøvrig er http mykje brukt utanom weblesarar, sidan det er ein enkel protokoll med mange bibliotek som fungerer, samt raske og effektive servere.
Limited edition
Moff's Avatar
Trådstarter
Hehe, jeg tror jeg har fått det jeg er ute etter i alle fall
Tusen takk alle sammen!
Kommer tilbake og plager dere fra gård og grunn hvis det ikke funker