Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Comunicazione Tramite Modem
giovedì 10 luglio 2003 - 15.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
vpanta
Profilo
| Senior Member
202
messaggi | Data Invio:
gio 10 lug 2003 - 15:03
Salve a tutti,
come posso creare una comunicazione seriale tra 2 PC utilizzando dei normali modem.
In pratica dovrei effettuare la chiamata, collegarsi in automatico è quindi poter trasmettere i dati ?
Grazie per l'aiuto
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 10 lug 2003 - 16:52
Ciao,
dipende dall'esigenza che hai...
Che cosa intendi realizzare? Ci sono due tipi di problemi uno di tipo hardware (come realizzi la conessione) e uno di tipo software.
A livello hardware su un computer ci dev'essere un RAS (Remote Access Service) o comunque un modem in attesa di una chiamata.
Dall'altra parte hai un altro modem che effettua la chiamata.
Una volta connesse le due macchine avranno due IP simili e quindi da una all'altra puoi copiare dati con il comando copy classico, mappando eventuali cartelle condivise.
Per fare la chiamata automaticamente da una all'altra potrai usare il comando rasdial.exe.
Se invece vuoi direttamente dall'applicazione fare la chiamata puoi usare le TAPI API 3.0 (anche se mi pare che con .NET funzionino meglio le precedenti 2.0/2.1), trovi documentazione qui:
http://www.microsoft.com/windows2000/techinfo/howitworks/communications/telephony/iptelephony.asp
Se invece intendi usare due applicazioni che spediscono dati è sufficiente usare le classi Socket del Framework e il protocollo TCP/IP.
Ciao
David De Giacomi
vpanta
Profilo
| Senior Member
202
messaggi | Data Invio:
sab 12 lug 2003 - 13:14
Grazie delle vostre risposte,
tramite le TAPI sono già riuscito ad effettuare la chiamata e risponde in automatico dall'altra parte, ma come faccio a creare un canale dati, o un Socket per la trasmissione full-duplex delle informazioni ?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 14 lug 2003 - 11:17
Ciao,
immagino che una volta connesso le tue due macchina abbiano ricevuto un IP.
Ora tramite il protocollo TCP/IP puoi farle comunicare aprendo dei sockets in .NET.
Il namespace di riferimento è System.Net.Sockets e ci sono in particolare due classi più semplici da usare che sono TcpClient e TcpListener. La seconda si mette in ascolto e la prima si collega.
Poi tu devi integrare tutto scrivendo il codice per inviare i dati.
Non è molto semplice la programmazione con i Sockets quindi bisogna conoscere prima quello che si va ad implementare poi.
Ciao
vpanta
Profilo
| Senior Member
202
messaggi | Data Invio:
lun 14 lug 2003 - 14:14
grazie ancora per la tua risposta,volevo chiederti tramite le TAPI un PC effettua la chiamata all'altro PC che risponde "al telefono", ma quando parli di IP ti riferisci all'IP statico che vado ad assegnare nella connessione di rete ?
potresti spiegarmi meglio questa fase.
grazie per le tue risposte.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 14 lug 2003 - 14:21
Io pensavo tu volessi fare una specie di connession dial-up.
Immagino che si possa fare anche tramite le TAPI.
Con una connessione dial-up un modem su un server è in attesa, tu fai una chiamata con un altro PC e con un altro modem, i PC sono connessi e il server di solito assegna un indirizzo IP al client.
In questo modo le due macchine sono connesse e possono dialogare sul protocollo TCP/IP.
Diverso invece è se con le TAPI fai chiamare dal modem del server un altro telefono per esempio un cellulare oppure un telefono di rete fissa.
Esattamente tu cosa vuoi realizzare?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 14 lug 2003 - 15:44
Trinity, i tuoi messaggi sono stati spostati in un altro Thread nella stanza "App. con Visual Studio .NET" perchè erano mischiati con quelli di vpanta che chiedeva cose abbastanza diverse dalle tue.
Il nuovo thread è visibile qui:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=90
Ciao
vpanta
Profilo
| Senior Member
202
messaggi | Data Invio:
mer 16 lug 2003 - 08:45
Ciao,
quello che voglio realizzare è la possibilità da un PC di chiamare tramite telefono un'altro PC, in un certo modo, in effetti, una connessione dial-up. Questa operazione deve avvenire in automatico in orari prestabiliti. Sai come è possibile farlo ?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 16 lug 2003 - 11:08
Allora fai così come ti ho detto in precedenza.
Usa il rasdial.exe per fare la chiamata in uno script batch. Una volta instaurata la connessione lancia il tuo programma che copia o scarica i dati dal computer a cui si è collegato semplicemente tramite i comandi copy o da .NET File.Copy.
Alla fine usa rasdial.exe /disconnect per disconnetterti.
Chiaramente come ti dicevo in precedenza sul computer su cui ti connetti deve esserci un RRAS un server di accesso remoto.
Ciao
David
vpanta
Profilo
| Senior Member
202
messaggi | Data Invio:
mer 16 lug 2003 - 13:56
Grazie per la tua risposta, ma come faccio a creare un RAS ?, come si può realizzare una connessione tramite codice ?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 16 lug 2003 - 14:36
Eh eh... un server RRAS si può fare con Windows 2000 Server, con Windows 2003 con Windows XP Pro e con Windows 2000 Professional. Devi avere un modem a disposizione che metti in modalità listening, in modo che accetti le chiamate.
Da un altro computer ti connetti a quel computer tramite linea telefonica come se ti connettessi ad Internet lui acceterà la tua chiamata fornirai le credenziali per le autenticazione e sarai fisicamente connesso.
A quel punto puoi mappare cartelle condivise remote e copiare i file.
Chiaramente la velocità massima che puoi raggiungere in questo modo è 56kbit o 64kbit se usi un'ISDN.
Se vuoi sapere come si fa a mettere in piedi un mini server RAS su XP Pro puoi seguire le istruzioni riportate qui:
http://www.microsoft.com/TechNet/prodtechnol/winxppro/reskit/prcg_cnd_lmno.asp
Ciao
David
vpanta
Profilo
| Senior Member
202
messaggi | Data Invio:
mer 16 lug 2003 - 20:49
Grazie per il tuo aiuto, sei stato molto gentile,
provo e ti faccio sapere.
Una cosa, invece di utilizzare rasdial esiste un modo per connettermi in automatico via codice ?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 16 lug 2003 - 21:08
Allo stesso modo esiste una API nativa di Windows chiamata RasDial qui trovi documentazione:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rras/rras/rasdial.asp
Se la vuoi usare da .NET devi usare l'interoperabilità, che non è molto semplice da usare e da gestire e bisogna avere un buon background di C/C++ e di Win32 API.
Ciao
David De Giacomi
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 17 lug 2003 - 09:03
Non c'è un modo per richiamare con qualche riga di codice la connessione di accesso remoto. Mi basta solo questo ossia da vb.net far visualizzare la connessione remota.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 17 lug 2003 - 14:44
Trinity,
ciao, ho già scritto quasi tutte. Dall'applicazione .NET puoi richiamare un batch in cui usi rasdial.exe per connetterti.
Oppure con l'interoperabilità usi la funzione RasDial().
Altri modi io non ne conosco.
Ciao
David
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 17 lug 2003 - 16:31
ok allora mi potresti far vedere qualche riga di codice per richiamre una connessione ad internet con RasDial()? tieni presente che si utilizzano modem interni o esterni analogici 56k.
ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 17 lug 2003 - 21:08
Eh eh io arrivo fino a qui, poi devi andare un po' avanti anche tu.
Non ho una soluzione già pronta per fare ciò che chiedi, dovrei mettermi a lavorare e costruire il programma apposta.
Come ti dicevo l'interoperabilità non è roba semplice ed è necessaria conoscenza di Win32API e di linguaggio C.
Ora hai vari spunti per proseguire, ci metti un po' di volontà e ce la farai.
Ciao
David
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 4 ago 2003 - 09:25
Ragazzi devo fare un piccolo progettino di invio e di ricezione di file txt tra modem, in vb net si può fare? E se si coem e dove posso vedere qualche esempio? Perche non so proprio da dove partire..
Ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 4 ago 2003 - 10:53
Trinity,
dopo un Thread di 20 risposte sull'argomento sei di nuovo qui a chiedere la stessa cosa?
Direi che forse è ora che ti metti anche un po' a studiare, se devo farti io il programma completamente non ha molto senso non credi?
Se è qualcosa che non riesci a fare o non sai dove partire scendi di livello e fai qualcosa di più semplice.
Non puoi partire da una casa partendo dal tetto. Quello che vuoi fare prevede conoscenze di base che forse non hai.
Tutti i riferimenti necessari te li ho dati, ora vai avanti tu. Se ci fosse un esempio la programmazione sarebbe solo una copia e incolla continuo.
Ciao
vpanta
Profilo
| Senior Member
202
messaggi | Data Invio:
ven 29 ago 2003 - 08:49
Salve a Tutti,
Ho provato e sono riuscito a realizzare una connesione Punto-Punto tramite il RAS di Windows Xp. Quello che volevo chiedere, ma è possibile creare un sistema Multi-Punto, in modo che più client si collegano al Server ?
Ciao, a presto
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 29 ago 2003 - 09:41
Per quest'operazione, che io sappia servono più modem, più linee telefoniche e un sistema che supporti più ingressi come il RAS di Windows 2000 Server o 2003.
Quello di Windows XP dev'essere sicuramente limitato non so però a quanti client.
In più per fare cose di questo tipo di solito ci sono apparati particolari e anche centraline telefoniche apposite per accettare più utenti contemporaneamente e gestirli.
Sono simili a quelle che usano gli ISP, non è che hanno un modem per ogni utente, se no chissà quanti ne avrebbero! Sono delle macchine che collegate alle linee accettano varie connessioni.
Ciao
David De Giacomi
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !