Zu Server connecten und stream auslesen

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Ticha

Betreff: Zu Server connecten und stream auslesen

BeitragDi, März 27, 2007 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe folgendes beispiel mir zusammengebastelt um etwas von einem server auszulesen.

Code: [AUSKLAPPEN]
Local in:TStream = ReadStream("http::192.168.2.105")

If Not in Print("konnte stream nicht lesen")

While Not Eof(in)
   Print(ReadLine(in))
Wend
CloseStream in


dieses Beispiel liest aus was mein Apache server mit schickt wenn ich ih so abrufe.

jetzt möchte ich aber einen irc serevr anwählen und muss dazu den port ändern.. wie mache ich das?

so?

Code: [AUSKLAPPEN]
Local in:TStream = ReadStream("6667::192.168.2.105")


wenn ich ihn mit

Code: [AUSKLAPPEN]
Local in:TStream = ReadStream("192.168.2.105:6667")
anschreibe gibt er mir folgendes aus:

Code: [AUSKLAPPEN]
Building irc
Compiling:irc.bmx
flat assembler  version 1.64
3 passes, 3015 bytes.
Linking:irc
Executing:irc
hallo
Test

Process complete


aber ich kann mir nich vorstellen das das der IRC server ist... oder doch?

wenn nein, was muss ich tun um ihn anzuwählen? Ich möchte mir was eigenes basteln und nich auf ein modul zurückgreifen.

BtbN

BeitragDi, März 27, 2007 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Du weist aber schon, dass du mit ReadStream bereits auf ein Modul zurückgreifst?
 

Ticha

BeitragDi, März 27, 2007 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das ismir schon klar... aber ich meine ein extra irc mudoul will ich nicht verwenden... sondern die connection zum server doch selbst schreiben. sry da hab ich mich vlt falsch ausgedrückt

Lunatix

BeitragDi, März 27, 2007 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie wärs mit Socket ??

Code: [AUSKLAPPEN]
Local sock:TSocket = TSocket.CreateTCP()
If not sock.connect(intip("192.168.2.105"),6667) then Print "Unable to connect server"
Local Stream:TSocketStream = TSocketStream.Create(sock,true)

While not Stream.eof()
  print stream.readline()
wend

sock.close()
stream.close()
end
[/code]
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Ticha

BeitragDi, März 27, 2007 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm er meint er kennt " intip " nicht. Im Index gibts das auch nich :-I Dachte zuerst es sein ein schreibfehler aber hab dan ja gesehen, dass es ein String ist... Embarassed

EDIT:

hab deinen Fehler glaub ich gefunden. Ersetz das intip mit HOSTIP dann funktioniert es Smile gruss Ticha

Lunatix

BeitragDi, März 27, 2007 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
[Edit] Nein ich habe keinen Fehler gemacht. JEdenfalls nicht direkt. Und HostIP macht nicht genau das wie IntIP. IntIP berechnet nur die Integer IP aus einer DottedIP. HostIP fragt (meines wissens nach) nach der IP einer adresse...[/Edit]

argh, ich wusste ich vergaß etwas.... naja, für die die schon mit Blitz3D/2D/Plus (kan man dafür mal nen Oberbegriff definieren, damit man ds von max unterscheiden kann ._. ?) udp/tcp programmierten, sollte das bekannt sein...

Code: [AUSKLAPPEN]
;Original von [url]http://blitzbase.de/befehle2d/createudpstream.htm[/url]

FUNCTION INT_IP(IP$)
   a1=INT(LEFT(IP$,INSTR(IP$,".")-1)):IP$=RIGHT(IP$,LEN(IP$)-INSTR(IP$,"."))
   a2=INT(LEFT(IP$,INSTR(IP$,".")-1)):IP$=RIGHT(IP$,LEN(IP$)-INSTR(IP$,"."))
   a3=INT(LEFT(IP$,INSTR(IP$,".")-1)):IP$=RIGHT(IP$,LEN(IP$)-INSTR(IP$,"."))
   a4=INT(IP$)
   RETURN (a1 SHL 24) + (a2 SHL 16) + (a3 SHL 8 ) +a4
END FUNCTION


Code: [AUSKLAPPEN]
In Blitzmax:
   Function int_ip:int(ip:String)
      Local a1:Int,a2:Int,a3:Int,a4:Int
      a1=Int(Left(ip,Instr(ip,".")-1))
      IP$=Right(ip,ip.length-Instr(ip,"."))
      
      a2=Int(Left(ip,Instr(ip,".")-1))
      IP$=Right(ip,ip.length-Instr(ip,"."))
      
      a3=Int(Left(IP$,Instr(IP$,".")-1))
      IP$=Right(ip,ip.length-Instr(ip,"."))
      
      a4=Int(ip)
         Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4
   End Function
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Ticha

BeitragMi, März 28, 2007 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Sad Sad

hmm er hatte aber intip nich gekannt. Hab dann das andere probiert, womit es dann auch als dotted IP funktioniert hat. ICh versuche jetzt erstmal eine connection mit dem server aufzubauen und dann überhaupt in einen channel reinzukommen. Und dann werd ich versuchen das grafisch in ein GUI einzubauen Smile

danke für deine hilfe du hast mir sehr geholfen Smile

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group