2010-11-16 4 views
0

Matin Tous,VB Client IRC - WriteStream affiche uniquement un seul mot en IRC

J'ai écrit un jamais si simple client IRC dans Visual Basic. J'ai un problème niggly par lequel quand j'écris au flux de réseau. Sur d'autres clients, mon message est coupé après le premier caractère d'espace. Je suis sûr que c'est quelque chose de simple car les messages sont envoyés, la réception est correcte et le débogage le problème partout où je lis le message (ie si je debug.print le message étant écrit dans le flux il inclut toujours tous les mots et espaces .) Voici mon code.

Merci à l'avance

'Send data to IRC Server 
Sub Send(ByVal message) 
    Try 

     'Reformat message to IRC command 
      message = message & vbCrLf 
      Debug.Print(message) 
     'Convert message string into bytes 
     Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(message) 

     'Write data to stream 
     ircStream.Write(sendBytes, 0, sendBytes.Length) 

     'Run test to see if the string sent matches the user input 
     Dim messageSent As String = Encoding.ASCII.GetString(sendBytes) 
     Debug.Print(messageSent) 

     'Display message on the screen(0 = Sent Formatting) 
     PrintToScreen(message, 0) 

    Catch ex As Exception 
     'Catch error and display error message in the debug console 
     Debug.Print("Error Sending") 

    End Try 
End Sub 
+1

Avez-vous essayé de chasse? –

+0

Pas de pote mate qu'est-ce que rinçage lol? – Gary

Répondre

2

Vous avez probablement juste besoin de préfixer un ':' à votre message comme si ...

PRIVMSG #chan_name :your message with spaces

0

par rinçage, appelant la fonction de rinçage du flux ... Ce qui (si je me souviens bien) efface les données dans la mémoire tampon, et écrit en même temps.

ircStream.Flush() 
+0

Merci j'ai essayé mais cela ne résout pas le problème – Gary

+0

Eh bien, qu'est-ce que PrintToScreen()? – Pacane

+0

Une fonction permettant d'afficher les résultats dans un éditeur de texte enrichi, le paramètre nombre définit l'apparence du texte, c'est-à-dire 0 = envoyé, 1 = reçu. – Gary