早上好,
我一直在用Visual Basic编写一个非常简单的IRC客户端。我有一个很小的问题,当我写入网络流时。在其他客户端上,我的消息在第一个空格字符后被切断。我确信这是一个简单的事情,因为消息正在发送,接收很好并且在我阅读消息的任何地方调试它的问题(即如果我debug.print将消息写入流,它仍然包括所有的单词和空格。)这是我的代码。
提前致谢
'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
答案 0 :(得分:2)
您可能只需要在邮件前加上“:”,就像这样......
PRIVMSG #chan_name :your message with spaces
答案 1 :(得分:0)
通过刷新,调用流的flush函数...哪个(如果我没记错的话)清除缓冲区中的数据,并同时写入它。
ircStream.Flush()