2 Stimmen

Video-Chat-Programmierung

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.

1voto

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!!!

-1voto

mra214 Punkte 509

OK, ich werde das berücksichtigen. Ich bin durch einige Foren gegangen und habe Diskussionen darüber gesehen, ob man bei Unix-Servern Gabeln oder Threads verwenden sollte. Was ist deiner Meinung nach besser (für die Leistung)?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X