| |
![zurück](../images/b_zurueck.gif)
VB.NET - FortgeschritteneString Probleme, Sockets und IRC Client | | ![](../images/trans.gif) | Autor: snoopy2005 | Datum: 01.02.05 00:04 |
| Guten Abend,
ich bin grade dabei einen IRC Client in VB.NET zu schreiben. Habe es schonmal in C gemacht und hatte da eigentlich keine größeren Probleme, doch beim .NET schon.
Hoffe hier sind ebenfalls welche die sich mit IRC auskennen.
Beim IRC ist es so, man schickt seinen Nicknamen zum Server, danach kommt vom Server ein PING :ID diese nachricht muss man mit PONG :id beantworten. Das klappt einwandfrei. Habe mir einen Thread geschrieben der im Hintergrund die Recv nachrichten abfängt und in ner RichBox ausgibt. So danach wird der User registriert. Klappt auch einwandfrei. Dann kommt die Motd. Klappt auch einwandfrei. So dann kann ich Channels joinen nachrichten schreiben und co. Klappt alles. Doch nach einem bestimmten Interval(vom Server vergeben) bekomme ich wieder eine PING :id vom Server um zu schauen ob man noch da ist. Wenn nciht kommt nen TimeOut und man ist gekickt. So ich bekomme ich Ping nachricht und bastel mir daraus wieder ein PONG :id und sende diese Nachricht zum Server. Doch leider bekomme ich dann als Antwort ein eccess flood. Dieser Fehler tritt auf wenn man Beispielsweise statt PONG :id PONG :id bla asd "newline" blub zum Server senden würde, sprich der Server zuviel bekommt. Doch eigentlich ist dies nicht der fall bei mir und ich bekomme trotzdem ein eccess flood. Hoffe ihr versteht meine sorge und könnt mir helfen. Hier mal der Code meiner Schleife zum empfangen der Daten.
Private Sub Daten_Empfangen()
Dim bBuffer(1024) As Byte
Dim dBuffer As Byte()
Dim sBuffer As String
Dim subBuffer As String
Dim ausgabe As Boolean
Dim logged As Boolean = False
Dim id As String
Dim brecv(1024) As Byte
Dim bsend As Byte()
Dim send As String
Dim recv As String
While i < 99
'bBuffer = Nothing
recv = Nothing
sBuffer = Nothing
brecv.Clear(brecv, 0, 1024)
Client.Receive(brecv)
recv = Encoding.ASCII.GetString(brecv)
richMessage.AppendText(recv & System.Environment.NewLine)
ausgabe = recv.StartsWith("PING :")
If ausgabe = True Then
'MessageBox.Show(sBuffer)
'If logged = False Then
id = recv.Substring(6)
id = id.Remove(19, 100)
'send = "PONG :" & id & System.Environment.NewLine
'MessageBox.Show(send)
'bsend = Encoding.ASCII.GetBytes(send)
'Client.Send(bsend)
'richMessage.AppendText("Ping? Pong! " &
' System.Environment.NewLine)
'ausgabe = False
'logged = True
'End If
MessageBox.Show(id)
send = "PONG :" & id
richMessage.AppendText(send & System.Environment.NewLine)
bsend = Encoding.ASCII.GetBytes(send)
Client.Send(bsend)
sBuffer = Encoding.ASCII.GetString(bsend)
MessageBox.Show(sBuffer)
richMessage.AppendText("Ping? Pong! " & _
System.Environment.NewLine)
ausgabe = False
End If
bsend.Clear(bsend, 0, 1024)
End While
End Sub ich weiß da sind ne Menge Variabeln die nciht genutzt werden, habe diese nur noch nicht entfernt.
Hoffe ihr könnt mir helfen oder mich zu einem anderen Forum verweisen wo es jemanden gibt der sich damit auskennt. Vielen Dank schonmal im vorraus. | ![](../images/trans.gif) |
![](../images/48x48/info.gif) | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
![nach oben](../images/b_top.gif) ![zurück](../images/b_zurueck.gif) |
|
sevAniGif (VB/VBA) ![sevAniGif für VB/VBA](../images/werbung/sevanigif_100x100.jpg)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats Access-Tools Vol.1 ![Access-Tools CD Vol.1](../images/werbung/apvol1_68x100.gif)
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|