Получение количества пользователей из IRC - PullRequest
2 голосов
/ 08 июля 2010

Я делаю IRC чат-клиент и хочу получить список пользователей или просто счетчик пользователей, как мне это сделать.Это метод, который я использую для подключения к IRC:

Private Sub IRCConnect()
        Dim stream As NetworkStream
        Dim irc As TcpClient
        Dim reader As StreamReader
        Try
            irc = New TcpClient(SERVER, PORT)
            stream = irc.GetStream()
            reader = New StreamReader(stream)
            writer = New StreamWriter(stream)
            ' Start PingSender thread
            Dim ping As New PingSender
            ping.Start()
            writer.WriteLine(USER)
            writer.Flush()
            writer.WriteLine("NICK " & Config.Nickname)
            writer.Flush()
            writer.WriteLine("JOIN " & Config.Channel & " " & Config.ChanPass)
            writer.Flush()
            txtView.Text = txtView.Text & ">Connected successfully." & vbNewLine
            HighlightPhrase(txtView, "Connected successfully.", Color.Lime)
            Thread.Sleep(2000)
        Catch Ex As Exception
            ' Show the exception, sleep for a while and try to establish a new connection to irc server
            txtView.Text = txtView.Text & ">ERROR: Unexpected error occured: " & Ex.ToString & vbNewLine
            HighlightPhrase(txtView, "Unexpected error occured: " & Ex.ToString, Color.Red)
        End Try
    End Sub

Я понятия не имею, с чего начать, любая помощь будет принята с благодарностью.

Ответы [ 2 ]

4 голосов
/ 08 июля 2010

IRC-протокол определен в RFC2812: http://tools.ietf.org/html/rfc2812

Отправьте команду «NAMES #currentchannel» (http://tools.ietf.org/html/rfc2812#section-3.2.5), и вы получите список всех видимых пользователей.Этот список можно посчитать и вуаля - там вы получили свой пользовательский счет

1 голос
/ 08 июля 2010

Начните с прочтения спецификации IRC, это RFC 2812 .

Вы захотите использовать сообщение NAMES. Вот соответствующий раздел из RFC.

...