Delphi-Forum.de Delphi-Library.de
C-Sharp-Forum.de C-Sharp-Library.de
Registrieren Login Suche Hilfe Sitemap
Binär-Protokoll-Tutorial (Sockets - Mal-Chat+Files)
spacer
Autor Nachricht
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Nussknacker 2009 - 1. Rang

Beiträge: 8070
Erhaltene Danke: 20
Dabei seit: 16.07.2004
Wohnort: Jahnsdorf

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, L0.9\FPC2.0
BeitragVerfasst: Mi 26.03.08 21:51  Antworten mit Zitat Beitrag melden
Buffer ist doch auch nur ein Bereich im Speicher. Und Speicher ist nix andres als ne riesig große Regalwand, wo man sich die Fächer so zusammenbauen kann, wie man se grad brauch ;-)

@Warum zuerst in den Speicher vor'm Senden: Müsste Narses eigentlich drin stehen haben ... Kann Dir aber mindestens 3 zusätzliche Gründe nennen:
- Geht schnell
- Datenbündelung
- Vermeidung kleiner Pakete

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
der13geist
Hält's aus hier

Beiträge: 10
Dabei seit: 09.10.2007
Wohnort: NRW

Win Vista Ultimate x86
D7 Pro, D2007
BeitragVerfasst: Mi 26.03.08 22:04  Antworten mit Zitat Beitrag melden
nja also der Code heisst ja eig. so

ausblenden Delphi-Quelltext markieren
1:
2:
SetLenght(BinMessage, 4); 
PInteger(@BinMessage[1])^ := Lenght(Edit1.Text);


und (da ich es immer noch nicht verstanden habe) ich hätte anstatt so es so geschrieben

ausblenden Delphi-Quelltext markieren
1:
BinMessage := Lenght(Edit1.Text);


Aber dieses würde ja nicht funktionieren.
Habe es leider imer noch nicht verstanden :(

_________________
01 05 54 F4
Private Nachricht sendenPosting in privater Nachricht zitieren
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur

Beiträge: 5245
Erhaltene Danke: 1
Dabei seit: 24.03.2004
Wohnort: Weingarten

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mi 26.03.08 23:42  Antworten mit Zitat Beitrag melden
Ähm... es steht doch dran warum:

1. BinMessage ist ein String
2. Die Länge des Strings soll im Binärformat in BinMessage geschrieben werden.

ausblenden Delphi-Quelltext markieren
1:
2:
BinMessage := Length(Edit1.Text);             // Geht nicht, weil BinMessage ein String
BinMessage := IntToStr(Length(Edit1.Text));   // Geht zwar, aber nicht im Binärformat


Und auf Seite 9 noch einmal ganz exakt beschrieben.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
der13geist
Hält's aus hier

Beiträge: 10
Dabei seit: 09.10.2007
Wohnort: NRW

Win Vista Ultimate x86
D7 Pro, D2007
BeitragVerfasst: Do 27.03.08 00:05  Antworten mit Zitat Beitrag melden
AHSOOO
Also ist dieser code eig. nur dazu da die länge des strings in Binär format abzuspeichern !?

_________________
01 05 54 F4
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Moderator

(Threadstarter)

Beiträge: 7361
Erhaltene Danke: 10
Dabei seit: 25.07.2004
Wohnort: Gelsenkirchen

W2k, WXPpro
D6pe, D7pro
BeitragVerfasst: Do 27.03.08 00:21  Antworten mit Zitat Beitrag melden
Moin!

der13geist hat folgendes geschrieben:
Also ist dieser code eig. nur dazu da die länge des strings in Binär format abzuspeichern !?
Genau. ;) Das WARUM wird schon in Kapitel 2.3 auf Seite 6 erklärt: Rahmenbildung über Längenzähler :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Private Nachricht sendenPosting in privater Nachricht zitieren
der13geist
Hält's aus hier

Beiträge: 10
Dabei seit: 09.10.2007
Wohnort: NRW

Win Vista Ultimate x86
D7 Pro, D2007
BeitragVerfasst: Do 27.03.08 00:28  Antworten mit Zitat Beitrag melden
aber würde ich es beim empfangen nicht in Hex umwandeln würde doch dort (Nun ja, angenommen in Edit1 steht "Hallo Welt") nur das stehen "#0#0#0#10" also dreimal ein Nullbyte und einmal ein Zeichen mit dem ASCII Code von 10 oder ?

_________________
01 05 54 F4
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Moderator

(Threadstarter)

Beiträge: 7361
Erhaltene Danke: 10
Dabei seit: 25.07.2004
Wohnort: Gelsenkirchen

W2k, WXPpro
D6pe, D7pro
BeitragVerfasst: Do 27.03.08 00:31  Antworten mit Zitat Beitrag melden
Moin!

der13geist hat folgendes geschrieben:
aber würde ich es beim empfangen nicht in Hex umwandeln
Das machen wir ja nur, um es überhaupt anzeigen zu können.

der13geist hat folgendes geschrieben:
würde doch dort (Nun ja, angenommen in Edit1 steht "Hallo Welt") nur das stehen "#0#0#0#10" also dreimal ein Nullbyte und einmal ein Zeichen mit dem ASCII Code von 10 oder ?
Nein, auch das wird in Kapitel 2.3 ausführlich erläutert: Intel-CPUs schreiben lsb-first, also steht dort: #10,#0,#0,#0. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Private Nachricht sendenPosting in privater Nachricht zitieren
der13geist
Hält's aus hier

Beiträge: 10
Dabei seit: 09.10.2007
Wohnort: NRW

Win Vista Ultimate x86
D7 Pro, D2007
BeitragVerfasst: Do 27.03.08 00:43  Antworten mit Zitat Beitrag melden
Danke mit diesen erkentnissen wird mir höchstwahrscheinlich alles klar. Ich werde dein tutorial noch einmal von anfang an durchlesen.
Ich danke für die Hilfe

MfG

_________________
01 05 54 F4
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Moderator

(Threadstarter)

Beiträge: 7361
Erhaltene Danke: 10
Dabei seit: 25.07.2004
Wohnort: Gelsenkirchen

W2k, WXPpro
D6pe, D7pro
BeitragVerfasst: Do 27.03.08 00:44  Antworten mit Zitat Beitrag melden
Moin!

Bitte, gern geschehen. :)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Private Nachricht sendenPosting in privater Nachricht zitieren
Mann_aus_Delphi
Hält's aus hier

Beiträge: 15
Dabei seit: 31.03.2008



BeitragVerfasst: Di 01.04.08 19:18 
Titel: Ie bekomme ich überhaupt die korrekte IP?
Antworten mit Zitat Beitrag melden
Hey,
erstmal herzlichen Dank an Narses für das tolle Tutorial. :beer:
Ich habe fleißig gelesen und gebastelt, und getestet.
Auf meinem Lokalen Pc kann ich Verbindungen mit dem PC meines Bruders und dem meiner Mutter aufnehmen, jedoch nicht zu, sagen wir mal meinem Opa hundert Kilometer entfernt.

Ich schätze, dass die lokale IP dafür nicht taugt, aber welche dann? Die öffentliche geht auch nicht, zumindest zeigt er mir einen Verbindungsfehler an. Welche IP muss ich dafür nehmen, und wo bekomme ich sie her? :?: :?: :?: :eyecrazy: :dunce:
Private Nachricht sendenPosting in privater Nachricht zitieren
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Nussknacker 2009 - 1. Rang

Beiträge: 8070
Erhaltene Danke: 20
Dabei seit: 16.07.2004
Wohnort: Jahnsdorf

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, L0.9\FPC2.0
BeitragVerfasst: Di 01.04.08 19:26  Antworten mit Zitat Beitrag melden
Dafür gibt es 2 Möglichkeiten:

1. Du nutzt ein VPN wie z.B. Hamachi. In dem Fall kannst Du dann die VPN-IP nutzen.

2. Ansonsten musst Du den entfernten Rechner (also der, der Server spielt) als DMZ konfigurieren (am Router) oder über Port-Forwarding (am Router) nach draußen "weiterleiten" ...

Zu zweiterem hat Narses auch bereits einen Beitrag geschrieben, wie das geht. Ersteres kann ich aus eigener Erfahrung empfehlen ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Moderator

(Threadstarter)

Beiträge: 7361
Erhaltene Danke: 10
Dabei seit: 25.07.2004
Wohnort: Gelsenkirchen

W2k, WXPpro
D6pe, D7pro
BeitragVerfasst: Mi 02.04.08 00:01 
Titel: Re: Ie bekomme ich überhaupt die korrekte IP?
Antworten mit Zitat Beitrag melden
Moin!

Mann_aus_Delphi hat folgendes geschrieben:
erstmal herzlichen Dank an Narses für das tolle Tutorial. :beer:
Danke für das Lob. ;)

Mann_aus_Delphi hat folgendes geschrieben:
jedoch nicht zu, sagen wir mal meinem Opa hundert Kilometer entfernt.
Hat der, der den Server stellt, einen Router im Einsatz? Dann schau mal hier. :idea:

Ansonsten könnte noch eine Firewall-Einstellung die Verbindung verhindern. :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Private Nachricht sendenPosting in privater Nachricht zitieren
Mann_aus_Delphi
Hält's aus hier

Beiträge: 15
Dabei seit: 31.03.2008



BeitragVerfasst: Mo 14.04.08 14:28 
Titel: Noch ne Frage...
Antworten mit Zitat Beitrag melden
Ich den Clienten und den Server jetzt etwas erweitert und würde ihn nun gerne veröffentlichen (natürlich mit Bezug auf diese Seite und Narses Protokoll). Wenn Ihr, vor allem Narses, nichts dagegen habt, würde mich das wirklich sehr freuen! :lol: :lol: :shock:

Mann_aus_Delphi
Private Nachricht sendenPosting in privater Nachricht zitieren
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Nussknacker 2009 - 1. Rang

Beiträge: 8070
Erhaltene Danke: 20
Dabei seit: 16.07.2004
Wohnort: Jahnsdorf

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, L0.9\FPC2.0
BeitragVerfasst: Mo 14.04.08 16:23  Antworten mit Zitat Beitrag melden
Solang das Rahmen-Protokoll kompatibel ist (also die Basisstruktur in der Übertragung), seh ich da wenige Probleme ... Außerdem ist ein öffentliches Tut ja dafür gedacht, dass daraus auch neue Anregungen für andre entstehen ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Moderator

(Threadstarter)

Beiträge: 7361
Erhaltene Danke: 10
Dabei seit: 25.07.2004
Wohnort: Gelsenkirchen

W2k, WXPpro
D6pe, D7pro
BeitragVerfasst: Do 17.04.08 13:15 
Titel: Re: Noch ne Frage...
Antworten mit Zitat Beitrag melden
Moin!

Mann_aus_Delphi hat folgendes geschrieben:
Ich den Clienten und den Server jetzt etwas erweitert und würde ihn nun gerne veröffentlichen (natürlich mit Bezug auf diese Seite und Narses Protokoll). Wenn Ihr, vor allem Narses, nichts dagegen habt,
Klar habe ich nichts dagegen. ;) Dazu eignet sich die Sparte Open Source Projekte, wenn du den Quelltext dazu tun willst (was ich hiermit vorschlagen möchte :zwinker:).

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Beiträge vom vorherigen Thema anzeigen:   
home home