webForumDet fria alternativet

Tcp - Irc

7 svar · 326 visningar · startad av P

PMedlem sedan jan. 20012 204 inlägg
#1

Någon som har jobbat med detta? Har ett problem när jag försöker ansluta mig mot servern, koden verkar fungera, skriver ut allt i stil med :

:mozilla.se.eu.dal.net NOTICE AUTH :*** Found your hostname, cached
:mozilla.se.eu.dal.net NOTICE AUTH :*** No Ident response
ERROR :Closing Link: 0.0.0.0 (Ping timeout)

Men sen får jag ERROR? Någon som har en aning om vad det beror på? Lite kod i sammanhanget:

            tcpClient = New TcpClient()
            tcpClient.Connect(strIrcServer, intIrcPort)
            ircReader = New StreamReader(tcpClient.GetStream)
            ircWriter = New StreamWriter(tcpClient.GetStream)
            ircWriter.Write(String.Format("USER {0} {1} * :{2}", strIrcUser, "0", strIrcRealName))
            ircWriter.Flush()
            ircWriter.WriteLine(String.Format("NICK {0}", strIrcNick))
            ircWriter.Flush()
            ircWriter.WriteLine(String.Format("JOIN {0}", strIrcChannel))
            ircWriter.Flush()
Nexus86Medlem sedan okt. 20023 030 inlägg
#2

Servern skickar en stäng lite då och då innehållandes PING och en massa siffror och bokstäver. Meningen är att du ska ta dessa och skicka tillbaka till servern fast med ordet PONG före. T.ex.

Om du fick

[red]PING 75346543[/red]

ska du skicka tillbaka

[red]PONG 75346543[/red]

Sedan det där med No Ident response: Servern försöker koppla upp till din dator på port 113 har jag för mig och väntar sig att du ska skicka en sträng tillbaka. Minns dock inte vad den vill ha tillbaka tyvärr. :l

PMedlem sedan jan. 20012 204 inlägg
#3

Hmm Ping-Pong är löst ska kolla vidare med port 113...

PMedlem sedan jan. 20012 204 inlägg
#4

Hmm vad jag kan se så försöker inte servern kontakta mig på port 113. Jag ansluter mig ju mot xx.xx.xx:6667 och den svarar ju där men sen så dör den bara, eller om det är hos mig det dör.

renholmMedlem sedan apr. 20012 266 inlägg
#5

Ident (113) är inget du måste köra utan det bör fungera ändå, fast anslutningsprocessen tar lite längre tid. Att du inte får någon anslutningsrequest på port 113 kan bero på att du t.ex sitter bakom en brandvägg.

PMedlem sedan jan. 20012 204 inlägg
#6

Ja sitter bakom brandvägg. Har felsökt hela eftermiddagen men kan inte hitta vad som kan vara fel.

PMedlem sedan jan. 20012 204 inlägg
#7

Av någon anledning så fungerar det hyffsat just nu. Kan ansluta mig men sen får jag problem. Vill fånga upp den data som kommer till mig, använder StreamReader och är ansluten till irc. Servern skickar mig 10 rader data så ser jag bara hälften, varannan. Se koden nedan.

skriver ut med denna funktion:

while true
write()
If (IrcReader.ReadLine.StartsWith("ojj")) = True Then
.....
end while

..............
    Function Write()
        Console.Write(IrcReader.ReadLine() & Environment.NewLine())
    End Function

Men om jag tar bort mitt if, så kommer alla skrivas ut.

SPiNMedlem sedan mars 20007 896 inlägg
#8

Du kan bara läsa samma rad en gång, så du får lägga in datan som kommer till dig i en temporär sträng eller en buffer.

while true
tmpStr = IrcReader.ReadLine()
Write( tmpStr )
If tmpStr.StartsWith( "ojj" ) = True Then
...
End While

...
Function Write( ByRef myStr As String )
     Console.Write( myStr & Environment.NewLine() )
End Function
138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)