Sunflower84 Geschrieben 11. April 2007 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
steinadler Geschrieben 11. April 2007 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.
Sunflower84 Geschrieben 11. April 2007 Autor 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
steinadler Geschrieben 11. April 2007 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?
Sunflower84 Geschrieben 11. April 2007 Autor 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
steinadler Geschrieben 11. April 2007 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.
Sunflower84 Geschrieben 11. April 2007 Autor 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
Sunflower84 Geschrieben 11. April 2007 Autor Geschrieben 11. April 2007 Hat sich erledigt. Trotzdem Danke Lg Sunflower84
steinadler Geschrieben 11. April 2007 Geschrieben 11. April 2007 Hat sich erledigt. Trotzdem Danke Lg Sunflower84 Was war denn der Fehler?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden