[C#] comunicazione ethernet

giovedì 28 febbraio 2008 - 10.42

skomed Profilo | Newbie

salve a tutti..

vorrei effettuare una comunicazine con un dispositivo esterno collegato via ethernet al mio pc.

In particolare mi servirebbe poter inviare dati al dispositivo e eventualmente leggere la risposta. O semplicemente fare una lettura di quello che mi sta inviando il dispositivo..


come si realizza?

spunti , consigli , suggerimenti , link sono ben accetti :))

ovviamente come da titolo il tutto in C#.

Nel frattempo comincio gia nel ringraziate chiunque sia cosi gentile da provare ad aiutarmi...

grazie e spero a presto.

Biagio

luigidibiasi Profilo | Guru

Ciao,
hai trovato qualche soluzione a questo problema?
Luigi Di Biasi

skomed Profilo | Newbie

sto ancora facendo alcune prove.

la connessione sono riuscito a stabilirla.

ora sto cercando di capire come trasformare i campi che voglio trasmettere (uint,ushort,string,byte,char) in un array di byte che poi posso inviare tramite il metodo write di Networkstream.

e poi devo ricevere la risposta dal dispositivo nello stesso modo. quindi devo guardare come tornare dall'array di byte alle mie variabili iniziali.....

probabilmente mi servirà ancora un po di aiuto... vi farò sapere a breve...

grazie per l'interessamento!

adima80 Profilo | Junior Member

Ciao, ti do un paio di dritte così eviti di impazzire con i TCPClient/TCPServer e i socket (anche se è infinitamente più divertente ).

1) remoting, tecnologia proprietaria del framwork per creare applicazioni client/server perfetta da utilizzare all'interno della rete LAN
2) Web Serice, "nuova" tecnologia client/server per la comunicazione di dati, principalmente utilizzata su HTTP perfetta per internet, io ti consiglio questa. Se cerchi su google "Web Service + C#" trovi tutte informazioni che ti servono compresi tutorial per tutti i livelli.

Spero di esserti stato di aiuto, ciao!

luigidibiasi Profilo | Guru

Sono interessato anche io a questo argomento anche se non ho mai iniziato seriamente a guardare come .net permette di usare ethernet a basso livello.

Se ti và magari potresti passarmi il codice per stabilire la connessione ;) Grazie!
Luigi Di Biasi

skomed Profilo | Newbie

oggi finalmente sono riuscito a realizzare l'invio di un comando e la lettura della risposta (mamma quanto sono niubbo :P ). grazie ragazzi

adima80 Profilo | Junior Member

>e la lettura della risposta (mamma quanto sono niubbo :P ).
Fan fatica tutti all'inizio, l'importante è divertisi!

skomed Profilo | Newbie

volevo porre una domanda sempre nell'ambito di questo problema.

ho creato un oggetto Tcpclient per potermi connettere al dispositivo.

è possibile utilizzare lo stesso client per collegarmi allo stesso dispositivo ma su una porta differente?

con clienttcp.close() mi elimina completamente l'oggetto quindi dovrei crearne uno nuovo per rifare la connessione.

io vorrei poter fare una cosa del tipo :

clienttcp.connect("192.168.0.1",0x5050);
//disconnettermi in qualche modo
clienttcp.connect("192.168.0.1",0x5051);

si puo fare?

Anonimo Profilo | Senior Member

Non vorrei dire una bestialità (correggetemi se sbaglio) ma dovrebbe essere uguale anche per i file stream.
Se tu apri un filestream e poi lo chiudi dopo non puoi più aprire lo stesso di nuovo, devi crearne un altro.

La stessa cosa dovrebbe essere coi socket (nun me ricordo, l'ho scritto giusto?) quindi dovresti creare un nuovo oggetto per una nuova connessione su una porta diversa.

Te l'ho detto magari sbaglio ma penso sia così!

Ciao .
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5