Hallo an alle Netzwerk-Programmier-Gurus. Ich verspüre den Drang, mein eigenes Video-Chat-System auf Basis des RTMP-Protokolls zu schreiben. Natürlich kenne ich ein wenig C, aber ich kenne Netzwerk-Programmierung noch nicht, ich lerne es gerade erst. Und ich würde gerne wissen, wo genau ich "graben" muss, wie ich mein Programm entwerfen muss (für *nix), um viele Verbindungen zu verarbeiten. Und ich würde gerne wissen, wie lange es dauern kann, ein solches Programm zu realisieren? Ich weiß, es ist vielleicht eine alberne Frage, aber ich möchte etwas über die Erfahrungen anderer Programmierer wissen: Wie viel Zeit sie benötigt haben, um ein guter Netzwerk-Programmierer zu werden oder etwas Ähnliches zu schreiben. Jede Hilfe wird sehr geschätzt.
Antworten
Zu viele Anzeigen?
Cheery
Punkte
22879
Hier sind drei Dinge, über die Sie lesen müssen:
- Sockets (man socket)
select
-Befehl (man select)- RTMP-Protokoll. (Wikipedia scheint zu sagen, es gibt drei Variationen davon)
Zusätzlich müssen Sie einige Details zum Videochaten kennen. Aber das sind gute Ausgangspunkte.
Sie finden möglicherweise einige zusätzliche Socket-Programmierungsbeispiele in Google. Vielleicht ist es jedoch am besten, wenn Sie sich schrittweise vortasten.
Erstellen Sie zunächst eine Serveranwendung wie diese:
sock = socket(AF_INET, SOCK_STREAM)
sock.bind((hostname, port))
sock.listen(5)
client, address = sock.accept()
while(true){
print client.recv(4096)
}
Und eine Clientanwendung wie diese:
sock = socket(AF_INET, SOCK_STREAM)
sock.connect((hostname, port))
client.send("nur etwas Text, um es anzuzeigen\n")
lesen Sie die Dokumentation von select
, recv
und send
sorgfältig durch, bevor Sie sie verwenden!!!
mra214
Punkte
509