Seite 2 von 4

Re: IRC-Client

Verfasst: Do 30. Jan 2014, 18:54
von joergd
Ich schreib mal selbst einen Bugreport:
  • Zumindest auf German-Elite funktioniert das automatische Join nicht. Wenn man den Channel (z.B. #Hive) konfiguriert und gespeichert hat (bei der Erstinitialisierung oder mittels F2) und sich dann mit F3 verbindet, wird auch automatisch "gejoined". Das klappt aber nicht, da muß ich noch am Timing feilen. Abhilfe: F2 drücken, alle Werte entsprechend konfigurieren, aber den Channel leer lassen. Dann F3 zum Verbinden drücken. Nach erfolgreicher Verbindung "/join #hive" eingeben.
  • Private Mitteilungen (mit "msg <nick> <text>) sind nicht als solche zu erkennen. Da gibts keine Abhilfe, sondern bald eine gefixte Version.

Re: IRC-Client

Verfasst: Do 30. Jan 2014, 20:14
von joergd
So, auf die Schnelle gibts eine korrigierte Version des IRC-Clients unter
http://office.unitas-network.de/gitblit ... 2Firc.spin
(das ist mein GIT-Repository)

Alternative am Hive mit installiertem FTP-Client:

Code: Alles auswählen

ftp /s /h 88.198.147.76 /d /hive/boot/system /f irc.bin
Das lädt den neuen Client ins aktuelle Verzeichnis auf SD-Card. Kann von dort gestartet oder ins System-Verzeichnis kopiert werden.

Die Änderungen:
  • Timing für Auto-Join verbessert (Login bei German-Elite funktioniert)
  • bessere Darstellung privater Mitteilungen (noch nicht ideal)

Re: IRC-Client

Verfasst: So 2. Feb 2014, 19:11
von joergd
Im TriOS-Netzwerk-Thread gibts die neueste Netzwerk-Stack-Version, welche auch die aktuelle Version des IRC-Clients enthält. Da sind die oben beschriebenen Änderungen drin.

Re: IRC-Client

Verfasst: Di 4. Feb 2014, 13:45
von PIC18F2550
DNS Abfrage --> http://www.c-plusplus.de/forum/291979-full

Ist das für den HIVE Umsetzbar?

Re: IRC-Client

Verfasst: Di 4. Feb 2014, 14:52
von joergd
Prinzipiell ist (fast) alles umsetzbar. Hier ist es aber wirklich nicht einfach. Es geht ja darum, daß der Hive eine Namensauflösung machen soll. Entscheidend ist hier aus meiner Sicht RFC1123, dort steht:
RFC1123 hat geschrieben:DNS resolvers and recursive servers MUST support UDP, and SHOULD support TCP, for sending (non-zone-transfer) queries.
Die neuere RFC5966 schreibt zwar TCP-Support fest vor, trotzdem werden etliche DNS-Server, vor allem aber einfache Proxies in vielen Heimroutern, keine DNS-Abfragen über TCP unterstützen. Zudem steht in RFC1123 auch noch:
RFC1123 hat geschrieben:Specifically, a DNS resolver or server that is sending a non-zone-transfer query MUST send a UDP query first.
Kurz zusammengefaßt: ein Client muß zur Namensauflösung UDP unterstützen. Und genau das kann der hier genutzte IP-Stack von Harrison Pham nicht. Ich bilde mir ein, irgendwo mal einen Patch zur UDP-Unterstützung gesehen zu haben, finde das aber nicht mehr. Und das selbst einzubauen traue ich mir nicht zu (zumindest nicht auf die Schnelle).

Nachtrag:
Habs doch gefunden: http://forums.parallax.com/showthread.p ... r-ENC28J60
Muß ich mir mal genauer ansehen, aber hier scheint dann nur UDP anstelle von TCP zu funktionieren. Das paßt dann auch nicht so richtig. Man müßte ein admnet-udp in Administra laden, die DNS-Abfrage machen, anschließend admnet-tcp laden und die IRC-Verbindung starten. Geht zwar sicher, aber schön ist anders...

Re: IRC-Client

Verfasst: Di 4. Feb 2014, 16:58
von yeti
Ich hab mal Marjorie befragt...

EtherCard ist eine Arduino-Bibliothek für den ENC28J60 und hat DNS-Zeugs drin: https://github.com/jcw/ethercard/blob/master/dns.cpp

DNS wird man also sicherlich noch reinfriemeln können....

Re: IRC-Client

Verfasst: Di 4. Feb 2014, 17:56
von joergd
Das nützt aber nichts, wenn die dafür benötigte UDP-Schicht fehlt...

Re: IRC-Client

Verfasst: Di 4. Feb 2014, 18:01
von PIC18F2550
Neuere Router sollten DNS über TCP können.
Darum noch die alten bald Aussterbenden mit schleifen?
Auserdem ist die DNS über UTP im localem Netz nur eine Empfehlung.
Ein Test würde Zeigen was Sache ist.

Re: IRC-Client

Verfasst: Di 4. Feb 2014, 18:48
von joergd
PIC18F2550 hat geschrieben:Neuere Router sollten DNS über TCP können.
Darum noch die alten bald Aussterbenden mit schleifen?
Ich würde halt in einem System mit begrenzten Ressourcen gern eine einfache Variante nutzen, welche in den meisten Umgebungen unterstützt wird. Das wäre UDP. Ich befürchte, wenn ich das mit TCP umsetze, daß das bei 50% der Nutzer nicht funktioniert. UDP würde definitiv bei allen funktionieren.
PIC18F2550 hat geschrieben:Auserdem ist die DNS über UTP im localem Netz nur eine Empfehlung.
Nein. UDP ist Pflicht, TCP ist eine Empfehlung.
Okay, dann testet mal. Wenns funktioniert, siehts unter Linux so aus:

Code: Alles auswählen

$ dig hive-project.de +tcp

; <<>> DiG 9.9.4 <<>> hive-project.de +tcp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11374
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;hive-project.de.               IN      A

;; ANSWER SECTION:
hive-project.de.        86397   IN      A       213.133.100.177

;; Query time: 4 msec
;; SERVER: 172.17.2.254#53(172.17.2.254)
;; WHEN: Tue Feb 04 18:44:03 CET 2014
;; MSG SIZE  rcvd: 49
Wie das mit Windows geht, weiß ich leider nicht...

Re: IRC-Client

Verfasst: Mi 5. Feb 2014, 18:38
von PIC18F2550
Habe mal "driver_enc28j60.spin" mit "driver_enc28j60_UTP.spin" verglichen.

driver_enc28j60.spin
- version 6.0
- keine Interuptunterstützung "intpin"

driver_enc28j60_UDP.spin
- version 5.0

Die Kontrolle "protect from oversized packet" wurde geändert.

>>> Vieleicht lässt sich damit das Webserverprojekt reaktivieren ? <<<