Sunflower84 Geschrieben 11. April 2007 Teilen Geschrieben 11. April 2007 Hallo Ich habe eine Clientsoftware die einen Countdown beinhaltet. Des weiteren habe ich eine Serversoftware die unter anderem den aktuellen Wert des Countdowns der Clientsoftware in einem Label anzeigen soll. Ich habe hier eine Methode die mir den aktuellen Timerwert anzeigen soll: Private Sub socket_DataArrival(ByVal bytesTotal As Integer) Label7.Text = bytesTotal.ToString socket(0).GetData(Label8.Text) End Sub Ich bekomme hier auch den aktuellen Wert in das Label8 rein geschrieben. Doch wenn ich dann folgendes noch hinzufüge: socket(1).GetData(Label9.Text) um den aktuellen Wert eines anderen Clients zu sehen bekomme ich den Status 9 also Fehler. Wenn ich zwischen socket(0) und socket(1) eine MessageBox ausgeben will erscheint die auch nicht. Was für mich heisst, dass er die Methode nach socket(0) abbricht. Aber warum? Hat da jemand eine Idee? Lg Sunflower84 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 11. April 2007 Teilen Geschrieben 11. April 2007 Private Sub socket_DataArrival(ByVal bytesTotal As Integer) Label7.Text = bytesTotal.ToString socket(0).GetData(Label8.Text) End Sub Aber warum? Hat da jemand eine Idee? Lg Sunflower84 Hi Sunflower84, ... hübsches Bild übrigens ... Pack doch obige Routine mal in nen Try Catch Block, und lass dir im Catch-Teil per Messagebox die Exception ausgeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 11. April 2007 Autor Teilen Geschrieben 11. April 2007 Wenn ich das mach bekomme ich folgende Fehlermeldung: Ausnahme von HRESULT:0x800A9C46 Kann das sein das ich versuche Daten zu senden und gleichzeitig zu empfangen? Lg Sunflower84 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 11. April 2007 Teilen Geschrieben 11. April 2007 Wenn ich das mach bekomme ich folgende Fehlermeldung: Ausnahme von HRESULT:0x800A9C46 Kann das sein das ich versuche Daten zu senden und gleichzeitig zu empfangen? Lg Sunflower84 Setz dort mal statt der Messagebox nen Haltepunkt rein und schau dir an dieser Stelle mal die gesamte Exception an; das sieht aus wie nur ein Teil der Fehlermeldung. Kannst du mal bisschen mehr Programmcode rausrücken? Zumindest das, wo du die beiden Sockets erzeugst. Wieso Senden und empfangen??? Wo sendest du denn was? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 11. April 2007 Autor Teilen Geschrieben 11. April 2007 Hier noch der Code wo es um das Winsock geht: Deklariert habe ich das socket so: Dim socket(30) As MSWinsockLib.Winsock Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim data As String Dim i As Integer For i = 0 To 29 With socket(i) lblclientstatusarray(i).Text = WinsockStatetoString(i) End With Next End Sub Private Function WinsockStatetoString(ByVal index As Integer) Dim status As String Select Case (socket(index).State) Case 0 : status = "Verbindung geschlossen" Case 1 : status = "Verbindung geöffnet" Case 2 : status = "Empfangsbereit" Case 3 : status = "Verbindung wird aufgebaut" Case 6 : status = "Verbindung wird hergestellt" Case 7 : status = Receive_Data(index) '"Verbindung erfolgreich" Case 8 : status = "Verbindung getrennt" Case 9 : status = "Fehler" End Select Return status End Function Ich hoffe du kannst damit was anfangen. Lg Sunflower84 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 11. April 2007 Teilen Geschrieben 11. April 2007 Aber du musst doch den Sockets auch irgendwas zuweisen... also IP und Port. Wo und wie machst du denn das? Hat jedes Socket einen anderen Port? Und wenn du nur 1 Socket nimmst geht es fehlerfrei? Wie ist das Timer-Intervall gewählt?? Könnte sein, dass der Timer schneller ist als die 30 Aufrufe und sich somit was überschneidet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 11. April 2007 Autor Teilen Geschrieben 11. April 2007 ich mach das alles über einen Port. Hier 2 Methode meines Clients Private Sub Open_Communication() With socket .Close() .LocalPort = 11000 AddHandler .ConnectionRequest, AddressOf Socket_ConnectionRequest AddHandler .DataArrival, AddressOf Socket_DataArrival .Listen() End With End Sub Private Sub Socket_ConnectionRequest(ByVal requestID As Integer) 'MessageBox.Show("test") 'Winsock wird geschlossen da es noch 'auf verbindungen wartet socket.Close() 'Eine Verbindung wird akzeptiert socket.Accept(requestID) End Sub Lg Sunflower84 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 11. April 2007 Autor Teilen Geschrieben 11. April 2007 Hat sich erledigt. Trotzdem Danke Lg Sunflower84 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 11. April 2007 Teilen Geschrieben 11. April 2007 Hat sich erledigt. Trotzdem Danke Lg Sunflower84 Was war denn der Fehler? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.