Zurück   klamm-Forum > klamm-Lose > Lose4Scripts > Lose4Scripts (erledigt)

 
 
LinkBack Themen-Optionen Ansicht
Alt 08.10.2006, 21:33:45   #1 (permalink)
Erfahrener Benutzer

ID: 12911
Lose-Remote

Reg: 20.04.2006
Beiträge: 292
Standard Suche Progger für PHP Socket verbingung

Diesmal suche ich KEINE Hilfe,
sondern das Ergebnis.

Ich suche es auch nicht umsonst,
selber Programmieren würde ich es gerne,
bin jedoch unterwegs zu einer Schulung,
und habe daher leider NULL Zeit.

Es geht um einen MMS Transfer
der benötigt wird mit folgender Spezifikation:

Bei dem Verbindungstyp „LegacyConnection“ handelt es sich um eine TCP-Verbindung im Klartextformat
unter Verwendung des ISO-8859-15 Zeichensatzes.

USER Kommando
Eine Session wird durch die Authentifizierung des Benutzers eingeleitet. Der erste Schritt dazu ist die
Angabe des Benutzernamens mittels des USER Kommandos.

PASS Kommando
Nach Angabe des Benutzernamens mittels des USER Kommandos muss die Authentifizierung durch
Angabe des Kennwortes abgeschlossen werden. Nach erfolgreichem Anmelden können dann Nachrichten
abgesetzt werden.

RCPT Kommando
Der Versand einer Kurznachricht wird immer durch das RCPT Kommando eingeleitet. Mittels des RCPT
Kommandos wird der Empfänger der folgenden Nachricht festgelegt. Der Empfänger muss in
internationalem Format vorliegen, die Empfängernummer dabei nach deutschen Richtlinien vorgenommen
werden, d.h. ein deutscher Empfänger wird als 0049…, nicht als +49… angegeben.
RCPT 00491712345678
DATA Kommando
Eine Nachricht wird durch das DATA Kommando abgeschlossen. DATA spezifiziert die Nutzdaten der
Nachricht, bei „normalen“ SMS ist dies die eigentliche Nachricht. Bei der Einlieferung von MMS (SET
MMS TRUE) muss das DATA Kommando ohne Parameter aufgerufen werden, die MIME-Kodierte MMS
wird danach Zeile für Zeile direkt in den Datenstrom geschrieben und durch eine Zeile mit dem Inhalt „!X!“
abgeschlossen. ACHTUNG: MMS-Zeilen müssen entgegen den Kommandozeilen mittels Wagenrücklauf
& Zeilenvorschub (CRLF, \r\n, ASCII-13, ASCII-10) abgeschlossen werden. Für den Versand von Logos
muss das LOGO Kommando vor Angabe der Logodaten mittels DATA aufgerufen werden. Das DATA
Kommando wird dann mit folgendem Format aufgerufen:
DATA logo|t:<typ>|d:<logo>

Anstelle von <typ> muss der Logo-Typ (derzeit nur: ‘operator’) angegeben werden, anstelle von <logo>
das eigentliche Logo als hexadezimal enkodiertes GIF-Bild (Siehe Beispiel weiter unten.)
SMS:
DATA Dies ist eine Testnachricht.
203 Message queued.
MMS:
DATA
211 Ready to receive your message
Message-ID: 9182681.1064601093774.JavaMail.javamailuser@localhost
220 Line Received, continue
Mime-Version: 1.0
220 Line Received, continue
Content-Type: multipart/related;
220 Line Received, continue
[…]
fit="hidden"/></layout></head><body><par><img src="cid:relax.gif"
220 Line Received, continue
region="Image"/><text src="cid:hoho.txt"
220 Line Received, continue
region="Text"/></par></body></smil>
220 Line Received, continue
------=_Part_0_30289364.1064601093354—
220 Line Received, continue
!X!
203 Message queued.
Logo:
DATA logo|t:operator|d:47494638396148000e00800000000000ffffff2c00000000
8000e0000025c848fa917a1be228cb45a30d97bad67dc5c22d225df9279ea5
48e2e789a2db9aaef3dd6a1a1db688cb3f4763bde2a882bd27c181ec7838c2
ea1a2a3545acb5197d7e9736b9a02c1c8d97796b276bbc39b72fdfb915d6f3
80368471600003b
203 Message queued.
SNDR Kommando
Mittels des SNDR Kommandos kann der Benutzer eine Absenderkennung festlegen. Die Absenderkennung
darf 15 numerische oder 11 alphanumerische Zeichen nicht überschreiten.

Format einer MMS
Eine MMS besteht aus einem zentralen Dokument, das die Anordnung von Elementen sowie deren
zeitlichen Ablauf definiert. Im Grunde ist eine MMS nicht viel anders als eine Präsentation (z.B. wie
PowerPoint-Dokumente) – das verwendete Dateiformat für MMS (SMIL) wurde dafür entworfen, einen
einheitlichen Standard für Präsentationen zu schaffen. Das SMIL Format ist eine XML-Applikation, d.h. ein
reines SMIL-Dokument ist wie es XML nun einmal ist, nicht nur elegant maschinenlesbar, sondern ebenso
elegant „von Hand“ zu lesen.
Beispiel einer SMIL-Datei, die eine Präsentation definiert, die ein „Slide“ definiert, welches in zwei
Regionen unterteilt ist und jeweils ein Bild und einen Text darstellt. Dies ist nicht nur eine valide SMILPräsentation,
dies ist das Grundgerüst einer MMS.
<?xml version="1.0" encoding="UTF-8"?>
<smil><head><layout><root-layout width="100%" height="100%"/><region id="Text" top="50%"
left="0" height="50%" width="100%" fit="hidden"/><region id="Bild" top="0" left="0" height="50%"
width="100%" fit="hidden"/></layout></head><body><par><img src="cid:bild.jpg" region="Bild"/><text
src="cid:nachricht.txt" region="Text"/></par></body>
</smil>
Jetzt haben wir die Präsentation definiert, was jetzt noch fehlt sind die referenzierten Dateien (Bild, Text)
und die Verpackung derselben zu einem einzelnen Paket.
Format eines MMS-Paketes
Ein MMS-Paket, wie es vom carmunity.com System erwartet wird ist ein MIME-Multipart kodiertes Paket,
das die einzelnen SMIL-Slides sowie darin referenzierte Dateien (Texte, Bilder, Töne) enthält. Wer schon
einmal eine E-Mail mit Anhang im Quelltext betrachtet hat, weiss ungefähr, wie das funktioniert.
Prinzipiell besteht eine derartiges MIME-Multipart Dokument aus reinem Text, der die verschiedenen
Dokumenttypen über Trennzeichen/Zeilen (Boundaries) voneinander trennt und in den darauffolgenden
Zeilen (Headers) den Dateinamen und Dokumentypen sowie die Kodierungsmethode angibt. Darauf folgt
der eigentliche (evtl. kodierte) Inhalt.
Folgendes Beispiel zeigt ein MIME-Dokument, das obige SMIL-Präsentation sowie die referenzierten
Dateien (Bilder, Texte) enhält. Die kodierten Bilddaten wurden hier allerdings auf ein verträgliches Maß
gestutzt, um das Dokument übersichtlich zu halten.
Message-ID: <2859291.1061897003100.JavaMail.javamailuser@localhost>
Mime-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_0_11935697.1061897002629";
start="<mms.smil>";
type="application/smil"
------=_Part_0_11935697.1061897002629
Content-Type: text/plain; name=test1.txt; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=nachricht.txt
Content-ID: <nachricht.txt>
Dies ist eine Textdatei.
------=_Part_0_11935697.1061897002629
Content-Type: image/jpeg; name=peachro.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=bild.jpg
Content-ID: <bild.jpg>
/9j/4AAQSkZJRgABAQEASABIAAD/7AARRHVja3kAAQAEAAAAIAAA/9sAQwAIBgYHBgUIBwcH
CQkI
[…]
SvlUbieqrJxDgCvyTQ5nYxDwOK6JyMISRRTkYUnbRiDP/9k=
------=_Part_0_11935697.1061897002629
Content-Type: application/smil
Content-Transfer-Encoding: 7bit
Content-ID: <mms.smil>
<?xml version="1.0" encoding="UTF-8"?>
<smil>
<head>
<layout>
<root-layout width="100%" height="100%"/>
<region id="Text" top="50%" left="0" height="50%" width="100%" fit="hidden"/>
<region id="Image" top="0" left="0" height="50%" width="100%" fit="hidden"/>
</layout>
</head>
<body>
<par>
<img src="bild.jpg" region="Image"/>
<text src="cid:nachricht.txt" region="Text"/>
</par>
</body>
</smil>
------=_Part_0_11935697.1061897002629--
Deutlich zu sehen sind hier die durch (am Anfang definierte) Trennzeichen und die darauffolgenden
Header, die Kodierung und Dateinamen angeben.

Wer hat Ahnung davon und Lust das zu machen.

Bitte um Angebote.
 
LoseAndMore.de ist offline  
Alt 09.10.2006, 17:54:17   #2 (permalink)
return void
Benutzerbild von ice-breaker

ID: 93995
Lose-Remote

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.271
Standard

wie dir auch im Programmiererforum empfehlen wurde, empfehle ich dir aich nochmal das zu strukturieren und vllt mal [code] zu nutzen, nach den ersten 2 Zeilen hat man keine Lust mehr zu lesen
"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici

www.internet-dsl-flatrate.de
ice-breaker ist offline  
 

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[VC++] Socket oder Winapi? DadyCool Programmierung 8 23.07.2008 21:22:19
[C/Socket] Funktionsweise von select()? Biehler Programmierung 6 31.12.2007 12:32:50
Biehler goes Linux ASM -> Socket erstellen? Biehler Programmierung 4 25.12.2007 18:47:34
[PHP] Socket Datentransfer gesucht LoseAndMore.de Programmierung 2 08.10.2006 21:55:34
[PHP] Socket Aufruf mit Rückgabewert LoseAndMore.de Programmierung 9 24.08.2006 19:03:41


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:39:22 Uhr.