PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pocket PC / Windows Mobile



Alex20q90
04.04.2008, 10:54
Hallo,

ich schlage mich gerade mit einem Problem herum!

Ich habe für meinen Pocket PC (hat Windows Mobile 5 drauf) ein Programm (eigendlich ein Progrämmle) geschrieben das _soweit_ läuft.

Ablauf:

Mit dem Programm sende ich vom PPC über WLAN ein UDP-Paket (5 Bytes). Kommen diese beim Empfänger (PC) an (da läuft auch ein Progrämmle^^) geht jenachdem welche 5 Byte es sind ein Fenster mit unterscgiedlichen Meldungen auf (Tür auf / Fenster etc). Das klappt ja _soweit_!

Sobald ich aber mit dem PPC den WLAN-Bereich verlasse bzw die Verbindung kurz unterbrochen wird (durch Störung wie Funkkamera, Stromausfall) und danach wieder vorhanden ist, stürzt mir das Programm ab!

Ich hab schon das Internet quer durchgesucht, aber da ich noch Anfänger bin nutze ich warscheinlich die falschen Suchbegriffe!

Es muss doch eine Möglichkeit geben diesen Fehler abzufangen und auszuwerten? Ich hab auch schon versucht vor jedem Senden die Verbindung zu öffnen, senden und dann zu schließen. Aber das geht anscheinend auch nicht. Erst wenn ich das Programm beende und neu starte ist alles IO.

Die Fehlermeldung :

"Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist"

System.Net.Sockets.Socket.ConnectNocheck()
System.Net.Sockets.Socket.Connect()
System.Net.Sockets.UdpClient.Connect()
System.Net.Sockets.Socket.Connect()

Ich benutze Visual Studio 2005 VB.

Ceos
04.04.2008, 11:19
das ist schwierig ohne den code zu wissen, connectest du denn jedesmal erst den udp-socket bevor du sendet/empfängst ? kapsle mal alle befehle die du wirkst mit try catch blöcken ein und gib eine sinnvolle fehlermeldung aus wenn es mal micht klappt, so sollte dein programm auch nicht permanent abstürzen

Alex20q90
04.04.2008, 11:50
Hi,

also ich hab es so :



Try
udpClient.Send(bytCommand, bytCommand.Length)
Catch e As Exception
textcode = e.ToString()
End Try



Hinzugefügt hab ich jetzt mal



MsgBox(textcode)


Jetzt stürtzt es zwar nicht mehr ab, aber ich hab auch keine Verbindung mehr. bei jedem Senden kommt diese Fehlermeldung^^

Ceos
04.04.2008, 11:59
huh ? visual basic O_o ?
ok ich benutze c# ich kündige schonmal mein unverständnis an wenn da noch mehr code kommt :p ich bin ein c idiot

was meldet er denn ? die exception sollte eventuell sinnvolle debugausgaben beinhalten ... by the way wenn du mit visual studio arbeitest kannst du auch mit dem PC debuggen während das gerät angeschlossen ist ... jetzt frag mich aber bitte nicht wie, das hab ich vor nem halben jahr mal gemacht XD

ich schreibe meine anwendungen alle immer erst für den PC und portiere sie wenn die perfekt sind

Alex20q90
04.04.2008, 12:22
ich bin ein c ***AUTOZENSIERT


Aha, was macht man als c autozensierter so O_o O:)



ok ich benutze c# ich kündige schonmal mein unverständnis an wenn da noch mehr code kommt :p i

Visual Studio hat ja den gleichen Compiler. Nur der Dialekt C/C#/VB ist halt anderst. C# nach VB kann man im kleinen Rahmen sogar selber umstricken^^.



wenn du mit visual studio arbeitest kannst du auch mit dem PC debuggen während das gerät angeschlossen ist ...


Ja das geht wunderbar! Einfach F5, Ziel Gerät wählen und feuer...
ABER:

Beim Debugen wird die WLAN-Karte deaktiviert O_o^^

Also komm ich da nicht weiter^^

Auf jedenfall hab ich diese Fehlermeldung jetzt in einem Fenster. So wie es aussieht kann ich das Problem so garnicht abfangen. Sobald die Verbindung weg ist, ist auch der Socket anscheinend weg (und bleibt weg).

Neu öffnen bzw Connecten geht da nicht mehr. Die Fehlermeldung besagt das es kein Socket mehr gibt. Auch nach jedem Senden den Socket zu schließen geht irgendwie nicht! Zumindest benutz ich



udpClient.Close()

Ceos
04.04.2008, 12:29
es sollte c- i d i o t heissen ... grummel ... das mitm debuggen iss ja doof ... ich kann dir leider nicht vor 16uhr helfen, sitze hierauf arbeit fest und hab nur BDS2k6 .. VS hab ich aufm PC zu hause ... theoretisch sollte schliessen und neu öffnen aber gehen .... hmmmm komisch versuch dich mal auf www.c-plusplus.de/forum da werden sie manchmal auch geholfen, aber vorsicht da sind se reichlich unfreundlich bei ungünstiger fragenstellung :p

Alex20q90
04.04.2008, 12:37
Lol c... Naja, wer c kann, kann auch alles andere^^ Ich hab mit C aufgehört, da es mir zu umständlich ist und mit vb bzw b ich schneller ans ziel komm.

Ist nicht so wild! Ist ja ein Hobbyprojekt! Ich wer mal durch einige Foren suchen. Eventuell ist das ein problem mit vs 2005 vb 2005

Ceos
04.04.2008, 12:39
suchen ist immer gut, vll. kann hier noch wer helfen, aber woran es unter GARANTIE nicht liegt ist VB2k5 ^_^