0

PING を IRC に PONG で戻すことができず、「最初に登録する必要があります」というエラーが返されます。使用しているコードは次のとおりです。

Private Sub wsConnect_DataArrival(ByVal bytesTotal As Long)
  Dim strData As String

    wsConnect.GetData strData

    If InStr(strData, "PING") <> 0 Then
    MsgBox ("Success!") 'Check it's receiving it.
        wsConnect.SendData Replace(strData, "PING", "PONG") & vbCrLf
    End If

    Me.txtDataIn.Text = Me.txtDataIn.Text & strData
End Sub

何か助けはありますか?

4

1 に答える 1

1

ここでも、RFC2812 の IRC プロトコル定義が役立ちます: https://www.rfc-editor.org/rfc/rfc2812

サーバーからの PING コマンドは次のようになります。

PING :3213546231

このコマンドの正解は次のとおりです。

PONG :3213546231

PING で送信されたものと同じ識別子を使用します。

/^PING :(.+)/   -->  respond with "PONG :$1"

エラーメッセージは、サーバーに適切な方法で接続していないことを示しています。TCP ソケットを確立した後、次のコマンドを送信する必要があります。

NICK <yourNickName>
USER <yourUserName> 32 . :<yourRealName>

その後、MOTD を受け取ります。この後、「PING - PONG」プレイが開始され、接続がまだ有効であることを確認します。

または、認証が必要なサーバーに接続しています。

その場合は、次のコマンドを送信する必要があります。

PASS <yourpassword>
于 2010-07-13T13:13:00.060 に答える