Transkripte
1. Socket Session1 Übersicht: Und willkommen hierbei. Das heißt, die CPU DB-Socket-Programmierung oder mischt sich so wunderbar weiß, mit gekauften C sowie C plus plus. Also hier in dieser Sitzung würde
ich aufzählen, welche Themen wir in diesen gesamten Zielen behandeln werden. Also die Metaphern, die Optik, ich werde die grundlegenden Konzepte von Socket für das Grabbing verstehen, dass diese Amanullah es John verwandt, um obwohl Socket-Programmierung zu verstehen. Dann, dann weiter. Und wir haben gesehen, dass DCP-Architektur, die auch als natürliche Architektur bezeichnet wird, auch als OSI-Modell gilt. So hier sehen Sie Wassernetz-Komponenten sowie wir werden sehen, wie der Schatten, um die Socket-Kommunikation zu bringen. Und das verstehen wir am Beispiel der realen Welt. Dann werden wir in der nächsten Sitzung sehen, dass Setup, die erforderlich ist, um
Socket-Kommunikation für beide Fenster sowie B naught bombardieren . Wir werden auch verschiedene Socket-Funktionen sehen, die auch als Methoden für Cyber bezeichnet wird. Krieg sinkt für Windows und Linux. Und ein kleiner Unterschied in den Socket-Funktionen für Windows und Linux, werden
wir sehen, dass Sie Sitzung
haben, verstehen den Unterschied zwischen Windows-OS, um Socket-Kommunikation zu bringen. So werden wir sehen, was wenig Setup ist, also Fenster. Und ein Bin Setup ist daher Lena. Wie haben sie gepostet, welche Header-Dateien benötigt werden, um diejenigen zu sein, die sowohl auf Socket-Verpflichtung als auch Header-Dateien erforderlich sind, oder Linux. Dann werden wir sehen, was alle verschiedenen Sockel erfüllt Teile gibt es überhaupt. Und neun für Windows und Roboter-Sockel manipuliert unsere Nettomenge. Das ist also sehr leicht Freunde und die Socket-Methoden. Also alle diese Unterschiede werden wir in diesem Abschnitt gesehen werden. Dann werden wir die nächste Sitzung mit
Socket-Programm beginnen und wir werden es auch ausführen. Versperrte Fenster als Venedig für uns. Also hier schreiben verschiedene Programme. Das wird also durch Programm-Socket-Kommunikation zwischen Server und neun sein. Das ist am einfachsten Cyber bei neun Jack von Negationen, die wir
sehen werden , und wir werden sie auch für diese ausführen. Und wir werden auch andere verstehen. Eishockey-Programm, o auf SCTP, Archie Cyberduck neun Sockel Kommunikation auf dem PC, Barbie in diesen Aspekten. Nur weiß, und wir werden sie auch auf diese Weise ausführen, bauen alle diese Programme. Dann werden
wir in der anderen Sitzung sehen, was blockieren und was nicht-blockierende Sockets sind. Und sogar schreiben Sie dieses Programm oder die Szene und wird es
ausführen, um sie mehr zu verstehen. Aber wir werden auch sehen, wie ich meinen Ablehnungsserver erreichen kann. Und wir werden sehen, dass unsere verschiedenen Ansätze, um Obama, ich denke, neun Server Socket-Kommunikation. Also der erste grundlegende Ansatz,
trinken, was Linie tun, obwohl? So können Sie verstehen, dass unsere Kunden, die man auf negieren Salvo setzen und mehrere Threads erstellen. Also, dass der Radius eine Sache entscheidet und diesen Ansatz durchläuft. So werden wir sehen, was sind Nachteile gibt es bei der Verwendung dieses Ansatzes wird nicht empfohlen, NAT im Ausland zu verwenden. Und deshalb würde ich Ansätze, die begonnen haben, um diese Nachteiligen zu vermeiden. Der nächste Ansatz besteht also darin, die Basilika zu benutzen. So auch sehen, was wählt und was ist seine Bedeutung, um multiplizierte Satellitenkommunikation zu erreichen. So verstehen die Leute es effektiver, indem sie schreiben und ausführen. Aber Linux-Betriebssystem. Dann werden wir auch den Ansatz sehen, der
dies zu machen besetzt Nagasaki und tun Multi-Linie Ich bin Negation zu erreichen. Also werden wir das Programm schreiben und es
in die Nase ausführen , um den Socket als nicht-blockierend zu erfüllen und um Multi-Client-Server-Kommunikation zu erreichen so habe ich den Quellcode für alle Socket-Programme, die riesige Kohorte in diesem völlig. So können Sie verlangen, nach dem Verständnis der Nahrung, die ich Sitzungen erklärt hatte. All diese Dinge haben
wir schon getan und schreckliche Sache. Ich habe es kurz beschrieben. Also hatte ich das, wie ich Ihnen erklärt habe was jede Sitzung wir zu Themen gehen, die wir in der Tat anbieten werden. Also lass uns mal sehen. ersten Sitzung werden wir die Grundlagen der Socket-Programmierung sehen. Diese Sitzung ist also allen Aminosäuren gewidmet, für die Socket-Programmierung verwandt sind. Verstehen Sie die Kommunikation zwischen Server und Blind. Wir werden sehen, was Socket tut, was tippe ich Quell-Socket ist verfügbar. Und in Socket-Terminologien im Zusammenhang mit dieser Domäne und was ist Kommunikationsprotokoll. Also alle Terminologien im Zusammenhang mit der Socket-Programmierung, die Sie sein werden, werden Sie sehen. Aber alle Methoden werden für die Zellwand verwendet und Marmor-Methoden werden für
die Linie verwendet , um Ball Socket Kommunikation zwischen dem Server und Client gut. Also alle Teile, die mit
dem Sockel verbunden sind , werden Sie in dieser ersten Sitzung abdecken. Dies ist also sehr viel Rubrik Besuch, um den Sockel der Negationen zu starten. So ist die nächste Sitzung auf die ECP-Architektur gewidmet, die auch als negative oder Yard-Architektur genannt wird, aber immer noch als OSI-Modell genannt, weil sehr wichtige Sitzung. Also das, dieses Problem. Das gesamte Netzwerk, das Netbook-Komponenten ist, die
benötigt werden, um die Socket-Kommunikation zwischen Lösungsmittelleitungen zu bringen. Wie kommt es also, dass Komponenten miteinander kommunizieren, so dass unsere sieben Löwen Präsenz. Also konkurrieren Architektur, die ich hier beschrieben habe und in dieser Sitzung habe ich durch Vorträge gegangen, aber Musik Foster Coil wird Auflistung sein. Aber standardmäßig wird diese Vorlesung unterschiedlich sein. Die Architektur der Netzwerkschicht. Also, das wird sieben Komponenten haben verschiedene Netzwerk Leo gewesen. Also werde ich Ihnen erklären, was der Zweck jedes Layer-Netzwerk-IO ist. Das ist also sehr viel B6 und Sie werden es mehr investieren. Sie werden verstehen, wie diese Netzwerkkomponenten miteinander kommunizieren um Socket-Kommunikation mit diesen Informationen zu bringen, mit diesem bereits Tage in der ersten Vorlesung, und wir werden die zweite
Vortrag der gleichen Sitzung, die ich Ihnen erklären werde, dass reale Beispiele und Eigenkapital sinken mit der Netzwerk-Layer-Architektur, die TCP Architected Avatar von Audio ist. In dieser Vorlesung werden Sie ein anderes Beispiel der realen Welt verstehen, vid.net Leo. Also werde ich Ihnen erklären, wie diese Netzwerkkomponenten, wie diese Netzwerke eine wichtige Rolle im realen Beispiel spielen. In dieser zweiten Vorlesung werden alle Konzepte
aller sieben Network Leo's der PCP-Architektur klar . Die nächste Sitzung, die gelehrt wird Sitzung, die mit
der Windows-spezifischen Socket-Sidebar-Clientmethode zusammenhängen würde . Also hier werde ich
Defense Socket-Server-Client-Methoden auflisten , die für das Windows-Betriebssystem verwendet werden. Also werde ich es mit dem versinken, also ist dies dem gewidmet. Die nächste Sitzung wird abgeschlossen sein. Linux-spezifische Socket-Server-Linie gegen das Denken mit alten. Also hier wieder dasselbe, aber das wird spezifisch für das Linux-Betriebssystem sein. Das ist sehr minimaler Unterschied zwischen Dichtern Rita verwenden für Cyber Anwendung, welche Fenster sowie für den Führer. Dann werden wir die nächste Sitzung sehen. Dieser Unterschied zwischen dem Windows-spezifischen sowie dem
klopfspezifischen Socket-Programmierung Windows-Betriebssystem. Was sind meine Gedanken sind, dass unsterbliche Methoden oder Netz Bolinas und die Arbeit an unseren Unterschieden gibt es zwischen Windows und Linux. Es gibt nur wenige Methoden, die unterschiedlich sind. Ein spezifisches Formular, Windows und Linux. Und es gibt keinen großen Unterschied wird auch hier in dieser Sitzung gesehen werden. Was unsere Header-Dateien, die Sie verwenden müssen, wenn Sie zwei Bulk-Arm Socket-Programmierung für Windows-Betriebssystem haben und wie es sich für Linux-Betriebssystem unterscheidet. Dann werden wir sehen, was Setup für
Windows-Betriebssystem erforderlich ist , um Socket-Programmierung durchzuführen, was wir bauen ein Startup erforderlich ist, aber Linux-Betriebssystem. Dann in dieser nächsten Sitzung, dass eine Sitzung sechs, Ich habe Gvd Windows spezifische TCP Socket-Programmierung in C plus plus. Also hier dies,
dies ist die grundlegende Socket-Kommunikation zwischen Cyber und wie wird das Charting zwischen Server und Client stattfindet. Und das wird für das Windows-Betriebssystem gesehen. Und wir werden den Code in C plus plus schreiben. Dies wird Ihnen helfen, das Programm auf
die IDE oder Doc-ID VB zu schreiben und wie die Kommunikation stattfindet, um sie auszuführen. Und die nächste Sitzung wird jedoch sein, Socket-Programmierung in C und C
plus, und was das Linux-Betriebssystem. Das scheint also Socket-Programmierung vor dem Linux-Betriebssystem. Und beim Schreiben der Potenz sowie C plus plus. Also gibt es zwei Vorträge, weil ich in
C behandelt habe , sowie ich habe es C plus plus behandelt. Das ist also wieder das Programm. Sie schreiben den Code und führen ihn für das Linux-Betriebssystem aus. Also in der nächsten Sitzung, dass eine Sitzung acht, vielleicht ein HTTP die Zeilenpublikation auf TCP verstehen. Also, sobald Sie dies verstehen, VCB-Kommunikation falsch benommen abgedeckt 467-Sitzung für Windows und Linux. Dann haben Sie eingegeben, Sie werden verstehen, wie dieser HTTP-Server neun auch sein kann, Kommunikation kann auch auf PCB geschehen. Das ist also unser Gewinn, wird den Programmkoordinator für vorher tun. In dieser Sitzung verstehen wir Poster genannt die Konzepte, wie HTTP Apache Server mit Browser Klein auf ihrem PCP kommuniziert. Also werde ich Ihnen erklären, obwohl Dinge, wie Apache sagte, was es mit Client kommuniziert, Das ist, wenn Sie einen Link im Browser geben, jeder Browser kann es sein, das ist Mozilla, Firefox, oder Chrome. Dann, wie diese Anfrage von der Client-Seite gesendet ist von der Browserseite an diesen HTTP Apache Seite, und wie der Server auf diesen Rückgang in Form des Headers reagiert. Also alles, was ich in dieser Sitzung behandelt habe, will
ich, was diese Linie tut und wer sagte was und wie gesagt, was sie sagen? Das ist Spawns zwei Ebene und halten Sie die Seite geladen wird. Welches Wunder, was auch immer der Benutzer gab einen Link auf dem Browser, dass diese Sitzung kommen treffen oder Theater alle Konzepte der HTTP-Server neun Veröffentlichung. Dies kann also sein, wenn Sie in der Reihenfolge nach der Sitzung gehen, wenn Sie eine neue Sitzung 60,
Sitzung sieben gekauft haben , und dann werden Sie zu Sitzung acht gehen, dann wird dies in Ihnen sein, weil so fast die Programmierung wird dafür schreiben. So wird die Kommunikation ähnlich sein. Mekonium Minimum V3. Also diese USB Verständnis diejenigen, die wir alle Sitzungen und Inkremente abgedeckt oder obwohl. So Unentschlossenheit in widmen über Rücken. Dann wird die nächste Sitzung dasselbe sein wie über Afrika. Ich störe wegen dieser dummen STDP Cedric neun Kommunikation. Wir werden diese Sitzung durch
VW-Bus-spezifische Ausführung der HTTP Apache Server Client-Publikation in C plus plus starten . So ist dieser Kuchen erforderlich Voraussetzungen. Wenn Sie also die Sitzung durchlaufen, sollten Sie nur die Sitzung besuchen. Denn das ist das Verständnis, wie diese Kommunikation stattfindet. Und nach dem Verständnis der Kommunikation und phantasievoll, dann. Wenn Sie Windows-Betriebssystem haben, oder Sie können einen Code schreiben. Was extra dB, Apache-Server. Ich habe alle unsere Programmierung und Ausführung oder wie ich Ihnen geben sollte ein B27 kommuniziert mit Klein ist D plus plus. Also machen wir das Programm dafür und für das Windows-Betriebssystem in C plus y. Also das gleiche programmiert von für das Linux-Betriebssystem in C Also je nachdem, welches Betriebssystem Sie haben, wenn Sie Windows haben, können Sie gehen durch diese Sitzung. Wenn Sie eine Maus haben, können
Sie die Sitzung durchlaufen. Sitzung. Angesichts BC, wie erreiche ich meine ablehnte Serverkommunikation mit dem Socket im Linux-Betriebssystem. Also hier, angesichts einer Genesung, während die c. So jetzt sehr schnelle Vorlesung, werden
wir gezwungen werden, was dunkel bucky sowie nicht-blockierende Steckdosen. Selbst der auch allererste Ansatz, um
Monat zu erhalten , sinken mehrere Kommunikation hierbei durch die Selekt-Funktion. So sehen Sie sogar, was eine Select, Select-Funktion, wie es eine wichtige Rolle spielt und welche Argumente es gibt. Also der nächste Vortrag, den wir sehen werden, werden
wir das Programm schreiben und es
in allen mit der Auswahlfunktion ausführen , um
meine Ablehnungen Server-Kommunikation in diesem Mann zu erreichen , dass ich sogar
alle meine Kunden verstehe Serverkommunikation oder Sybil durch diesen Ansatz, indem Sie die Auswahlfunktion verwenden. Dannwerden
wir in der nächsten Vorlesung
den anderen Ansatz verwenden, werden
wir in der nächsten Vorlesung
den anderen Ansatz verwenden um meine Ablehnungen mehrere Kommunikation zu erreichen. Und das ist der zweite Ansatz, indem man den Socket als nicht blockierend macht. So werden wir sehen, wie man es benutzt. Ich brauche nicht, dass diese benötigt werden, nachdem ich dies in der Vorlesung drei verstanden habe. Dann in der Vorlesung vier, werden
wir das Programm schreiben und es ausführen, indem wir diesen Socket als nicht-blockierend machen. Dass dieser Gedanke in dieser Vorlesung drei, da auch verstehen, wie man die Steckdose ist nicht blockierend, Nun, die Eval-Funktion verwendet wird und welche Schrittzähler ich in
dieser Vorlesung verwendet , indem ich dieses Wissen davon in Vorlesung drei werden
wir das Programm schreiben und sie ausführen, so dass der Socket nicht stößt und wie man mehrzeilige Ich bin Negation erreicht. Also diese Regelung mehrere Programme,
um meinen Rückgang der zellulären Kommunikation durch verschiedene, verschiedene Ansätze zu erreichen. Dann haben wir zuletzt die Anwendung des Sockets gesehen. Also bemerkte er, dass wir die Cyberlinie der AVR-Veteranen sehen werden. Sind, sind Sie nicht in der Lage, die Finne realen Beispiele zu sehen, in denen der Socket verwendet wird. Also jetzt auf diese Weise werden
wir alle diese Sitzung in diesem Klage gegen CBR abdecken, begleitet jedes und alles auf Windows-Betriebssystem, sowie für das Linux-Betriebssystem in C als Venedig, C plus. Sie werden es also interessanter finden. Und es wird mit Laptop-Programm und Ausführung erklärt. Je nach Lena und Regenbogen. Deine Ziele. Ich bin nicht, wenn Sie Ihre Bewertungen als Männer teilen, als Lesungen als Mittel, nicht das Fleisch und mich
beeinflusst worden , solche on-Demand-Videos zu veröffentlichen. S-Bar, Ihre Anforderung. Also Tank, ihr Freunde. Vielen Dank.
2. SocketBasicsPart1: Willkommen zu diesem Socket-Basis-Sitzung, die Betty ist, AS Sitzung dieser gesamten Ziele Veteran, Ich mache Sie durch verschiedene Themen gehen an ist, was dieser Sockel, was sind Arten der Socket existieren? Was bin ich dominante Logik verbunden? Steckdose So um an der Steckdose Stecker Rami voraus Sitzung zu verstehen und warum diese Buchse erforderlich ist. Welche Socket-Methoden sind unter Windows und Wand verfügbar? Socket-Methoden sind auf den Einheiten verfügbar wird unterschiedlich sein. Lassen Sie uns Schritt für Schritt beginnen. Umzug zum allerersten Thema, was bedeutet Socket? Steckdose? Es ist eine Kombination der beiden Knoten. Aber unser nächstes Buch, oder Sie können sagen, Kommunikation zwischen den beiden Prozessen. Also lassen Sie mich Sie durch Digram verstehen. Übergang zu den Zielen bei einem Erwachsenen ist nicht die Definition besagt, dass Socket eine Kommunikation zwischen zwei Knoten ist. Nehmen wir an, Sie haben n4, n1, n2 und n3. Und da ist es eine Kommunikation zwischen den Knoten oder ob Netbook. Also lassen Sie mich es benennen. Das ist also eins, das ist drei. Und die Kommunikation zwischen ihnen, das heißt. Und lassen Sie uns das im Internet nennen. Es ist verkauft. Was bedeutet Steckdose? Es ist eine Kommunikation zwischen den Knoten oder ein breiteres Netzwerk, das Internet ist. Also ja, Sie können hier sehen, wir haben das n1 und n2 bezahlt. Dies sind die neun Knoten und dieser Knoten drei, wie ich sagte, wenn keine ursprünglich emittiert oder diskutieren Details darüber eigentlich voraus, so dass Sie verstehen, was eine Sidebar, sowie was sind die Kommunikation, die zwischen Knoten eins und Knoten drei und Knoten zwei und Knoten ist die Socket-Kommunikation ist durch diese Socket-Kommunikation oder ob national. Also diese Definition, die eine Wüstenkommunikation von blauen Knoten ist. Sie haben gesehen, wie sie ihren Hals über das Netzwerk überprüft haben. Siehe auch die Kommunikation zwischen zwei Prozessen. So kann dies getan werden, so Prozesse, Client-Prozess eins, Prozess zwei. Und das ist das, was ich schließen werde. Obwohl nicht über Fristen getan hat. Also, was Sie hier sehen, werden
Sie besser verstehen. Also hätte ich es gewagt, obwohl auf dem Halsbuch, das auf den bestimmten Port hört und eine IP-Adresse hat. Es wird als eine Art von Eins genannt. Dieser braucht also tatsächlich das Geld. Also er auf beiden Seiten
eines Mechanismus eigentlich sollte man auf bestimmte bestellt eine IP-Adresse hören. Und entweder sollte es die Verbindung tatsächlich senden. Also derjenige, der hört, eigentlich das, die Seite des Elementmodus und derjenige, der die Verbindung sendet. Eigentlich würde es jedoch Client-Knoten geben. Dies sind also der Client-Knoten, das ist Knoten eins und geben ihm einen Absender und eine Aktion, wissen Sie. Und dieser Norden hört eigentlich, also sollte dieses Fort wie diese Seite sein und diese spezielle Port-Nummer und es sollte eine IP-Adresse haben. Also nehmen Sie an,
Sie fragen sich die Kommunikation zwischen verschiedenen Host-Maschine, die ein anderes Betriebssystem hat, unterschiedliche Maschine. Also wissen Sie, Prudence, wenn Sie verbunden sind oder ob es bewegt, dann die IP-Adressen der dummen Maschine, einige Daten Dual verfügen über Maschinen, die verbunden sind oder ob Netbook viel er hatte eine IP-Adresse und Adam erreicht haben, dass diese IP-Adresse erreicht wird. Also, wenn Sie möchten, dass die Socket-Kommunikation stattfindet, also sollte man ausgerichtet sein, sollte
man subtil sein. Also diese Seite der Kunst, über die Sie entscheiden können, der Mechanismus ist, dass es hören sollte. Es sollte sowohl bestimmte Portnummer als auch IP-adressierbar abhören. Menschliche Maschine hat IP-Adresse. Jeder Computer verfügt über eine IP-Adresse. Also sollte es zu hören, es sollte auf bestimmte hören. Sie würden alle Mechanismen Schritt für Schritt sehen. Was ist das Hören im Detail und was ist diese IP-Adresse? Was ist das für eine Portnummer? Also nur um Sie verstehen, nur zu visualisieren, machen,
visualisieren, was genau das Sonnenlicht als Männer als Kunden. Das ist das, was ich erwähnt habe. Also zum nächsten bewegen. Dies ist ein wichtiger Hinweis. Jeder Prozess, der den Socket für die Kommunikation erstellt. Der nächste Punkt, die beiden Prozesse können
miteinander kommunizieren und er gebogen den Socket hat die gleiche Domäne sowie Socket-Typ. Also machen Sie sich keine Sorgen über diese Adressdomäne und den Socket-Typ, all diese Terminologien und machen Sie verstehen und weitere Folien. Also nur zu verstehen, dass wichtiger oder sie sagen , dass dieser Prozess tatsächlich fehlt mittlere kommunizieren. Einer, der da drüben kommunizieren kann. Und sie haben durch die Steckdose gemessen. Sie hätten Socket tatsächlich für sie erstellt haben sollen. Also nehmen wir an, niemand dachte, dass als Client-Knoten, müssen mit der südlichen Route docken oder was? Dieses Internet. Dann müssen wir einen Socket für diesen neun Knoten erstellen. Und wir müssen den Socket für den Server-Modus erstellen. Und die zweite darüber ist zu sagen, dass, wenn Sie eine Steckdose für die neun Volt erstellen, sagen
wir Knoten eins. Wenn Sie auch den Socket für die Software erstellen, die Knoten drei ist, dann der Typ des Sockets. Und dann vermutlich dasselbe. Also werde ich Ihr machen, was der Socket-Typ ist und was bedeutet die Center-Domäne. Aber nur Werkzeugmacher, kein Zweifel, dass FindAnswer, Warum sollte die gleiche Adresse dominiert besetzt haben. Also lassen Sie uns sehen, was all diese dominanten Ideen über. Also diese Adressdomäne, die ich in der vorherigen Folie dachte. Also, wenn Sie über Adresse Doumani bei unseren Lebensmittelarten von Dope sprechen. Und vorausgesetzt, die erste ist die Unix-Domänenbeschreibung ist, dass die beiden Prozesse. Aber nur das gemeinsame Dateisystem zu teilen, gab ihm
das Unternehmen die Adresse des Sockets. Es wird die Zeichenkette sein, die dann Eintrag im Dateisystem ist. Also die Adressdomäne, die ich gesagt habe, dass die erste ist, ist eine Unix-Domain, obwohl es
eine einfache Sache ist , dass, wenn die beiden Prozesse über 90 miteinander per Lager kommunizieren, es ein negierendes tatsächlich durch das gemeinsame Rohrsystem. Wenn er in Bezug auf die isolierten gedacht wird teilen die Schotten über System. Und die andere Sache ist, dass Missionare adressiert, sei es für diesen Socket mit einem String-Datentyp, dass es sich um die Unix-Domäne handelt. Und ich bin nicht gut. Dipole, die Adresse dominiert diese unendliche Domäne. Also V2, um diese Internet-Domain zu sehen, werden
Sie es verwenden, am häufigsten verwendet tatsächlich. So in der, in der Sonde Bild und Wiederherstellung erholen Einheit einbettbare Wunder wird am häufigsten verwendet. Also, was wird passieren? Hier? Die beiden Prozesse, die auf diesem Host-Rechner laufen, kommunizieren über das Internet dasselbe,
was ich nicht weiß. So dass zwei Prozesse sagen, dass Knoten eins und Knoten drei, weil hier der n1 Knoten und der Knoten drei liefert. So Knoten, so dass diese beiden Knoten tatsächlich der Aufstand auf verschiedenen Maschinen. Und deshalb werden sie negiert oder was das Internet,
wenn sie kommunizieren, was sie eigentlich meinten es diese Spule, Leon mit an dieser Domäne auf unendlichen Homing. Und die Adressen des Sockels der ist-eine beabsichtigte Adresse war mein scheint einfach zu sagen,
dass ja, dass Adressen oder diese Maschine oder jene Maschine,
die durch das Ereignis durch IP-Adresse oder
IP-Adressebezeichnet wird die durch das Ereignis durch IP-Adresse oder
IP-Adresse der Maschine besuchte mich bei der Herstellung einer Trommel. Und dieser Satz von Element ONE, tatsächlich, wird
es die IP-Adresse der IP-Adresse von num Maschine haben. Der Satellit läuft. So ist es so einfach, wie Sie verstehen können und diese Diagnose. Also V0, V0 Nutzung der beabsichtigten Domäne, weil dies am häufigsten verwendet wird. Also hier geht es um Entropie Daten über ihre Internet-Adresse wird auf Kentucky Gruppe es sein. Hier geht es also um diese Domain, die wir gedacht haben, und um diesen Socket-Typ. So haben wir in der vorherigen Folie tatsächlich
die wichtige Notiz tatsächlich manuelle Prozess gesehen , die miteinander kommunizieren. Mann, sie haben das gleiche oder zerstören mich und Saint Socket-Typ. So, jetzt können Sie verstehen, dass, wenn der Knoten liefert Knoten und Knoten drei ist eine Reihe von unbekannt. Und tatsächlich muss es möglicherweise die Kommunikation über den Socket
mit dem Socket zwischen Norman und Knoten v erfüllen . So sollten sie die gleiche Adressdomäne haben. Also weiß ich nicht, sollte eigentlich haben, dass diese Domain als Unix-Domain, wenn sie Unix-Domain als 3D Cellular bekannt hat, sollte auch die Unix-Domäne haben. Und wenn Sie den eingerückten Code wollen, ich Ihnen erklärt habe, dann sollte das Normale auch Dinner-Domain als Adresse haben. Und der Knoten drei, gibt es viel mehr Details haben auch Albinismus im Abendessen vorgesehen. Also, obwohl sie das gleiche haben sollten, sollten sie
entweder haben, beide sollten Einheiten für mich haben, oder sie sollten, obwohl, unendlich. Und die zweite Sache ist, dass Sie gedacht hätten, dass Sie den gleichen Sockel direkt an den Knoten eins und Knoten drei haben sollten, um die Fahrzeugkommunikation über den Sockel zu ermöglichen. Also mal sehen, was bedeutet dieser Socket-Typ eigentlich? Es gibt zwei Arten des Sockets tatsächlich. Also, das ist ein Positron ist nur Stream-Socket und der unfinanzierte Minuspunkt-Datagramm-Socket. Also mal sehen, was dieser Stream-Socket ist. Es verwendet also das TCP-Protokoll. Das ist also ein Übertragungssteuerungsprotokoll. Was also tut, brach epistemisch den Zyklus auseinander, so dass ich tatsächlich einmal durchgefahren bin, was ich wahrscheinlich getan habe. Das TCP-Protokoll wird also eine Reihe von Regeln haben tatsächlich den Stream-Socket anreichern wird oder sein wird. Und ja, die In-Stream-Sockel kommt es wird als kontinuierlicher Strom von Protector kommunizieren. Also was, was ist das Verhalten des Stream-Sockets? Von stonewall verwendet es dunkles TCP-Protokoll und Kommunikationsaktivität entweder. Ich bin hier, Sie sehen den Sand tatsächlich, wenn Sie Steam-Sockel verwenden, daher wird die Kommunikation
bidirektional sein , weil sobald diese Verbindung entwickelt wird, im Falle dieses Stream-Sockel kontinuierlich an einem Mülleimer v3 Transport. Dies geschieht im Falle von Punkten Stream-Sockel. Und im Falle des Datagramm-Sockels. Es verwendet UDP, ist User Datagram Protocol. Die gesamte Nachricht wird sofort gesendet. Also hier geht es um den Datagramm-Socket. Also lassen Sie uns über dieses TCP-Protokoll und UDP-Protokoll sehen, wie ich Ihnen gesagt habe, schauen Sie nicht alle gemeine Setup-Regeln für dieses TCP werden dotierte Wurzeln gesetzt. Es ist anders als die der UDP. Und wir haben gesehen Strom Steckdose ist dauernder Wahlstrom oder produktiv und verwandelt werden, worin hier mit der Nachricht sofort gesendet wird. Also nun mal sehen, was diese TCP und UDP tut. Sobald Sie dies sehen, werden
TCP und UDP verstehen, was der Stream-Socket ist, den Sie verwenden müssen, und was ist der Datagramm-Socket.
3. SocketBasicsPart2: Ich komme zum Kommunikationsprotokoll. Dies wird also als Kommunikationsprotokoll genannt, tut UDP, Benutzer-Datagramm-Protokoll. Es wird auch auf diese Weise bezeichnet, die unterstrichen wird Ins und dieser Boden, das ist, was das Diagramm. Also, was ist das, was Sie als User Datagram Protocol schlagen. Also ja, nein, die ganze Nachricht wird auf einmal gepunktet werden. Das ist, wie viel zu essen im Falle des vom Benutzer angegebenen Eingangspunktes. Und es ist nicht zuverlässig. Weil möglicherweise nicht zuverlässig ist, weil angenommen wird, dass es die Daten von einem Prozess an einen anderen sendet. Und nehmen wir an, C neun absteigend eines Tages dunkle Windows-Server-Daten sind keine formalen Pakete. Das sind Num Bytes. Wenn einige Daten zwischendurch von verloren gehen, tun diese Gruppe von OK
jedoch auch nicht. In diesem Fall wird das nicht verstehen, als alle verlorenen Daten vom Client zu Server, und auch der Client wird nicht am selben Tag Schäden verloren. Sie können verstehen, wie es geht. Es ist überhaupt nicht zuverlässig, weil er hatte, selbst wenn das Paket verloren ist, dann ein so der Client wird nicht wieder, San Diego sagte Was? Sie waren an Bord, die auch
den Umfrageartikel sammeln o tatsächlich, dass diese Pakete verloren gehen. Das wird also als unzuverlässig bezeichnet. Und doch ist es verbindungslos, weil es keine Verbindung gibt, die sie
geliebt haben tatsächlich nicht gehen Verbindung tatsächlich zur Seite. Aber der ganze Knoten weist auf dieses User Datagram Protocol hin. Denn ich debattiere eigentlich den Grund, warum es, dieses Poster, während es nicht die Borden haben, die ohne Verbindung wirklich tun, deshalb reduziert dies ihre Zeit tatsächlich, die uns in irgendeiner Verbindung befohlen hat. Eine andere Sache ist, dass das Paket groß ist, es wird ihm keinen Strahl senden. Dies ist also auch eine Sache, die ihre Aufgabe tatsächlich vermeiden wird. Also ist es Megacities darin ein Leichtgewicht, weil es solche Aufgabe eigentlich nicht tun würde. Und es führt auch nicht die Editorprüfung durch. Das ist also, dass die Metallpakete verloren gehen, als es nicht wieder war, geschliffen. Es wird nicht tun, obwohl Editor-Verbindung. Es sind einfach die Botschaften. Es wird nicht wollen, dass tatsächlich über dem Paketverlust und es gibt keine Verbindung. Also all diese Dinge, wenn Sie als Leichtgewicht geprägt betrachten, weil alle Sterne, es Abschnitt zu vermeiden. Und es ist auch überhaupt nicht zuverlässig. Aber es bietet Rundfunk im Falle von UDP. So Beispiel, das Live-Beispiel von UDP, das ich Ihnen sagen kann, ist das leichte Multiplayer-Gaming. Ich habe nicht getan, was tatsächlich in den Daten passiert, vom Senden von Client zu Server, dann werden diese Daten nicht Sand sein. Eigentlich der Grund tatsächlich im Fall des Multiplayer-Nachtspiel, weil dies wird, wird
dies tatsächlich vermeiden, dass Störung oder breit diesen Rückstand tatsächlich wieder senden die Nachricht Absender, die durch diese Stimmung empfangen oder beeinflussen das Spiel, wenn es Licht ist. Um solche Fälle zu vermeiden, verwendet UDP tatsächlich, weil es das Paket nicht sendet. Wieder. Aber die nächste Folie, werden
wir sehen, was ist dieses TCP-Übertragungssteuerungsprotokoll , das durch Socke und den Schulstrom bezeichnet wird. So Yarn Poster Boy, es wird senden und empfangen die Byte-Streams von willkürlich führen. Die Streams werden also direkt vom Sender an den Empfänger,
vom Client zum Server oder umgekehrt gesendet . So kann die Kommunikation von kletterten Solo, neun, umgekehrt sein. Besser, aber wir reden über diese Socket-Programmierung. Es kann von einem sein, von Sender zu Empfänger, von Empfänger zu senden oder so träume ich von den Bytes kann tatsächlich im Falle
dieses TCP gesendet werden und zu Fuß durch Plato Rohr Sie
sehen können und die alle Ratschläge auf dem Architekten verlassen und in der Reihenfolge geliefert. Also, da diese TCP sehen es als eine zuverlässige, weil durch die Unterstützung des Öls, ältere durch Instabilität im richtigen Format wird vom Sender zum Empfänger übertragen werden, sowie die Reihenfolge tatsächlich der -Pakete. Es ist also Gegensätze. Alle Daten sind in kleine, kleine Pakete unterteilt. Paket eins, Paket zwei, Paket drei von der Mitte, es wird an den Empfänger gesendet. Es ist von Client zu Server. Also in dem Empfänger, der nicht gesagt wird, ob es in der gleichen Reihenfolge
und der Reihenfolge , in der es vom Client oder von der Mitte gesendet wurde, gleich sein wird. Daher ist es sehr viel Zuverlässigkeit. Sowie auf das Sprechen über diese ECP, Adobes Massentransitorische Paketverlust, es bacause. Also nicht die Verbindung eingerichtet und die Wartung. So gibt es keine Definition in einem schließt oder Besuche, die Verbindung oder die Verbindung bricht. Es ist also sehr viel zuverlässig tatsächlich einige Bilder verloren. Das andere Ende wird erfahren, dass es einen finanziellen Verlust gibt. So ist es auch zuverlässig, weil, wenn einige Pakete verloren gehen, wieder, können die Pakete vom Absender auf Tage übertragen werden. Forderung. Ein schweres Gewicht tatsächlich, weil alle diese Aufgaben, die zu tun müssen, um die Daten der Daten erneut senden müssen verloren gehen. Dann muss der Editor überprüfen, ob er aktuelle Daten sendet, so dass er dies tun
muss , während er den Fehler überprüft und korrigiert. Also wurden nur Starts mit diesem TCP verbunden. Und deshalb ist es ein schweres. Es unterstützt also keine Rundfunk und ist niedriger als die der UDP. Sie können verstehen, warum TCP langsamer, weil es diese Aufgabe tatsächlich überprüft den Fehler der Korrektur ausgerichtet für das Senden des Vorschlags, es, Herstellung einer Verbindung durch den Empfänger, all diese Dinge, Aufgabe, Taktik, Zeit. Daher ist es niedriger als im Vergleich zum UDP, aber es ist zuverlässiger, mehr bevorzugt tatsächlich abhängig von der Verwendung. Abhängig von der Verwendung können
Sie TCP verwenden und UDP verwenden. Also, wenn Sie HTTP-Veranstaltungsort verwenden oder HTTPS verwenden, wissen Sie, wann immer Sie eine Website besuchen, die HTTP ist, mit HTTP Doppelpunkt WW, Bulldog Bindung lakebed, und nie geben, investieren Sie dieses Format. Dann ist diese HTTP oder HTTPS, die sicherer ist. Wenn Sie ein HTTP hinzufügen. Also alle diese HTTP, HTTPS. FTP, File Transfer Protocol oder Telnet. Eigentlich alle diese Dinge tatsächlich verwenden sie diese ECP, das ist Übertragungssteuerungsprotokoll, und das ist der Sockel V6 eigentlich, jetzt studieren Sie mehr darüber. Und auch seit MY über HTTP gehorcht hat. Also werde ich Sie auch beim allerletzten Vortrag erklären. letzten Vorträge werden tatsächlich mit der Programmierung von HTTP mit EZB. Also selbst das war nicht C. So einfache Server-Client-Kommunikation mit ECP auch wir werden andere unpraktische Programm der verteilten Verwendung der PCP sehen. Wie sie tatsächlich kommunizieren, wie der Browser mit dem Apache-Server kommuniziert, wie diese Kommunikation geschieht. Http Slowakisch neun oder ob TCP. Also, all diese Dinge, werden wir es abdecken. Also lass dich nicht verwirren. Wenn Sie, wenn ich über diese Domäne sprechen und MOOC Schritt für Schritt stummgeschaltet sind. Also lass uns mal sehen. Also ich hoffe, Sie verstanden, was diese PCP ist und was diese UDP bewegt sich auf die nächste Folie. Nun, dieser Rat, also auch die Sache, die ich in meiner früheren Folie erwähnt habe, dass Männer entscheiden, wenn ich mich spiele, kommunizieren, ob sie
die gleiche Socket-Pipe und die gleiche Adressdomäne haben . So Socket-Typ haben Sie Stream-Sockel gesehen. Server-Client sollte entweder Stream-Socket haben, um miteinander zu kommunizieren, oder sie sollten das
Gefühl haben , dass beide den Datagramm-Socket haben sollten, um übereinander zu kommunizieren, und sie sollten dasselbe haben. Und es gibt eine Domäne eigentlich entweder unabhängige Domino immer noch bedeutet, entweder beide sollten in einem unglaublich haben, entweder sollten beide Einheiten für mich haben. Jetzt kommen wir wieder darauf zurück. Ok. Ja, das hier. Entscheiden Sie also vom Endclient tatsächlich während der Socket-Netzwerkanwendung, Sie haben unterschiedliche Verhaltensweisen. Aber das allgemeine Modell für die Erstellung eines Streaming-CQI, PCB, IP-Server und Client. Was das alles beschreibt, ist das Sprichwort, dass der Satellit impliziert, dass wir die Steckdose für beide entwickeln müssen. Wir haben dies in einem sehr auf Ihrer Seite gesehen auch. Haben sie überhaupt andere, unterschiedliche Steckdosen? Eigentlich, wenn Sie zwischen ihnen kommunizieren möchten, sind
Gaddafi-Anwendungen oder Verteidigungssockets erforderlich. Und beide, und ich erstelle den Socket tatsächlich. Die zweite Sache, die Socket-Methodenerstellung war, tatsächlich Methoden oder Sediment in der Client-Socket-Erstellung wird das gleiche sein. Das kann also auch nächsten Monat beginnen. Besuchen Sie tatsächlich verschiedene Methoden, die verwendet werden während der Socket für sedimentierte Client-Kommunikation, werden
wir sehen bilden diese Arbeitselement aufgetreten psi u, und auf diese Weise gehen Sie fort. Also lassen Sie uns diese Seite sehen, Webinar-Netzwerk-Methoden, die
so ihre Defense Socket-Server-Methoden und verschiedene Sock-Socket-blind Netzwerk-Methoden verwendet werden. Jetzt lass es mal sehen. Jetzt auch in diesen Methoden und tun Sie so, als wären Sie nicht alle beschäftigt Viertel, wenn Zielmaschine, welche Rolle ist für Linux-Maschinen vorhanden? Also erzeugen Sie einfach zu sprechen. Eigentlich tritt diese Netzbewegung auf, die für den Satelliten aufgeführt ist. Eigentlich sind Steckdosen fast ähnlich und eigentlich ziemlich Fenster und spitze Nase. Nur Manon hat eine für APIs gebaut nicht. Methoden sind nicht vorhanden. Im Falle der Unix-Liste sind
alle auf einmal in KSR Unix vorhanden. Also lass uns mal sehen. Also diese Socket-Seite, wo Netzwerkmethoden, die verwendet werden. Also, was bedeutet es zu tun und keine Seite vermieden Website tatsächlich den Socket zu erstellen. Eigentlich, im Falle von Windows. Also Fenster, wir müssen w initialisieren. Ich werde Ihnen erklären, was eine Gerechtigkeit ist. Ich gebe Ihnen den Überblick darüber,
was, welche Methoden wirklich mit detaillierter Diskussion in der nächsten Sitzung tatsächlich gehen, und ich erkläre Ihnen, wie, was WACC ist, wie man es initialisiert. So wird dies verwendet, diese Methode wird im Falle von Windows verwendet. Dies wird also nicht in Linux verwendet. Der nächste Moment, der uns Seite an Seite Methoden verführt, die eine Mahnwache hier aufgeführt war. Die nächste Methode ist das Erstellen des Sockets für diese initialisierte WSDL und soll getan werden, während Windows Sie ein Linux nicht stören. Aber das Erstellen eines Sockets ist großzügig. Alle diese Methoden, die aufgelistet sind, sind sowohl für Linux als auch für einen Minuss allgemein. also einen Socket erstellen, tatsächlich Ihren Abschluss an einem Socket auf der Softwareseite, müssen
wir den Socket binden. Also, jetzt dieses Bindemittel hören, akzeptieren Sie all diese ungeklärten Sie in Nevada Vorlesungen, die
gewidmet sind, Aktion zu halten, zu erklären, welche Methoden vorhanden sind. Was ich sah, war acht und was alle Parameter? Ja. Im Gegensatz dazu, zu ihm zu gehen. Was ist die Funktionalität von jedem von ihnen eigentlich für die feiern als Melissa Klein Website. Also, indem Sie die Steckdose beenden, so aber ich habe Ihnen erklärt, dass Panama sagte, als er Lügen nahm, wie kommunizieren die Daten offline. Warum sollte also nicht auf bestimmte Portnummer, eine IP-Adresse, hören? Das heißt, Sie sehen dies, binden, der Socket bedeutet, dass wir an eine bestimmte Portnummer binden müssen. Gehen mit real im Detail in der nächsten Vorlesung erklärt. Und hören Sie auf diejenigen außerhalb von Vitamin B, hören Sie auf diesem Sockel, sobald es an bestimmte Portnummer gebunden ist, ist
es jede Verschiebung auf IP-Adresse. Es hat eine IP-Adresse. Es wird auf diesen Sockel hören, der kauft, um zu entscheiden, was zu hören ist. Und dann wird es einfach verbunden, diese Blindheit UND Verbindung, dann wird es die Verbindung verlassen. Es muss also diese Aufgabe tatsächlich erledigen, bevor es akzeptiert wird. Es muss an bestimmte OD-Nummer gebunden werden. Es muss auf diese Portnummer hören und im Detail erklären. Und dann hat es, dann ist es ein Block, der diese Verbindung akzeptiert,
und diese Verbindung wird akzeptiert, dann ist es in der Lage, die Daten an den Client zu senden und die Daten von dieser Mine zu empfangen. Und eine andere Methode ist die letzte Methode ist getrennt uns verlieren tatsächlich die Verbindung. Also diese Reihenfolge Methoden, diese alle Prozesse geschieht im Blick auf den Bürgersteig draußen, alle auf Funktionalität gefunden, die wir tatsächlich tun müssen. Und Junge, Fenster extrahieren ist, dass wir Ws Risiken initialisieren müssen. Diese Dinge sind sowohl für Linux als auch für Windows üblich, die Socket zum Trennen abschließen. Nun, nein, lassen Sie uns weiter zu verstehen, welche Methoden es für die Client-Seite gibt. Wieder das Gleiche. Wir müssen Ws initialisieren, falls offline auch verwiesen wird. Dies ist also UNEP unter Windows, es ist nicht für Linux anwendbar. Wir müssen die zweite Sache, wir müssen eine Socket verkaufen Streaming erstellen. Ich kenne Socket-Erstellung. Wir müssen tun, was der Client als auch für das Servo, da dies
die verschiedenen Anwendungsprozesse sind , die ihm verschiedene Sockets hinterlassen. Erstellt von, wie ich Ihnen sagte, vier, sagte: Was werde ich kommunizieren? Der Socket sollte den gleichen Socket-Datentyp haben. Wir haben den Socket-Socket-Typ gesehen. Eigentlich kann es gesehen werden, es kann von Akos unterstützt werden. Eigentlich haben wir die Stream-Socket-Typen gesehen. Sie haben ältere Freunde, Stream Doc Socket. Es sollte entweder Stream-Socket auf einem beliebigen Datagramm haben. Der Client und der Server sollten tatsächlich denselben Socket haben. Also müssen wir einen Socket erstellen. So können Sie in Vorträgen tatsächlich sehen, wie man einen Socket erstellt, wie man diese besetzte oder Konkurrenten Domain gibt. Und dann wirst du verstehen, dann müssen wir uns verbinden. Also, wie ich Ihnen gesagt, dieser Umriss, die Regel ist, nur mit der Seele verbinden wird wissen, wie man mit der Sonne zu verbinden. Weil bereits die Seite davon an eine
bestimmte Bestellnummer gebunden ist und diese Portnummer abhört. Also mit Hilfe dessen, nur wenn ich bin, wird sich mit dem Server verbinden. Sie sich also keine Sorgen um all diese Funktionalitäten. Ich gebe dir nur ein, was machst du Deal? Wir werden diskutieren, Sie werden in
der nächsten Vorlesung sehen , die all diese Makroerklärungen gewidmet ist. Und dann das Senden und Empfangen der Nachfrage ein solches Schneiden durch die Salve, die ihr
entgangen war, hatte die Daten gesendet und die Daten empfangen. Und dann der letzte. Das sind also andere Methoden für diese und meine Website. Also sehen Sie tatsächlich diese Methoden. Jetzt sind wir mit den Socket-Risiken fertig. Also, was alles, was Stephen angefangen hat? Dies ist nur eine Null. Was vermeidest du eigentlich Themen, die wir abdecken werden, eigentlich in unserer Reihe. Wir werden das OSI-Modell abdecken, das ist ein offenes System-Verbindungsmodell. Dies wird studieren, dies ist ein Netbook-Referenzmodell. Es ist sehr wichtig. Es heißt ISO-Netzwerk-Layered
Blockdiagramm gibt Ihnen den Überblick über alle Netzwerksystem. Es vereinfacht tatsächlich, Ihre Straßennetze ist komplexes Netzwerksystem in
verschiedene, verschiedene Komponenten und beschreiben, wie diese Komponenten miteinander kommunizieren Disziplin ParaView. Um auch loszuwerden, das Problem tut oder Sie werden verstehen, wie eines Tages senden tatsächlich die Daten von Absender zu Empfänger gesendet und umgekehrt in verschiedenen, verschiedenen Prozessen, tatsächlich anders durch verschiedene, unterschiedliche Schicht Bode -Diagramm. Was alle Dinge waren Dot O Allele kommt in Betracht. Was sind die verschiedenen Beispiele, Protokolle einfach oder verwendet. Also, das habe ich es auf sehr einfache Art und Weise tatsächlich vereinfacht. Und das ist für alle sehr wichtig. College-Studenten. Gedankenschwellen für Entwickler, sowie es wird Ihre grundlegenden Konzepte klar, einfach darüber zu sprechen. Im nächsten Thema, das ich die Bürgersteig-Linie abdecken und Socket-APIs gehen werde. Seit dem, was wir hier bei zeitgleich für Fenster studiert haben. Es war also eine Kundenseite für die Socket-Kommunikation, die wir in diesem Vortrag studieren werden Sie werden in den Kalten Krieg versinken. Aber ME tut, was alle Funktionen im Detail verwendet werden. Und dann werden wir studieren, was über Linux-Linux-Socket-Methode gesagt wird. Und dann bauen wir ein Programm für PCP, sagte über neun Socket-Kommunikation auf der Platine, aber Sie werden das Programm schreiben, um zu kommunizieren. Zwischen dem Freund erzwungene Datei mit diesem TCP-Protokolle haben Sinn und wir werden sehen, wie sie kommunizieren, wie Server mit Ty kommunizieren und helfen. Ich werde eine Nachricht an den Server senden. Wie auch immer auf diese Linie reagieren wird. Also das, wir werden das praktische Beispiel tun, richtig, aber programmieren Sie eins nach ID und wir werden es ausführen. Also das nächste, was
eine andere Sache sein wird , dachte ich eigentlich, das ist sehr wichtig. Das ist also ein Grund, warum ich mit seiner programmierbaren abdecken werde. Da ich Ihnen also gesagt habe, was HTTP ist, verwendet es TCP. Also auch dieses Programm tatsächlich sehen, werden
wir sehen, was HTTP und die Programmierung von STDP, so genannte Encore Block ID. So können Sie verstehen, was HTTP-Site des Herbstes ist. So finden Sie es interessanter, weil Alltag. Jetzt ist das Internet immer so gemeinsam für Sie alle, dass wir es gewohnt sind tatsächlich haben einfach etwas, das wir finden
müssen , tatsächlich über das Internet verfügbar sein. Achilles Soldaten haben immer diese Sache, die Sie wissen, was HTTP ist? Geben Sie einfach HTTP-Doppelpunkt oder den Namen der Website, die Sie besuchen möchten. Level erklärt Ihnen, wie der Browser kommuniziert, wie was auch immer Sie den Website-Namen tatsächlich in Ihrem Browser geben, dass es sich um einen Chrome-Browser, Internet Explorer-Browser. Wie es mit dem Roboter spricht tatsächlich Idiom, wie er die Daten holt und wie Sie dorthin gelangen. Gitarre, auf Ihrer Anwendungsebene, schreiben
Sie das Programm tatsächlich mit Hilfe des Wissens, das wir studiert haben, die Züchter Vortrag, identifizieren Sie als sehr einfach. Sobald Sie nur mit anfangen müssen, müssen
Sie das Programm mit mir schreiben. Und Sie werden embryonale Lecture sieben verstehen, angesichts dessen, was ich blocky sowie nicht-lokale Sockets. Und wir werden ein Programm schreiben und
es ausführen , um sie viel besser zu verstehen. In der nächsten Vorlesung werden
wir sehen, wie Multi-Client-Server-Socket-Kommunikation zu erreichen. Also niemand gezwungen, krank Ansatz mit dem Thread zu sein. Also, dass ich sage, dass jeder ein Stück gesagt hat, indem er das benutzt. Und wir werden sie eins nach dem anderen sehen. Was gibt es, um diese benachteiligten
Menschen Ansätze zu vermeiden , um einen Rückgang Server-Socket-Kommunikation zu erreichen. Also hier habe ich es Interdependenz und
Vorträge geteilt , um zu verstehen, wie ich meine abgelehnte Server-Socket-Kommunikation erreichen kann. Es gibt also zwei Ansätze. In dieser Vorlesung werden
wir durch den ersten Ansatz gesehen werden, nämlich durch die Verwendung der Auswahlfunktion. Und wir werden sehen, was die Auswahlfunktion ist und wie Sie sie verwenden, was alle Menschen benötigt werden. Auf diese Weise werden Sie sehen, wie es meine ablehnte Socket-Kommunikation bringt. Dafür ist dieser Vortrag gewidmet. Dann werden wir das Programm in der nächsten Vorlesung schreiben, das Programm mit der Auswahlfunktion. Also hier in dieser Vorlesung werden wir verstehen, was Auswahlfunktion ist, wie Sie es verwenden. In Vorlesung neun schreiben wir ein Programm und verwenden die Select-Funktion auf dem Linux-Betriebssystem. Vortrag zehn. Leistung vermindert die Serverkommunikation mithilfe des zweiten Ansatzes. Selbst dieser zweite Ansatz besteht darin, den Socket nicht blockierend zu machen. So werden wir sehen, wie man Socket nicht blockiert. Was alle Funktionen verwendet werden und was Menschen sind erforderlich. Also mit diesen Informationen in der Vorlesung, dann werden wir weiter gehen oder Vorlesung lemma, dass eine neue schreiben die Programme und wird es
mit dem zweiten Ansatz ausführen , indem der Socket ist nicht blockierend. Auf diese Weise werden wir sehen, wie ich
meine abgelehnte Server-Socket-Kommunikation und ein umgekehrtes Betriebssystem erreichen kann. Dann die allerletzte Vorlesung, werden
wir die Anwendung oder Buchse sehen. In diesen Bereichen werden Socket-Server, Client verwendet und wir werden es in
realen Beispielen versinken , dass alle Socket-Server verwendet werden. Also all diese Dinge, die ich erwähnt habe, die wir abdecken werden, und ich habe Sie durch all diese Socket-dominanten Ideen gehen lassen, was alle Dinge für die Steckdose notwendig sind. Also VI getan für den allerersten Vortrag unserer konkurrierenden Schule Sockel V6 nächste BOD POD, diese Vorlesung, die ich tatsächlich erwähnt habe, das heißt,
so dass dieses OSI-Modell, Netto-Volt-Referenzmodell, dichter, Multiplikation all diese Dinge, die Sie Schritt für Schritt abdecken werden. Also danke. Vielen Dank.
4. SocketSession3 Teil 1 TCP OSIModelPreview: Hallo, willkommen zur zweiten Sitzung des Kurses, der TCP IP-Architektur ist, die auch so alle wie ich Modell genannt wird. Dag ist ein offenes Systemverbindungsmodell, auch als Netzwerkreferenzmodell bezeichnet. Dies gibt Ihnen den Überblick über das Netzwerksystem, erklärt Ihnen, wie diese Komponenten miteinander kommunizieren,
wie Sie von Sender, Empfänger und diese mittlere Basis übertragen werden , Ihr Sockel entpackt DM, So -Netzwerk. Also lassen Sie uns verstehen, diese Vernetzung und lassen Sie uns verstehen, wie negieren. So erhalten Sie ein Gesamtbild des Sockels und seiner internen Komponenten. Die, Lassen Sie uns beginnen, die BC zu verlassen, oder eines dieser Themen, die in dieser Folie erwähnt wird, das heißt, was OSI-Modell und die Bedeutung davon. Blog-Diagramm des OSI-Modells B. Dann wird eine Diskussion der Komponenten dieser Architektur
veranschaulicht, die Kommunikation dieser Komponenten untereinander. Und schließlich werden wir sehen reale Welt Beispiel, um dieses OSI-Modell
zu veranschaulichen, wie diese Netzwerkkomponenten miteinander kommunizieren. Das ist das OSI-Modell, das auch als netzwerkgeschichtete Architektur bezeichnet wird. Das ist auch die TCPIP-Architektur. Also fangen wir mit meiner Mutter an und verstehen dieses Netzwerksystem, wie diese Komponenten miteinander kommunizieren. Also, was machen Sie auf der nächsten Folie? Was ist OSI-Modell? So steht OSI für offene Systemverbindung, die auch Netzwerk mit Referenzmodell gegangen ist. Also dieses OSI, es wird Ihnen den Überblick über das gesamte Netzwerksystem geben. Es geht also darum, das Netzwerkkonzept in kleine,
kleine Netzwerkkomponenten zu vereinfachen und zu beschreiben, wie diese Netzwerkkomponenten miteinander kommunizieren. Das ist ihm also sehr hilfreich. Oder die Netzwerktechniken Jian Wu beheben das Netzwerkproblem, weil es dieses
Negativ vereinfacht , wenn sie hoffen, dass Systeme und kleine, kleine Komponenten. Erklären Sie, wie die Kunst, miteinander zu kommunizieren. So, was auch immer Ihr Problem ist, dass Sie beheben können, welche Schicht dieses Problem auftritt und Sie beenden können. So vereinfacht es es das. Das ist also, was ich in dieser Folie beschrieben habe. Der andere Punkt ist, dass das, was ich oben
erwähnt nur Ihnen den Überblick über das gesamte Netzwerksystem, sondern auch vereinfacht das Problem der Netzwerk-Techniker. Wer ist es nicht beunruhigend Problem mit Bezug in diesem OSI-Modell, es besteht aus sieben Schichten. Das ist die sieben Komponenten wie sehen, welche Komponenten vorhanden sind. Obwohl sehr obere Komponente abelian, die in diesem OSI-Modell vorhanden ist, ist die Anwendungsschicht. Also dieses Detail, das ich Ihnen beschrieben habe, keine
Sorge, ich werde es Ihnen erklären. Was ist die Anwendung in der Nähe von dem, was vorhanden ist, alle diese Knoten eins nach dem anderen. Und wir werden
auch sehen , welche Protokoll- und Statusmenge von Kugeln alle diese Leos verwenden. Und später werden wir auch sehen, wie die OSI-Modellansicht es mit dem praktischen Beispiel synchronisiert. Ich werde Ihnen ein Beispiel aus der realen Welt erklären. Und ich werde Ihnen erklären, wie dieser Leo die Daten vom Sender zum Empfänger bringt. In der Tat, Beispiele für menschliches Verständnis. Also lass uns mal sehen.
5. Socket Session3 Teil: Dies ist eine Anwendungsebene, die sehr oberste ist. Leo ist dann die Präsentationsschicht, Session, Transport Layer, Network LEO, Datenverbindungsschicht und physikalische Ebene. Also all diese Dinge habe ich hier mit den Beispielen tatsächlich beschrieben, aber lassen Sie uns eins nach dem anderen sehen. Sie können es später durchgehen und ob Digraph, Das ist Architektur. Fangen wir damit früher an. Das ist ein Bewerbungsvertrag. Also, was bedeutet diese Anwendung? So stellt es die Benutzeroberfläche zur Verfügung. Also einfach gleichmäßig über Anwendung sprechen Sie verstehen, Anwendung ist derjenige, der Ihnen helfen wird. Schritt eins, willkürlicher Benutzer interagieren mit. So wird es Ihnen die Benutzeroberfläche zur Verfügung stellen. Also, egal welche Aktion Sie
fallen, fallen auf die Anwendung, die reflektiert wird, dann wird es den niedrigsten Löwe von obersten Löwen erreichen. Sie verwenden also eine Notwendigkeit, etwas zu tun, um die entsprechende Antwort zu erhalten. So dass Aktion, die durchgeführt wird, wird auf der Anwendungskomponente durchgeführt, die vorhanden ist. Und das ist, was ist mit Anwendung Leo Beispiele oder FTP? Nein, FTP wird verwendet, um zu planen, ob phi. Also zehn net auch, wissen Sie, wir müssen E-Mail-Anwendungen oder andere Anwendungen verbinden. Die Reihenfolge ist definiert. Dann die nächste Schicht, die als Präsentation kommt, DO SO was bedeutet diese Präsentation Leo? Also in dieser Präsentation, Leo, was auch immer ich bin Bewegung oder Datenkonvertierung in dieser Anwendung
erforderlich ist , wird auf der Präsentation Leo stattfinden. Entscheiden Sie sich also einfach hier auch beschrieben. Es wird verwendet, um das Format der Daten. So können Sie komprimieren oder dekomprimieren, verschlüsseln und entschlüsseln. Aber Gita, da Studie Dekonvolution erforderlich ist, daher ist es Admin-Form unter Deepa kommen 50 Unternehmen und Paralympic Gruppe. Also, unabhängig von der Formatierung werden die Daten stattfinden. Welche Anwendung bei dieser Präsentation, Neil und die andere Datenverschlüsselung findet statt, sowie Zeichensekt und war nicht explizit. So Beispiel auch dort. Also JPEG, PNG. Also wissen Sie, das
sind die Hormone auch ihr festes Format. Also diese sind anders, andere Art älteres Format. So können Sie dieses Beispiel selbst verstehen, da die Datenverschlüsselung erfolgt Daten und Reise und findet im Falle von JPEG PNG statt. Ja, das sind verschiedene Formate. Also, wenn wir über das Datenformat sprechen und diese Präsentationsschicht kommt in eine Waffe. Also keine Sorge, ich werde Ihnen das reale Beispiel erklären, nachdem ich diese Ebenen erklärt habe. Und Sie können mit all diesen Nachrichten synchronisieren. Das ist Präsentation, Anwendung in Öl und auf
diese Weise sogar zu verstehen, was wirklich dann, was ist Sitzung NEA, Sitzungsschicht, es wird den Namen selbst schreiben,
sagt, dass die Verbindung, die Sie verstehen können. So öffnet und schließt die Sitzung mit diesem Unternehmen Gaumen,
so dass es verantwortlich ist, aber die Sitzung für die Steuerung der Sitzung zu öffnen, die Sitzung
zu prognostizieren, dass Remote-Post-Doc in Kriegsmaschine durchgeführt wird. Und so diese Sitzung, die OED tatsächlich, also diese Sitzung, welche von Deadlocks, die mehr, wer weiß, dass das eine Verbindung Richard entwickelt mit der entfernten virtuellen Verbindung. So wurde es durch den Namen selbst abgeschlachtet. Sie können verstehen, es ist nicht echte Verbindung tatsächlich eine virtuelle Verbindung benötigen. Das ist etabliert, so auch
als Transportverbindung weniger oder ohne Netzwerkkommunikation beschrieben . So können Sie verstehen, dass eine alte existiert, aber ohne Netzwerkkommunikation. Also daher der Name beobachten Verbindung, dann das Beispiel der Sitzungsschicht angegeben werden, erklärt Sie tatsächlich, das
heißt, das wird die Verwendung aller E-Mail-Anwendung veranschaulichen. Also in der menschlichen Anwendungsweise Rolle, müssen
wir jeden lustigen Buddha-Remote-Host senden. Wir müssen die Pine auf den entfernten Host übertragen. Also, was passiert bei, obwohl ziemlich vorbestimmt, gab es nur eine CBO-Rechnung, die die Daten an
die Sangha senden , um die Informationen darüber zu erzählen, wie viel die Daten jetzt empfangen werden. Es ist also ein kleines Intervall, wenn die Datei transportiert wird. Im Falle der E-Mail an den entfernten Host teilt
diese Forderung dem Absender mit, wie viel die Daten transportiert werden. Jetzt. So passiert das bei kleinen, kleinen und Regierungen und 3h Assemblage und Doppel nehmen dazwischen oder Nadelverbindung wird von dort unten verloren. Damit wir nicht oben oder unterhalb dieser Sitzungsschicht diskutiert haben, die eine Marke ist, das ist eine Transportschicht. Also bezeichnen wir über
die Bewerbung Präsentation und Nomial Talking Sessions diskutiert haben . Also unter Prozession in der Nähe dieser Transportschicht. Also, wenn die Verbindung von der DOM-Schicht, das ist Transportschicht, verloren geht, was passiert dann in diesem Fall? In diesem Fall wird die Watchman-Verbindung vorhanden sein. Also, was Sie Verbindung wird nicht verloren gehen. Und ein Wechselrichter, diese Sitzung, erhält
das Audit eine neue Transportverbindung und sendet dann die Daten. Auch hier wurde der zusätzliche Lebenslauf von Reddit früher gestoppt. So erwähnte ich ihn im Grunde auch die Eröffnungs-Controlling und Abschlusssitzung. Es wird durch die Transportschicht gemacht, die nach unten zu dieser Sitzung ist. Sie können verstehen, was die Sitzung in der Nähe der Wirbelsäule muss korrigiert werden Rechtschreibung. Jetzt. Dann, wenn wir über Euler Rotation sprechen über so jetzt reden über die DownloadActivity, Denken mit der Sitzung, wir ziehen auch auf, was ist die Transportschicht. Transportschicht. Es wird die Daten durch den Namen selbst übertragen. Sie können verstehen, und es hat eine eingebaute, blau-weiß, jede Verbindung zwischen dem Host. So wird es die Daten übertragen und bietet End-to-End-Verbindung zwischen dem Host. Also diese Transportschicht, tatsächlich, können
Sie die Verbindung zwischen den Tablets zwischen dem Host sehen kann zuverlässig sein, das ist eine Aktion oder kann unzuverlässig sein. Sie trennen diese Seele. Ich hoffe, so durch diese zuverlässige und unzuverlässige, Sie könnten verstehen, dass wir in den Berichten über TCP und UDP gesehen haben, erfüllt und B haben PCPs zuverlässig gesehen. Europäer, nicht schwarz ist unzuverlässig. Und wir haben auch gesehen, dass TCP zuverlässig ist, weil es ist, wird
es tatsächlich sicherstellen, dass alle Daten sind. Um den Empfänger korrekt in der richtigen Reihenfolge, dass ooh, wenn ein Knopf ich entfernen kann, Zentrum wird an den Empfänger benachrichtigen und wieder die Daten übertragen werden können. So Editor Vorhersagen auch vorausgesetzt, es ist Schwergewichtsniveau, weil alle Holzwände in Aufgabe eine Fehlerkorrektur für das Senden der Daten ,
wenn das Paket verloren geht und es eine Verbindung entwickelt. Also all diese Dinge passieren im Falle von Teig TCP ist eine zuverlässige Verbindung. Wir haben eine unzuverlässige Verbindung gesehen. Das heißt, dass UDP keinen Fehler hatte, wird die
Korrektur verboten. Und es ist nicht o, es ist am besten an Bord, dass selbst wenn ein Paket laut ist, keine Daten senden und nicht benachrichtigen, sobald Sie das tun, eine CBO. Also hier ist es sehr leicht. Also alle diese Punkte, die wir diskutiert haben, all diese Transportschicht mit Hilfe ihrer Familien, weil miteinander verbunden sind. Sie können sehen, wenn ich sprach über die Sitzung näherte, ich war hier war, was mit diesem DOM in der Nähe von Transportschicht ging. Ok. Also jetzt, weil sie miteinander kommunizieren, nominieren Vortrag über den Transport hier. Niemand, der seine Rente geprägt hat, dass Hale-Bopp Netzwerk hier. So ist das wieder da w. So diese Transportschicht mit Hilfe dieser magnetisch bestellt seine eigene IP-Adresse, und es baut Sander Daten. Also, obwohl Daten-Widget empfängt Wachsamkeit Transportschicht, es empfängt von der Sitzungsschicht tatsächlich es, mit Hilfe des Downloads, dass Daten, wird
es die Daten adressieren. Und so ist das Beispiel, das ich Ihnen gesagt habe, TCP-Datenverbindung eins und UDP ist verbindungslos. Die nächste Schicht, die vorhanden ist, ist also die Netzwerkschicht, die hier nach unten durch den Transport ist. Also, was bedeutet dieses Netzwerk Leo? Es ist es, es ist es, die Rampen bedeutet, ihre Richtung zu geben. Also ja, DO Datenpakete auf Details Transport ausverkauft bedeutet,
dem Paket die Richtung zu geben , auf welchen Pfad es reisen sollte, dieses Paket sollte reisen, also wird es abgerundet werden. Datasets geben ihre Richtung, wird das RP-Paket von einem Pfad geben, es sollte entlang abgestiegen zu Richtlinie reisen, aber dass diese Route, so wird
es, es wird wieder zusammensetzen die Pakete von Daten, weil es sendet ein Paket der Daten, ein paar Pakete von Daten von Absender zu Empfänger, CBO-Site, es wird wieder zusammensetzen, es wird alle Daten zusammen sammeln. Hier geht es also um die Netzwerkansicht. So ist der Hauptzweck dieser Demo nuklearen auch die Pakete angesprochen. Es war also ihre Adresse dem Paket zur Verfügung gestellt worden, richtig? Dass dieses Paket tatsächlich verstehen wird, durch welchen Weg es gehen sollte. Und durch das Internet, lokale Brücken und Onkel und Beispiel ist IB. Also habe ich das auch verstanden. So wird es rollen ist eigentlich Richtung zu dem Paket zu geben, das rampt, Name wieder zusammensetzen das Paket der Daten. Und sein Hauptzweck besteht darin, dem Paket die Adresse zu geben
, damit das Paket versteht, wen sie durchgehen sollten. Internet, lokale Brücken und Auto Beispiel ist IP. Also der nächste Layer ist dort Datenverknüpfungsschicht. Also, was bedeutet die Datenverknüpfungsschicht? Es tut tatsächlich, also ist es auch die nächste Treiberschicht, die verwendet. Denn von Dr. Willard, weil es auch Kunst vernachlässigen wird, ist eine hydrostatische. Dies ist die Haupt-Netzwerk-Leitfaden, durch die Sie das Internet erreicht. Dies ist also unser Gerät, durch das Sie erreichen und sammeln. Also ist es das, unser Leon ist kein Gerät, eine Wüstenrivalität ist ein Netzwerkstamm und weil es die Netzwerkkarte kontrollieren wird, okay? Nun, diese Daten-Link-Schicht, Ich brauche die Konkurrenzanfrage als zwei oder mehr Negativität oder verwendet Seele, da es die Netzwerkkarte, die ein Adler und Soda-Verbindungen gewesen wäre steuern wird. Also sind sie nie diese oder mehr neuronale Netzwerkschicht , die das gleiche Netzwerk verwendet Antwort Ihre Nicht-Eigenkapital älteste vorhanden oben auf dieser, die wir jetzt diskutiert haben. Also dann tun Sie ein Wort, Netzwerk. Es wird die gleiche Netzwerkkarte verwenden. Also, wie dieses Management, wenn für das Weiße Haus Zugriff auf
die Netzwerkwache hat , ist, dass nur mein Hals und Netzwerkkarte. Aber wie dieses überschüssige Geld für die Netzwerkschicht zur Verfügung gestellt, die
vorhanden ist und Ägypten und Ziehen dieser Datenverbindung Schicht. Und so tut er, ich nicht auch die physische Adressierung des Netzwerks und Aktion findet statt. Es besteht auch Oktober Gesetz über Störung beschrieben haben, so dass Sie sollten wissen, jeder und alles über den CEO. Es geht also darum, welche Topologie es Internet-Topologie gibt. Und es wird auch verwendet, es verwendet auch sind am häufigsten verwendete Netzwerkgerät,
das heißt, wenn verwendet Schalter. Hier geht es also um den Datenverbindungs-Layer. Auch macht der Italiener klar, dass es aus zwei erhabenen besteht, nicht wahr? So weit Otitis, Medienzugangskontrolle, Das ist mac-Sublayer von dem, was diese Amaterasu tut, Es ist verantwortlich für das Gerät Interaktion. Dies erwähnte ich Ihre Gerätenetzwerkerkennung. Und das zweite ist W, bei dem Dayton in Kansas tut, ist logische Verbindung Leah, plötzlich. Also diese logische Link-Schicht, es bietet Multiplexing und Adressierung über sie. Obwohl wir Multiplexing bedeutet was? Es bedeutet. Es wird, sind jetzt, könnte vertiefen und gehen durch geeignete, warum Menschen in verschiedenen Multi-Punkt-Netzwerk
existieren. Und es kann auch übertragen, transportiert werden, oder ob das gleiche Netzwerkmedium. Das ist was mit dem Multiplexing? So ein Beispiel für diese Datenverknüpfungsschicht, wenn Sie sehen, wird die Massenquelle und Zieladresse, sowie die ewige Flamme. Also mach dir keine Sorgen um das alles. Technischer Schriftsteller, Dichter kritzeln klar. Ich hoffe, damit Sie verstanden haben, verstehen Sie es einfach. Gehen durch den Netzwerkteil, es wird verwendet, um einen Engel Verbindungen zu treffen, wenn ich bin, wenn Menschen Verbindungen von der Netzwerkschicht mit der gleichen Netzwerkkarte, es wird diese Verbindung verwalten und es Phantasie Speicher zwei Dinge, die in unseren Schuldnern, MAC und LLC vorhanden sind. Logisches Link-Steuermagazin eines
Abschlussballs teilt diese Aktion und dies wird Multiplexing und Adressierung zur Verfügung stellen. Also ihre Details darüber, ich werde erklären, dass Sie reale Beispiel beinhalten, die ich eine Menge von der Öffentlichkeit, diese Führer, Ich habe das reale Beispiel abgedeckt und ich bin erklärt Inhaber, diese Leos, die Sync eigentlich, was sie tun werden, wenn ich in dieser realen Welt Beispiele bin. So werden Sie verstehen, was genau diese Leos mobil sind. Nun, die allerletzte Schicht ist das Allel. Also diese physische Schicht, es wird auch genannt, als ob es ein Netzwerk ist. Auch bedeutet nicht, dass Hyderabad tatsächlich das Netzwerk
bringt, das verschiedene Formen von Gehör davon sind. Es können auch die Netzwerkkabel sein, die es nicht gehört hatte und all das. Also all diese Konzepte, die physisch. - Ja. Also danke. Vielen Dank.
6. SocketSession3 Teil: Hallo, willkommen zu dieser zweiten Sitzung, Teil zwei für dieses OSI-Modell, das TCP-IP-Architektur ist. Also in der Tat, in der gleichen Sitzung habe ich über die sieben Leos diskutiert, die bringt das Networking-System. Also, wie diese Komponenten, wofür sind diese Schichten verantwortlich? Und wie sie miteinander kommunizieren. In diesem Vortrag
werde ich Ihnen erklären, dass er und Gott Beispiel. Und ich werde Ihnen erklären, wie diese sieben Network Leos Video rollte die Segelboot-Beispiele, so dass Sie ein Bild
machen, wie diese Netzwerk Leos
Netzwerkkomponenten eines Tages ich hatte und wie sie miteinander kommunizieren. Also lassen Sie uns das sehen. Also hier werden wir die inneren Beispiele wie diese studieren. Ich simuliere einen einzigen Lebensmittelauftrag. Also ja, der Kunde wird
nicht über sein Netzwerk machen und eine Bestellung mit einem Börsengang aufgeben. Dann werden wir berücksichtigen, dass Hundekunden, die sowohl auf ihre verzerrten als auch eine Bestellung aufgeben und diese Person wissen, täuscht Köder und der Kunde
mit den Bestelldetails kommuniziert , was der Kunde will. Und Lieferperson wird dann an die Adresse auf einem Stimulans gehen und gehen, um Nahrung zu liefern. Es wird also sein, zu sehen, wie diese Leos dann eine Rolle in ihnen spielen. Also lasst uns eins nach dem anderen sehen. Also Pasta-Anwendung, Leo. So Vannevar stellate ist ein Formular für Kieselsäure Stoma mit dem Horn tatsächlich kommunizieren in den Details der Bestellung
interagiert. Also ja, die Anwendung, so dass Sie wissen, was ist die Anwendungsschicht, wenn das eine Inleitung ist, es erlaubt die Benutzerinteraktion, abhängig von dieser Aktion, wird
es reagieren. Die Aktion ist also, dass der Kunde
einen Anruf über das Telefon macht , um bitte bestellen. Das ist also, dass die Anwendungsschicht berücksichtigt wird und das damit verbundene Protokoll HTTP oder HTTPS ist, dann ist das FTP, wie gesagt, leer. Also all dies sind die Protokolle, die in dieser Anwendungsschicht Soda kommt, Kunde, mit dem Telefon, um eine Bestellung vorzeitige Anwendung zu platzieren. Leon, lassen Sie uns diese Interaktion mit dem Hafen machen. Als nächstes kommt also die Präsentationsschicht. Also, was diese Präsentation hat das IB in der vorherigen Vorlesung studiert, was tut es? Es tut die Form, die ich denke, von den Daten. So wird es die Datenverschlüsselung tun. So vermieden die Formatierung für eine Anwendung erforderlich und in dieser Präsentationsschicht
durchgeführt werden . Also, was haben wir getan? Blastocoel oder den Befehl, den er von der Anwendungsebene der Polizei erhält. Und auf der Rückseite wird
es die menschliche EVA-Anzug-Ereignis-Nicht-Netzwerk-Formel entladen. Also, was bedeutet es? Es bedeutet, dass Definition bedeutet, dass es
in einem bestimmten Format berichtet , das Sie sagten. Ich verstehe. Daher sollte dieses Format ihnen gemeinsam sein. Also hier Ähnlich im Fall von Beispiel auch, wenn der Asteroid ein foo, werde
ich von den Bestelldetails wie annehmen, der Kunde wollte etwas Nought bestellen. So muss es zu diesem Restaurant persönlich kommunizieren. Die Sprache, die kein Kunde verwendet, um vorliegenden Belastung
mitzuteilen, sollte eine gemeinsame Sprache sein. Das heißt, es sollte universell sein, es sollte ihnen bekannt sein. Das ist also ein Grund, warum es in dieses Format konvertiert wird. Es wird in perfekter Sprache umgewandelt werden. Ich spreche. Die Person wird in dieser Sprache sprechen, die beiden
gemeinsam ist. So dass Elend und diese Präsentationsschicht, es wird verwendet, um in diesem Format, das
von ihnen verstanden wird, um alle richtige Kommunikation zu packen. Also dieses Zahnfleisch in dieser Präsentation in der Nähe des verwendeten Protokolls ist die D. So wissen wir, dass die Bilder in verschiedenen Formaten, das Datum zurück, wenn Pfam NGI Biegung in unserem HTML anders, das ist die Seite tatsächlich die Webseite, dann die ascii im Zusammenhang mit dritten Strings. Dies ist also auf den Protokollen, die hier im Falle der Präsentation Leo verwendet werden. Nun, diese Sitzung, was tut postal Cuando Sitzungsschicht? Also, um die Daten zu übertragen, das ist ein Paket tatsächlich tun ihr Ziel, diese Sitzungsschicht, sollte
es die Kontrolle öffnen und schließen Sie diese Sitzung, die es zwischen den Endbenutzer-Anwendungsprozesse sind verantwortlich für das Öffnen, Steuerung und Prognoseentscheidung zwischen verschiedenen Anwendungsprozessen. Also Riot ist eine offene Sitzung erforderlich. Tun Sie den Remote-Host, um Daten zu senden, um ein Paket zu übertragen, sollte
es offene Sitzung passieren,
tun, dass Remote-Host. Also wissen wir diese Sitzung in der Nähe von USA und was Sie tatsächlich gesehen haben können Butane und Missbrauch durch diesen Vortrag oder diese Sitzung, zweite Sitzung. Also, wenn Sie dieses Beispiel, Victoria Albert Beispiel, von Aktionären, Kunden, die einen Anruf und die Restaurantperson sollte es erhalten. Schreiben Sie Ihren Empfänger, damit der Kunde mit diesem Empfänger kommunizieren kann. Diese Störung ist tot und einzigartig, neu senden Sie diese bestellt. So ist diese Kommunikation erforderlich, so dass die Forderung wieder, die Informationen der Bestellung Details, was die gesamte Bestellung der Kunde konfrontiert hat. Also dies auf, weil der Grund der Sitzung, dies ist sehr erforderlich. Das andere Ende, das ist, dass die verzerrenden Moderatoren einen Anruf
erhalten haben oder um dieses komplette erfolgreiche Kommunikationsprotokoll als RPC verwendet zu haben, wissen Sie, RBC. Wir haben, wann immer wir kommen müssen kommunizieren über die Remote-Maschine tatsächlich dann bedeutet das, dass Sie eine Sitzung zwischen der Remote-Maschine entwickeln müssen. Dann kommuniziert dieser RPC SQL auch mit der Datenbank tatsächlich, um sich mit ihrer Datenbank zu verbinden. Sql wird verwendet, Netzwerk ist ein und es arbeitet Preise temp eins. Und dieses X Windows wird verwendet, um zu kommunizieren oder ob ich Maschine bekommen muss. So ist dies auf der Sitzungsschicht kommt in Betracht. Jetzt reden wir über die Transportschicht. So Cluster, während die Transportschicht ist, um die Daten zwischen End-to-End zu transformieren. Kann es bringt das Ende-zu-End-Verbindungsversprechen heraus. War da auch der Mittelwert, was diese Transportschicht, wenn sie tut, es tut, es ist, es stellt nicht nur sicher, wie die Daten übertragen werden sollen, wie sie verbindungslos sein sollen. Audits sollten Verbindung oder Daten sein, die ist, TCP sollte daher sein, eine alte UDP sollte daher sein verbindungsist, anorganische Seite Paket alle seine einzige bietet keine Fireball-Sicherheit und Validierungen und bietet eine Sicherheit, die eine erworben wird, bitte. So wissen Sie, von N1 wird verwendet, um ihre Daten zu sichern. Das verdächtige Paket, das ist. Was bei einem Problem mit einem Editor vermutet wird, wird nicht an den höheren übergeben. Also brauche ich ein gültiges Paket übergeben wird. Aber verdächtige Halterung, Nicht-Schlüssel-Paket, bietet
es der Käufer will Sicherheit. Mit der Entscheidung, wie die Daten übertragen werden sollen, stellt der
Connectionismus auch diese Funktionen zur Verfügung. Dann. Es brachte auch dorthin bietet es eine Qualitätskontrolle? Qualitätskontrolle im Sinne. So hat diese Spezies Paket wird nicht erlaubt, durch das Feuer passieren. Und war Susans abgebildetes Problem ist da im Paket. Daher ist es die Überprüfung der Qualität des Pakets ist nicht gut, nicht durch die Firewall liefern. Das ist der Grund, warum es diese Qualitätskontrolle bietet. Nun, Denken mit einem echten Board, das heißt, wenn das Essen ist nicht gut eigentlich, die vorbereitet ist, dass ich begann und es war ein RB liefern an die Kunden. Diese Spezies vier darf also nicht an den Kunden geliefert werden. Denken mit einem realen Weltbeispiel. Also dies, wie ich Sie beschreiben, diese Transportschicht Ahnen zwei Dinge, zwei Typen, Statistik, Cp. Hier wird es entscheiden, wie die Daten übertragen werden. Es wird eine Aktion haben, es ist verbindungsorientiert. Es wird auch zuverlässig sein, dass, weil, wenn jemand Gesetze stirbt, dann wird es dem Empfänger auch wieder benachrichtigt werden, es wird bearbeitet, dass Abschnitt auch geschehen. Und so verdient Holzer schwere Köder, weil es all diese Aktivitäten ausführt. Dann Beispiel oder PCBs, HTTP, FTP, SMTP, erfüllt wie im Falle von UDP, ist verbindungslos orientiert, wir haben gesehen, dass es nicht
zuverlässig ist , weil einige Pakete verloren gehen und es wird nicht an den Empfänger benachrichtigt werden. Auch hier wird es nicht zurückgesetzt. Und es stört es nicht, dass es nicht gerichtet war. Das ist also ein Grund, warum es nicht zuverlässig ist. Und das Lebensbeispiel dieses UDP liegt vertikal oder Gaming. Dies ist also eine Notation, die Multi-Player ist. Also richtig, es sendet nicht die Pakete, die
verloren gehen , weil das unsere Störung sein wird. In dieser Mitteilung. Wieder, DWB, WB Senat irgendwann genommen werden. Das ist also ein Grund oder nicht. Es ist beendet und sollte daher in der Live-Kommunikation verwendet werden. Das passiert also im Falle von UDP. Dies ist also ein Live-Beispiel. Jetzt reden wir über sie Uhr Leo. Also, was bedeutet diese Netzwerkschicht, die wir zuerst gesehen haben, nahm eine Netzwerkschicht. Wir haben in der früheren Vorlesung gesehen, bietet Routing der Pakete. Das heißt, es wird entscheiden, in welche Richtung das Paket gehen soll, oh, welchen Weg es folgen soll. Und dann haben wir gesehen, und wir haben auch gesehen, es ist verantwortlich für die Einrahmung und Montage der Pakete. Also, was Hals Multi-Year bietet, es bietet den besten Weg, um Pakete zu routen. Der beste Teil bedeutet also, dass es
der beste Weg für das Balkendiagramm auf Gruppenebene, kurzer Pfad, bereitstellt . Zuvor eigentlich sollte dieses Paket vom Sender an den Empfänger gesendet werden. Und welcher Teil sollte verwendet werden, was ist ein gültiges OK, also an diesem Punkt an dieser Spule ist eine s-bar Route die Pakete. Also, was ist noch getan? Das Routing ist erledigt. Wenn Sie dem Paket ihre Erkennung geben, wird das Audit geeignet sein, und die Fragmentierung erfolgt und das erneute Zusammensetzen oder Paket explizit. Wir werden alle diese Dinge diskutieren sind Fido. Also jetzt sinkt mit dem Beispiel hier, wenn wir hier sehen, so die Lieferperson, die das Essen an den Kunden liefern wird. Es verwendet GPS, Google Karte zurück auf diese Weise. Verantwortlich, um die kürzesten Wege sichtbar gekauft zu bringen. Also, wer bessere Karte für Weißen sind sehr kurz, kürzeste Stelle. Und so synchronisiert es sich mit der realen Welt, diesem Netzwerk, echten Leo, BEC, und singen mit dieser Handarbeit. Jetzt sind die drei Schritte, von denen ich gesehen habe,
was alle diese sind Rundung Fragmentierung Wiederaufbau. So beschreibt es hier so logische Adressierung Beiträge. Also ja, das sind die virtuellen Adressen. So dass es eine virtuelle Adresse sein wird, die
entscheiden wird , wie das Paket gekauft Ziel dort sein würde. Ich weiß, dass ich fertig bin oder schickst du ein Paket? Dieses Paket wird durch das Netzwerk gehen. Also werden wir jetzt zwischen den Netzwerken sein. Dies sind also die Watchin-Adressen, also logische Adressierung, die
das Paket dazu bringt , durch das Netzwerk zu gelangen, um dieses Ziel zu erreichen. Also ja, IPV4 ungerade IPV6-Protokoll wird verwendet, so verwendet, um einfach seine anderen virtuellen Adressen,
die entscheiden, welches Ziel dort sein wird, so dass das Paket weitergeleitet
wird, würden Sie heute nicht lesen und wir werden dieses Protokoll verwenden. Und so kann ich den zweiten Schritt in
dieser Viterbi Datenverkapselung verarbeiten oder unsere verbale Kapselung diese Daten mit ihren,
mit der Quelle und Destinationen. Es wird also Adressen mit
dieser Datenquelle und Ziel verbunden sein, weil, wie ich Ihnen sagte, es wird verwendet, um zu routen. Es wird den Weg geben war zu ernennen, welche Teile gemeldet werden sollten. Und es wird auch sehen, dass es eine Quell- und Zieladresse auch haben wird, so dass die Daten durch seine endgültigen Gedanken, Quelle und Ziel erreicht werden. Es wird mit ihr versinken. Und dann nach der Segmentierung ähnelt so hier, endokrines Stadium der Entität. Es wird zuerst isolierte Datenflecken sein, dann wird es zusammengebaut, und dann müssen wir es zusammenbauen. So empathisieren Sie sehr viel Kerbe. So kann es passieren, dass die eintägige Bindung all diese Daten angenehm an nicht zusammenhängenden Orten im Speicher. Also was, was haben wir getan? Es wird fragmentiert sein. Es sammelt all diese Daten von der Standortelektrode eines Computers. Und es wird beträchtliche Jiang sah sammeln, welche Größe es Grund für sein sollte. Abhängig davon sammelt es die Daten, die in verschiedenen,
unterschiedlichen Speicherorten vorhanden sind, und dann werden die Daten übertragen. Hier geht es also um Fragmentierung. Und das Protokoll, das hier verwendet wird, ist aber, das sind jetzt Informationsprotokoll, weil noch Pumpen im Schnee in dieser Netzwerkschicht gemacht wird, sowie Open Shortest Path First, weil es vorschlägt, dass der kürzeste Weg, Dieses Protokoll wird hier verwendet. Jetzt werde ich ihr SDK herunterladen und einschließen. So ist das, was diese Daten in England, wie wir gesehen haben, es ist auch Kropf über das Netzwerk. Es wird verwendet, um die Netzwerkkarte zu steuern. Es wird verwendet, um die Mordor Stimmungsverbindung zu verwalten. Ist das von der oberen Schicht und das ist die Transportschicht. Das ist eine der negativen lokal oder um das gleiche Netzwerk zu verwenden, dann wird es verwalten Sie es in der vorherigen Vorlesung gesehen haben. Was diese Datenverknüpfungsschicht
macht, stellt sicher, dass die Daten ohne Editor übertragen werden. Es wird diesen Teil tun. Und wir haben auch gesehen,, die italienischen klaren Antworten sprechen mit jemandem, der hat wir
Fortschritte sprechen logisch Kontrolle und auch Medien Zugangskontrolle gesehen haben . Wir haben Einssein und diese logische Kontrolle gesehen, die wir in früheren Vorlesungen gesehen haben, die für Multiplexing und Adressierung und Medien
verwendet wird, die als für Hydro verwendet gekennzeichnet ist. Es gibt Ratschläge und Anweisungen. Also diese beiden Schichten, was David tun, Sebelius, die sie auch den Erfolg für die Übertragung der Daten zur Verfügung stellen. Also sind all diese Dinge damit verbunden. Also hatte er es gewesen, haben Sie diese li und wir werden die Mac physikalische Adresse haben, die die Zieladresse definieren wird, wo die Pakete drei. Also, was bedeutet das endokrine System, die MAC-Adresse. Wir haben gesehen, dass dieser Magnet eine physische Aktion ist, physische Adresse, die der Person helfen wird, die zum Ziel zu erreichen. Das ist also sehr wichtig. Und so UDP-Segmentbeispiel ist ihr Ziel, physische Adresse oder der Kunde Lieferperson. Ich zu wissen, um Essen schätzen zu helfen. So sagte es, physische Ziel zu suchen, physische Adresse des Kunden. Das hier verwendete Protokoll ist also Ethernet und Punkt-zu-Punkt-Protokoll. Sie sind jetzt auf die allerletzte Schicht gehen, Das ist
die physische Schicht von 70 haben Netzwerkkarte oder die U-Bahn-Kabel gesehen. All dies kommt unter diese physikalische Schicht, weil es mit dem Hardware-Netzwerk Teil davon verbunden ist. Das sind also die Komponenten. Also übergewichtig, der Kunde, der Komödie füttert, Komödie würde die Bestellung aufgeben. Und er sagte: Wir werden erwägen, eine andere physisch auf die Lesung des Kunden, von denen einer. Das kommt also auf metaphysisch zustimmen durch diesen Kurs. Ich war niedrig, wenn Sie Ihre Bewertungen und Bewertungen teilen, da es mir eine Menge bedeutet. Und wenn mich beeinflusst, so mehr On-Demand-Videos nach Ihrer Anforderung zu veröffentlichen. Ich bin fertig für diesen Vortrag. Vielen Dank, vielen Dank. In der nächsten Vorlesung werden wir Fenster Rakete Methoden und
genug Socket-Methode sehen , um die Kommunikation der Steckdose zu bringen. Danke, Freunde.
7. Socket Session4 ServerClientMethodsWindows Teil 1: Hallo, willkommen zu dieser neuen Sitzung, das heißt Socket-Server-Client-Methoden, um beides zu sein. Also in dieser Sitzung, gegeben BC, die folgenden Themen, die er schuldet, andere Themen, die ich erwähnt hatte, werden
wir in
die Umwelt Setup in diesem Januar für beide über M Client-Sockel suchen . Dies ist also das gleiche Goleman Gebäude Waterman Center sowohl für Server als auch für Client-Socket
erforderlich ist. Dann werden wir das adoptive Thema sehen, das ist, der Median würde diskutieren Garmin Bemühungen sind die APIs, die die Januar Kohorte Server und Client. Es gibt also drei Methoden, die APIs nur für Hardware als auch für den Client für das Windows-Betriebssystem
verzögert werden sollen . So werden wir sehen, ist drei Methoden. Sie werden sehen, was der Zweck
dieser drei Methoden ist und wie sie verwendet werden, wird im Akkord sinken. Daher ist diese Sitzung vor dem Socket-Programmierprozess sehr erforderlich, aber geneigt für Windows, Windows-Betriebssystem auf IDE. Also, bevor wir den Code ausführen, bevor wir den Code ausführen, werden
wir die Mapper verstehen, die Funktionen, die vorhanden sind, und skizziert Socket, so dass Sie
ein besseres Gefühl dessen, was wir tun, und es wird Sie auf einfache Weise verstehen. Dies sind also die Methoden, die anschaulich diskutiert werden. Dies sind die allgemeinen Methoden, die sowohl für Server als auch für Client erforderlich sind. Für Stephen, schauen Sie sich diese drei Methoden an, dann werden wir als nächstes sehen. Entscheidbare Socket-Methoden sind APIs, die nur für den Server spezifisch sind. Also Setter-Methoden, die spezifisch für den Server sein werden, der mit dem Code sinkt. Und dann werden wir die Client-Socket-Methoden sehen, die spezifisch sein können, um abzulehnen. Wieder denken mit dem Ziel. Das ist also, was wir darin studieren werden. So ist es sehr viel muss, um die Programmierung für Siedlung und Licht zu starten. Sie sollten also wissen, was alle Funktionen verwendet werden, was ist der Zweck dieser Funktionen? So wird es Sie auf eine Weise verstehen lassen. Also fangen wir an. Hier für uns werden Sie diskutieren, die Araber entdeckt es im Thema Wort natürlich,
Thema, das wir in Berlin Waterman Setup diskutieren. Bevor Sie also den Code schreiben und die Programmierung des Solver-Fensters Socket ausführen, sind dies die kleinen Schritte. Also, bevor Sie den Code für Ihre Steckdose schreiben, sagte Look Line, dies ist die generische Methode, Ordnungsaufbau für Holz sieben Flug erforderlich. Also zuerst, da wir
das Programm schreiben und auf IDE ausführen werden , dieser Discord Block. Bisher müssen wir ein Projekt erstellen, aber einen Akkordblock. Also in diesem Fall auf dem Windows-Betriebssystem, müssen
wir den Sektor auf diese Weise zu tun. müssen wir hinzufügen. Wir müssen auf sie in guter Socket-Bibliothek verlinken, so dass wir die Funktionen oder Methoden
verwenden können , die in dieser Mendoza-Konfliktbibliothek vorhanden sind. Da diese, werden diese verwendet, wenn Sockel 32-Bibliotheksfunktionen. Also, bevor ich beginne, das Programm zu schreiben, das die Methoden aufruft, ebenso wie die Funktionen, die definiert sind. In der Bibliothek,
die als w genannt wird, dass wir diese Bibliothek ziehen,
wenn Sie diese Bibliothek nicht verknüpfen, sobald Sie den Code kompilieren, wird
es kompiliert, weil es dadurch dorthin gelangen wird. Aber, und Sie führen den Code aus, weil Sie wissen, dass
es während der Ausführung des Codes darauf verlinkt wird. Mir ist wirklich gut. In diesem Fall wird
es endlich die Bibliothek sein. Und da Sie nicht mit der Bibliothek im modernen Sektor verknüpft haben, werden
Sie Briefe verknüpfen. Also mach dir keine Sorgen darüber. Wir werden auch sehen, wie es nur in der nächsten Sitzung sein wird, wenn wir beginnen, denke
ich, das Programm, also ist dies für Ihr Verständnis Zweck. Ich habe auch in der Präsentation selbst erwähnt, dass das, was alle Dinge
Schritt für Schritt getan werden , damit Sie dort leben und ein Video wiederverwenden können. Und wir können diese Präsentation hier selbst verweisen. Zunächst einmal müssen
wir ein leeres Projekt erstellen und nicht Holzschnitt. Dann, da es das Programm für das C Plus Plus schreiben wird, werden wir dem Projekt einen MPC plus die Quelldatei hinzufügen. Also werde ich euch auch in
der nächsten Sitzung zeigen und wir schreiben das Programm in den Porenblock selbst. Wie man nur das macht, sind die Schritte, die mich nicht gemacht werden, keine unten aus ihm. Und wir müssen sicherstellen, gebaut in Wasser und dann Links zu ihnen und Sockel Library, das ist Ws besonders kurzlebig zu unterstreichen. Das sind also die Schritte zum Verknüpfen, die auch ich hier erwähnt habe. Also müssen wir zum Projekt gehen, wir müssen auf die mittlere Option gehen und dann auf den Link Prozenteinstellungen
klicken, so dass unsere Linker Link geht, denke
ich, so dass Sie jede Bibliothek
damit verknüpfen können und die folgenden und die Linker-Optionen. Also all dies sind die Schritte, um Susans mich hinzuzufügen oder wirklich das
Schreiben des Programms für den Socket für das Windows-Betriebssystem für die Zelle Hook-Linie zu verwenden . Da wir die Methoden sowie Pilze verwenden werden, sind die Funktionen
, die in dieser Bibliotheksdatei definiert sind, das heißt, diese, Ws bis 32 Punkt. Diese Bibliothek enthält alle Funktionen der Windows-Objektmethode definiert. Deshalb müssen wir uns auf diese Weise verbinden. Sie werden verknüpfen, könnte diese beiden Zeilen geben, die
minus W im Besonderen und diese ist . Das ist also sehr wichtig, wird auch in der nächsten Sitzung sehen, wie man erreichen kann,
wie man diese Schritt-für-Schritt-Verluste durchführt, um diese Bibliotheken zu verknüpfen. Da diese Bibliothek selbst alle Methoden oder Funktionen enthält , die für die Ausführung dieser Socket-Programmierung verwendet werden. Das ist also Debatte von Nordmännern nicht eingerichtet, die für das Schreiben von Client-Programm auf dem Windows-Betriebssystem
erforderlich ist . Dann habe ich sehr
wichtig erwähnt , wenn Sie keine Bibliotheken verwenden und das wirklich vermeiden können. Sie müssen diese Milliarde mehr als einen Satz von Buchstaben machen, um diese Bibliotheksdatei zu töten. Dann können Sie die Programmierung für
die Mini-Socket-Anwendung für Windows-Betriebssystem mit dieser Erwähnung Header-Datei beginnen . Also müssen Sie sie in Socket DO2 Header-Datei erwähnen, die Ihnen auch in der nächsten Sitzung
erklären, was alle Unternehmen Arctic Draht Sie verwalten müssen. Sie müssten tatsächlich einschließen, damit Sie goldene Funktionen kennen können. Und wenn diese Steckdose. Also diese, so über, über die Identität aufzulösen Waterman-Dichte für Windows für Socket-Server-Programmierung. Lassen Sie sich nun ein anderes Thema dieser Sitzung sehen. Also hier werden wir die gemeinsamen Methoden diskutieren, die sowohl für die Socket-Abwicklung als auch für den Client nach diesen
verwendet werden können . Dies ist also spezifisch für einen bestimmten Teil des Windows-Betriebssystems. Diese spezielle Funktion wird verwendet, die sowohl für Server als auch für Client üblich ist, also Ws tech Startup. Und es hat zwei Argumente. So können Sie dieses erzwungene Argument sehen, wie es in diesem Mann gegeben ist. Und die zweite, ich bin ein Mensch nicht auf diesem WSDL Führer Adresse. Foster boyd, Was ist der Zweck dieser WSS-Startfunktion? Und es ist erforderlich, wir müssen, Sie müssen diese Funktion in Bork verwenden sagte,
Venedig Client, soll durch das kochen, was der Zweck dieses EIGENE ein Start-up ist. Es wird verwendet, um die Bibliothek zu initialisieren. Also, da wir gesehen haben, dass die mentale KC-Bibliothek, die in Berlin Waterman schleicht Setup. Um die Bibliothek zu initialisieren, wird
diese Funktion verwendet. Also, was diese Funktion tun wird, Westen ernannt Beiträge,
Argumentregister, präsentieren sensibel, und initialisieren sie in der soc-Bibliothek. Also die Kosten des Programms werden uns wirklich helfen, alle Lindbergh schrieb eine zu verwenden, die dieser Hybrid-sogar Sockel war, der von diesem Post-Argumente erwähnt werden kann. Also das macht Arbeit und dieses Band ist, wie Sie sehen können, Denon Datensatz zwei Komma 0 gibt an, dass das Programm eine Version verwenden wollte 2. Obwohl Bibliothek gibt es wir gesehen haben,
also, wenn wir verschiedene Version tatsächlich gegeben haben,
so dass dies geht, um ihre Hingabe tatsächlich budgetiertes Programm zu definieren, das Sie nur mögen so habe ich hier selbst die FED ME DO erwähnt, die von Vin Socket war, das Programm eins. Hoppla. Also hier die wichtigsten, was bedeutet Komma 0? Es wollte den Waschraum 2.0 verwenden. Soda-Programm, wenn eine Version 2.0 zu verwenden. oder das bedeutet Socket-Bibliothek, die diese Funktion anwenden soll,
wird verwendet, um die Bibliothek zu initialisieren, die Socket-Bibliothek gemeint hat. Und das Post-Argument wird sagen, dass das Programm verwenden will, was einer von ihnen und Socket war. Und was sagt dieses zweite Argument über das erzwungene Argument, das ist, dass es die Adresse der WSB-Daten ist. Was bedeutet diese WSB Datenstrukturen? So 1D Struktur, wie ich hier erwähnt hatte. Angenommen, Sie setzen eine zweite bessere Wiese ist die Ernennung von WSSE-Datenstruktur wissen. Also diese Struktur, in der die Haftung sogar sagen, das Programm basiert auf negieren das Programm über die kritischen Informationen, die die Bibliothek, sogar Socket-Bibliothek. Aber da. Programmieren Sie, wie viele Sockets erstellt werden müssen. Das ist also eine kritische Information, die die Bibliothek das Programm
durchläuft und sieht, was sind, wie viele Sockets, Anzahl der Sockets Sie erstellen können. So wird diese Struktur tatsächlich vorher gefüllt werden. Die Struktur wird also beendet, bevor sie von dieser Funktion zurückkehrt. Ich hoffe, Sie haben den Zweck verstanden. Es wird verwendet, um sie in SOC-Bibliotheken zu initialisieren. Also ja, wir müssen die Abtreibung erwähnen, die Sie wollen, während sie Socket-Bibliothek waren. Und dies wird zur Verfügung stellen, dies wird die Informationen,
kritische Informationen aus der Bibliothek kommunizieren , wenn Socket-Bibliothek an das Programm, zu
sehen, wie viel Anzahl von Sockets benötigt werden. Dies ist also, was die Funktion erforderlich ist und dies wird in Need-to-know
Fenstern angegeben , was ein Windows-Betriebssystem für diese Funktion benötigt wird. Sie müssen diese Funktion für ein Board oder einen Server verwenden, sowie was auf das Linux-Betriebssystem wartet. Ich werde auch erwähnen, was andere Dinge für Windows
und Linux verwendet werden können , damit Sie die Programmierung auch mit Linux starten können. Also auch ein Regenguss Sie, da diese Sitzung Sie erklärt, was alle Funktionen vorhanden sind mehr und mehr Admin-Setup ist erforderlich, um Socket-Programmierung durchzuführen. Art von alkalischem Wasser Fenster arbeiten. Auch. Für das Linux-Betriebssystem. Fast scheinen Funktionen, die Sie verwenden können. Sie benötigen kein Debian-Linux-Betriebssystem, die erstellten Umgebungen, oder WIR müssen einfach nur
den Compiler GCC installieren und es könnte bereits in Ihrem Linux-Betriebssystem gespeichert sein. Sie müssen diese Bibliotheken nicht verknüpfen. Auch haben wir in Windows und dem System gesehen, dass wir alle diese Bibliotheken verknüpfen
müssen, Albia delink,
nur diese Bibliothek, die Louis Zoo ist, und eine endlose Viertel D2 entscheidbar Sockel-Bibliothek. Da müssen wir die Funktionen aus dieser Bibliothek aufrufen. Und so ist diese Funktion definiert. Sie sollten nicht bekommen, Arezzo muss diese Bibliothek verlinken, aber im Falle der Lenas Fistel Folie und dieser Bibliothek. Also im Falle von d, Industrie Wohnheim, Draht Dueling, diese Bibliothek, die keine Build-Umgebungen wie diese eingerichtet ist. Nichts ist erforderlich. Nur Sie müssen, Sie müssen sicherstellen, dass Sie GCC-Compiler installiert sind. Das ist nur für die Fenster getan. Wir haben diesen zusätzlichen Sektor ausgeschlossen. Wir müssen diese Bibliothek verknüpfen, um diese Funktionen
nutzen zu können, die in dieser Bibliothek vorhanden sind. Dies ist also, wo die Trends und Windows und Linux. Also auch wenn wir uns sagen, brauchen wir diese Funktion nicht, das heißt, dass diese Funktion nicht vorhanden ist. So fast alle Funktionen sind ähnlich wie Linux und Windows sind nur die Brennstoff-Methoden, die nicht in Linux
verwendet werden und es gibt Unterschiede in nur wenigen Methoden. So eine Dysfunktion, wie ich Ihnen sagte, ist nur spezifisch für Windows-Betriebssystem. Dies wird nicht für das Linux-Betriebssystem verwendet. Also eine Zeile nach dem anderen, werde
ich auch in uns differenzieren, so dass Sie
Ihr Programm mit Du Liniang Boden starten können , so dass es keinen großen Unterschied gibt, ungleichmäßig oder minimalen Unterschied gibt. Das wird also sehr viel einfach sein, wenn Sie in der
Lage sind , das Programm in diesem Windows-Betriebssystem zu tun, es ist sehr gleich, um das Linux zu gewinnen, weil das Wunder geht, das
sind die Schritte und Board Earliness. Es ist einfacher als das. So können Sie verstehen, Sie werden von unschätzbarem Wert für wen die Programmierung sein. So werden wir auch in der nächsten Sitzung sehen. Lassen Sie mich zunächst die nächste Sitzung sehen, welche Rollenmethoden statisch
verkabelt haben, auch das Linux-Betriebssystem einrichten , um die Socket-Programmierung nach Hause zu gehen. Also haben sie diese Sitzung wirklich haltbar gemacht. Was bedeutet Metalloide und Berlin Waterman synaptische Frau oder Windows-Betriebssystem. Und in der nächsten Sitzung werde ich diskutieren, welche Methoden und Viertelmillion Waterman-Setup erforderlich ist, welche Header-Datei ist für das Linux erforderlich? Und dann in der späteren Sitzung, betrachten Unterschiede zwischen der Socket-Programmierung für Windows und Linux Wasser haben Tiefe erforderlich ist. Was sind die Verknüpfung von Bibliotheken in Windows, die wir tun müssen und nicht wir müssen für Linux tun und wir sind nicht Header-Dateien sind erforderlich. Und welcher Unterschied besteht in den Methoden oder allen Punkten, die Sie Schritt für Schritt besprechen werden. Also mal sehen. Also ich hoffe, dass Sie verstanden
haben, verstanden diesen Fokus auf w Und jetzt auf die nächste TO Funktion, die sowohl Server als auch Client gemeinsam ist. Es ist Socket-Funktion. Also diese Socket-Funktion müssen Sie sowohl seitlich als auch Wildtiere erstellen. So haben wir in unserer früheren Sitzung auf gesehen, so dass war unser geneigter Vorstand. Navier benötigte tatsächlich einen Socket zu erstellen, und es muss traurig zwischen Server und dann dem Socket kommunizieren, den
wir sein werden, wir werden verwenden, Sie werden erstellen, sollte nicht
den gleichen Socket-Typ haben , wie sie sein sollten mit der gleichen Ambulanzdomäne. Das sind also grundlegende Dinge über den Socket und in früheren Sitzungen diskutiert. Also empfehle ich, dass, Ich empfehle Ihnen, diese Sitzung
zu durchlaufen, bevor Sie dazu kommen. So wird es Ihnen auch helfen zu verstehen, was ist, also was ist der Zweck dieser Steckdose? I Aktionäre Fußballindizes werden veröffentlicht, die verwendet wird, um eine Steckdose zu erstellen. Also, jetzt beim Erstellen des Sockets, haben wir Dimension. Was ist der Socket-Typ? Hier können Sie die zweiten drei Argumente sehen. Und das ist, wenn ich Ins und Song unterstrichen Creme unterstrichen und das ist eine Gruppe von Öl. Es ist IP-Protokoll und PCP. So feindlich, dass
wir jemals über das Erstellen von Socket den Socket erwähnen müssen. Dieser Archetyp kann also den Stream-Typ erfüllen oder es kann eine Panam-Seite sein. Also werde ich auch auf der Einfügung Basis-Sockel erwähnen, dass, obwohl, welche Arten von Sockets verfügbar sind und Warhol Domino-Seele hier Adresse, diese Socket-Typen unzuverlässigen Typ treffen können. Das ist das offensichtliche Team zahlen auf unrealistischen Picogrammen der Verwendung des Streams, der zuverlässig ist. So stärker binden dieses Gen Windeln Nachrichten, weil es sehr zuverlässig ist. Und was alles getan wurde. Und wie ich in der vorherigen Sitzung erwähnt habe, gehen Sie bitte dazu. Dies ist also das zweite Argument Thema. Und lassen Sie sehen eins nach dem anderen oder zwei oder drei Argumente sind. Also, OK, hier besteht diese Insassen aus drei Argumenten. Das erste Argument EF unterstrichen, Das ist das intelligente Wasser dies, so ist es eine Internet-Adressfamilie. Also hier verwenden wir die IP-Version vier. Es gibt also zwei Arten. Es gibt IP-Version vier und IP-Version sechs. Also, da wir IP-Version vier verwenden, müssen
wir diese Internet-Adresse Familien ir schreiben, Unterstrich RNA. Wenn er IP-Version sechs verwenden würde, sollten
Kindermädchen IAA und die Schule treffen und spezifisch für diese Logistik über blau, oder? Das sind also diese Metadaten über die Internetadressfamilien. Also musst du diesen Magneten selbst hineingeben. Und das zweite Argument, dass Socket streamen, dass, wie ich Sie erwähnt, dass es ein Streaming-Sockets ist. Also diese zuverlässige Steckdose. Dann müssen wir den Typ des Sockets erwähnen, ob es sich um einen großen Thementyp auf REP auflösen, Datagramm-Typ handelt, so aufrichtig und mit Dampf. Du musst also erwähnen, dass du und Todd Argument das hier ist. Es ist, es wird erwähnt, welches Protokoll verwendet wird und für diese Orcas Gim mich, haben Sie gesehen, es verwendet ein Kommunikationsprotokoll, RTCP. Wenn dieser Dipol, dieser Socket war da, Datagramm, und dies wird ein UDP sein. Aber da wir ihre Art von Socket verwenden, scheint so ist es Kommunikationsprotokoll TCP oder schräg IP. Also habe ich in der früheren Sitzung oder dem Sockel V6 erwähnt. Also bitte durchgehen, um zu verstehen, was illegal ist. Daher wird keine editierbare redundante Socket-Methode zurückgegeben. Descrip geht oder aktualisiert Verweis auf den Ersteller-Socket. Also, was diese spezielle Funktion admin geritten hat Mildred auf Deskriptor geritten, um neuen Socket anzunehmen, der erstellt wird. Also, indem Sie diesen Deskriptor hinzufügen, den Sie dorthin gelangen werden. Und Sie können Datendeskriptor verwenden und Sie können die ausführen verschiedene Funktionen. So sehen wir eins nach dem anderen. Nun ist eine weitere gängige Methode, die sowohl für Server als auch für Client
verwendet wird, der Hinweis-Socket. Also hier wird es vom Namen selbst verwendet. Sie können jeden anderen Satz einer Steckdose verstehen oder es kann abnehmen, da es sowohl für sieben als auch viele Lukoil Dysfunktion üblich ist. Also hier sind wir für diese Service-Idee aufrufen, das zu betrachten, war
ich beschäftigt. Das ist ein Deskriptor. Irgendwelche produzieren Fristen, Fußball, dann müssen Sie ihren Deskriptor der Steckdose geben. Also Jahr zwei dafür, es wird verwendet, um diese Rakete zu trennen, und das ist v. Für das Windows-Betriebssystem, wir haben Golden Globe Sockel zuerst, und dann müssen Sie w tun. Also, was bedeutet diese WSS-Bereinigung? Weil die Zuweisung der Ressourcen, die von der Socket-Bibliothek verwendet werden. Also dieser Boden sind die Details und wie verwenden Sie es auf diese Weise? Also diese sind älter, sind die üblichen Methoden, die nützlich sein werden. Sidebar als Client Wissen sehen bestimmte Methoden, die da sein können, während der Server. Und dann werden wir die spezifischen Methoden für die Linien sehen ,
die diejenigen belästigen, die ein System betreiben. So, jetzt werden unsere Freunde sein, jetzt werden die spezifischen Methoden, die wir sprechen
werden gemeinsam an Bord oder das Windows-Betriebssystem sein, sowie ob das Krankenschwester Betriebssystem auf diesen spezifischen Methoden scheinen. Obwohl das ist kein Unterschied in den Funktionen für Windows-Betriebssystem als
Männer als ein Linux-Betriebssystem und Sie schreiben Socket-Programm für souveränen Anspruch. Dies sind die gebräuchlichen Methoden. Es kann verwendet werden, was sie adoptieren wird. Also nur der Unterschied, den ich Ihnen gesagt habe war in
dieser Funktion , die WAC gestartet Setup wird auf Ebola verwendet und geht Betriebssystem. Sie müssen eine benötigen, es ist üblich für Server und Client Windows-Betriebssystem, Socket-Programmierung. Und noch eine Sache. Und ich gehe Steckdose offen legen. Das ist also auch ein Unterschied und Windows-Betriebssystem und solide. Im Falle von Nino, so und so werden Sie Glucagon, dass Verlust gehen. Sie werden auch den Socket trennen, aber nicht Aufruf dieser Funktion wird auf IQ-Verlustfunktionen erfüllt werden sollen und erwähnen, dass in der nächsten Sitzung, welche Methoden verwendet werden? Also nur, dass Louis XVI verwendet, müssen
Sie nicht
alle verschiedenen Möglichkeiten aufräumen, um das zu schließen, um den Sockel zu trennen. Dies ist also nur der Unterschied zwischen
dem Windows-Betriebssystem und getan Linux-Betriebssystem oder Sockel, die Linien aussehen. Also alle ruhenden Stapel jetzt werden wir hier diskutieren, das wird Coleman sein, Haben Sie das Windows-Betriebssystem, Linux-Betriebssystem.
8. Socket Session5 ServerClientMethodsLinux: Hallo, willkommen zu dieser neuen Sitzung
, also Sockets Advertit
Client-Methoden. Minuten vor der Sitzung hatte
er die Vorlesung über
Socket-Server-Clientmethoden für Windows gesehen . Ich hoffe, du hast es
durchgemacht. Es wird also gut genug sein,
wenn Sie
diese Sitzung durchlaufen haben , da hier
fast dieselben Konzepte
erklärt werden. Aber ich habe ein Differenziertes
für das Linux. Welche spezifischen Dinge
ich für das Linux verwendet habe, was alles vollständige Setup
erforderlich ist , werden Sie in dieser Sitzung
besprechen. Es ist nicht mehr als das. Es ist kein großer Unterschied. Auf dem Linux- und
Windows-Socket-Server die alle nur wenige
Methodenverteidigungen ruhen, sind sie die gleichen wie
auf die Rückseite der Fenster zurückkommen. Also hoffe ich, dass du die frühere Sitzung
durchgemacht hast. Um diese Sitzung schneller
zu verstehen , werde ich es behandeln. Kleine Kollikuli, weil
fast die üblichen Dinge die hier vorhanden sind, Linux und Windows mu wöchentlich
bewegen werden und die
restlichen Dinge, die für die Ordnung
spezifisch sind, werde
ich ihm geben darauf. Das wird
also bisher laufen, dass Sie
leichter sinken, anstatt die Sitzung wiederholt zu durchlaufen
. Sehen wir uns hier an, was haben die Sockets
Online-Methoden für das Linux? Was alles ist, sind
sie nicht erforderlich. Mal sehen, Schritt für Schritt. Keine Sorge, du wirst alles
verstehen. Wir werden Schritt für Schritt voranschreiten. Die Themen, die ich hier behandeln werde,
werden gängigen Methoden besprechen, sind
die APIs,
die ich nicht sowohl auf dem Boardserver
als auch auf Clients
aufgenommen habe. Dies sind also die beiden Methoden. Hier im ersten Thema werden
wir also sehen, was alle gängigen
Funktionsmethoden vorhanden sind, welche für die
Sidebar dann Client, und das für Linux verwendet wird. Dies sind also die Methoden
, die üblich sind. Das heißt, es gibt zwei Methoden. Socket-Methode ist tot und die andere Methode
ist die Close-Methode. Im Falle von Windows haben
wir gesehen, dass
in diesem Fall eine zusätzliche Methode vorhanden
war, die WSS-Start ist.
Ich habe Ihnen gesagt, dass sie verwendet wird,
um sie in der
Socket-Bibliothek zu initialisieren , und wir müssen eine
Verknüpfung mit dieser Bibliothek herstellen. Im Falle von Linux ist
diese Methode jedoch überhaupt nicht vorhanden. Das war eine zusätzliche Sache
in Bezug auf die Fenster. Aber in As Hässlichkeit gibt es
das nicht. Also müssten wir auch
jede Bibliothek verknüpfen, also Socket. Wir müssen eine beliebige Bibliothek
im Falle des Lineares verknüpfen, es ist nur notwendig, dass Sie es installieren müssen. Gcc-Compiler ist installiert und wir können
mit der Programmierung beginnen. Dies sind die Methoden, die für
Server und Client üblich
sind. Das heißt,
beide werden
jetzt benutzt , mal sehen, was es ist. Jetzt werden auch die anderen Themen , die diskutiert
werden, die Seite sein
, auf der bestimmte Methoden und wir
mit den Gerichten sinken werden. Und wir sehen alle Methoden, ob nebeneinander, die spezifisch für den Server selbst sind. Und wir werden alle
Methoden für den Kunden sehen , die für den Kunden selbst
spezifisch sind. Also auch diese zu allen Methoden, die
wir diskutieren, modellieren und spezifisch und
kundenspezifisch. Die gleichen Methoden
, die für
Windows verwendet werden , werden auch alle
diese Methoden verwendet, um diese zu verschieben. Fast alles ist also
gleich, nur die Unterschiede. In diesem Jahr verwendet die
WSS-Startfunktion weder Linux
als auch die SOC-Close-Methode
, die hier zu sehen ist . Die Syntax operiert ist anders. Alles ähnelt sowohl
dem der Fenster
als auch für die Wäsche. Diese für
den Server spezifische Funktion wird also auch
für Windows und Linux gleich sein, und Fristen spezifische
Methoden werden gleich sein. Lassen Sie uns also die
Dinge sehen,
die dann dieselben gängigen
Methoden diskutieren , die für den Server verwendet werden,
als auch behaupten, dies ist sehr erforderlich. Der wichtige Knoten, dem ich Ihnen
gesagt habe , dass in Lena's
keine WSS-Star-Punktfunktion verwendet wird, die Window
hat diese Funktion. Sie haben gesehen, dass
die gängigen Methoden die wir
in einer früheren Sitzung besprochen haben, gesehen haben, dass es
drei Methoden gibt. Man kennt den WSS-Start
, der verwendet wurde um die Bibliothek zu initialisieren, also die Wind-Socket-Bibliothek,
und Sie müssen sie verknüpfen. Hier in diesem Linux ist
diese Funktion überhaupt
nicht vorhanden, also müssen Sie sich auch
keine Sorgen um die Verknüpfung machen, dafür ist
keine Einrichtung
erforderlich. Also dass nur ihre Jungfrau
, die es herunterlädt. Dann kommen Sie zu den
genomischen Methoden , die sowohl für Server als
auch für Client im Falle von Linux verwendet werden . Also wird Socket verwendet. Das ist also genauso wie für Windows, Sie müssen den Socket erstellen. Man muss
Argumente darin übergeben. Dieses erste Argument ist
die Adressfamilie. Hier. Es kann für IPv4,
IPV6 sein, wenn wir
EF und die Schule I
darin geben , das bedeutet, dass es Spaß macht. Ich denke, er
hätte sechs erwähnt, dann weiß es was IPV6, das ist das eingerückt
und seine Familie gibt so wie es ist, wie
ich es hier gegeben habe. Zweites Argument, Sie müssen den Typ des Sockets
übergeben. hatte ich in
diesem Thema Basics Vortrag vor
dieser Sitzung besprochen Thema Basics Vortrag vor und gesagt , dass es zwar
zwei Arten von Kanälen gibt,
Socket-Typen, nämlich Stream-Socket- und Datagramm-Sockets
und Stream
ist ein zuverlässiges Manifest. Ich bin Datagramm ist nicht
zuverlässig und er hatte gesehen, was alle
Funktionen
für den zuverlässigen vorhanden sind und was unzuverlässig ist, wir verwenden meistens
ihren Level-Socket meiste Zeit, weil es bietet
Fehlerkorrektur alles. Also all die Dinge
, die du zur
ersten Sitzung gehen kannst ,
also könnten es sechs sein. Und das dritte, was
Sie
das Kommunikationsprotokoll erwähnen müssen. Also hier seit diesem Gen, also werde ich verwirren, dass dieses
Kommunikationsprotokoll TCP ist, erwähnen
wir hier PCP, wenn es sich um Datagramm handelt
und es ein anderes
Kommunikationsprotokoll verwendet, ist
es neu dass
ich auch in der Zwiebelsitzung über den soeben erwähnten
keinen Schaden besprochen habe. Dann gibt es drei Funktionen die gleiche Weise, wie ich für die Windows
auch gleich
erwähnt habe oder
ignoriere es geht, dann diese spezielle
Socket-Methode einen
Deskriptor-Pseudo-Socket
zurück. Wo auch immer Sie
den Socket für den Kurs erstellen oder wo unsere Produktlinie liegt, wird ein Deskriptor für
diese dunkle Linie
an den Socket zurückgegeben ,
je nachdem, wo Sie ihn verwenden. Dann ist das Nächste
, dass Load-Funktion funktioniert. Auch hier verwenden wir diese
Close-Funktion im Falle
von Windows geschlossenem Socket. Es gibt also eine andere
Repräsentation. Sie trennen den
Socket im Vergleich zur Führungslinie. Also ist Nina ich, ich benutze Includes und wir pflegen
ihren Deskriptor. Wenn es Sidebars Fußball ist, reagieren Sie darauf, ihn zu verlieren,
dann müssen Sie erwähnen, dass es von Service
gescriptet ist. Okay? Ja, ich habe erwähnt, dass Sie
die Socket-Produktlinie einschließen die Socket-Produktlinie als Sie es für den
Deskriptor des Rückgangs sind. Dann sehen Sie als
Nächstes diese
hardwarespezifischen Methoden. Dies ist üblich für
Linux und für Windows. Also all diese Dinge, die
sich wiederholen, wenn Sie vor dieser Sitzung diese Sitzung durchlaufen
haben , das
heißt Socket sagt,
Nun, Client-Quad-Fenster,
wenn Sie gegangen sind, dann werden Sie dies finden
Sache fast das Gleiche. Dies wird spezifisch für
die Seitenleiste sein. Wir haben also bereits gesehen, dass die Seitenleiste sowohl an eine
bestimmte IP-Adresse
als auch an die Portnummer gebunden
werden muss als auch an die Portnummer ,
wenn eine Kommunikation stattfinden
muss. Zuallererst
müssen wir zeigen, dass der Server Post
läuft , damit er existieren kann. Es ist in der Lage, alle
Verbindungen vom Client zu empfangen ,
wenn es sich um einen
Ignite this Client handelt, wie es die
Identität des Servers versteht. Das ist der Grund, warum
die Salvo an eine bestimmte
IP-Adresse und Portnummer
gebunden sein sollte . Unter dem Namen selbst können Sie verstehen, dass meins bedeutet, dass
es an
etwas
bindendes ist, ob es an die bestimmte
IP-Adresse und Portnummer gebunden ist. Also dieses Ganze, was ich dir gesagt
habe, ist geschrieben, so ruft man
die Bind-Funktion auf. Sie schreiben das
Impulsargument als Deskriptor. Dann
ist der zweite ein Zeiger auf die Struktur und dann die
Größe der Struktur. Dieser Deskriptor ist also
ein Deskriptiv, den
Sie beim Aufrufen der Socket-Methode zum Socket
der Sidebar zurückgeben , so dass
Sie hier Dimension haben da via a mich raussendet
indem wir ihren Deskriptor dieses Sockels verwenden, müssen wir nur Sedimente
binden, okay,
wir müssen minen. Und in der zweiten geben wir
die Struktur des Sockels an. Daher ist eine weitere Struktur erforderlich. Es ist erforderlich, damit Sie die Details der Adresse
eingeben können , an
der sich
dieser Ratschlag
kaufen sollte, mit
einer Nummer und anderen Dingen
wie Adressfamilie enden . Ich erkläre Ihnen auch diese Adresse, die
wir ausfüllen, wenn
wir auf dem Server
einen EDD bei unterstrichen angegeben und eine neue Sitzung
installiert haben. Ich erkläre dir, dass es sehr
wichtig ist, dass es wichtig ist. Die Codenummer
sollte größer als 10 bis vier sein, da sie bei 0 bis vier
verwendet wird. Es sollte also
größer als 0 für jeden von ihnen sein, der in einer
bestimmten Zahl verwendet wird. Es wird durch drei Fünftel erklärt. Wir werden einfach
durchgehen und sehen, was die Einschränkung
davon ist 65535. Und dann ist dies die Nummer
eins, was auch immer Sie erwähnt haben, die Portnummer auf dem
Server, die Sie meinen müssen dasselbe
Fenster
erwähnt. Outsource von Kunden. Dies ist eine Portnummer
, auf der der Server kauft. Tu es. Ich habe jetzt erklärt, wenn wir hier eine
Fehlerprüfung durchgeführt haben, können
Sie es später melden. Also habe ich dir
all diese Parameter erklärt. Das ist nur ein Nein, sagen Sie es nicht. Das Sehen der nächsten Funktion dadurch
entschieden, dass die Funktion
gehört wird. Dies ist sowohl
Windows als auch Linux üblich, diesen Server
spezifisch sind. Sockel Sockel Sobald es an die IP-Adresse
und die Portnummer
gebunden
ist, sollte es für die Lektion IP-Adresse
und die Portnummer
gebunden
ist, darauf hören. Um Dan zu hören, neue
Verbindung vom Client. Auch eine Sache, die ich gerade hier
hinzugefügt habe weil es eine Art
von Fehler ist, war tot. Auch das Gleiche gehört eigentlich
nur Funktion. Ich habe das im
Falle von Windows
auch verpasst , was die
Server-Socket-Methoden. Also hier werden die zusätzlichen
Parameter, die biegsam sind, Allison Punch
genannt. Aber in der Programmierung
habe ich auf die gleiche
Weise geschrieben, wie wir es gemacht haben, was ich Ihnen erklären werde,
was es ausführen wird. Ich habe auf diese Weise hingerichtet. Es hieß, die beiden sind
Menschen, die benötigt werden. Als ich in dieser
Präsentation nur erwähnt habe, habe ich es verpasst. Wir sprechen über die
Unterrichtsfunktion wenn zusätzlicher Schrittzähler
, den ich
als Rückgrat bearbeitet habe. Dieser Rückstand ist hier
das zweite Argument. Was es ist, warum es am meisten
erforderlich ist, u und v den
Sidewalk-Socket-Deskriptor zu erwähnen. Im zweiten Backlog
heißt es wie viel Verbindungsanfrage des Clients in der Warteschlange stehen
sollte. Zum Beispiel, wenn du hier gibst. Das bedeutet also, dass
Sie sagen, dass Post-Talk auf diesem Sockel in
der Lage ist ,
sowohl Vorstand als auch Maßnahmen des wirtschaftlichen Niedergangs zu erhalten . Aber das wird in der Warteschlange stehen denn da der Bazin
One gerade ist, wenn mehrere Zeilen vorhanden sind, werden Magnet und Aktionen in der Biegeverbindungsanforderung angezeigt. Diejenigen werden also
tatsächlich auf einen
Unterdrückten warten , der Läufe abschließt. Die
vorliegende Mine ist fertig, dann
wird der
Nebenwert die der Verbindungen nacheinander hören . Einer wird verarbeitet, aber andere wird auf der Intensivstation sein. Wie viele
Verbindungen des Clients
Sie in Q behalten möchten, können
Sie in diesem zweiten Argument erwähnen. Das sind also alle Quellen
scheinen im Falle
des Windows-Betriebssystems. Also habe ich
die Unterrichtsfunktion erklärt, aber ich habe es verpasst,
das zweite Argument zu geben
, und das betrachte einfach
dasselbe wie in Texas, genauso da ich ihn gerade
für Windows und Linux sehe. Also
wird das zweite Argument Rest hinzugefügt,
alles wird gespeichert. Das hab ich gerade verpasst. Auf diese Weise werden Sie andere neue
Verbindungsanfragen
hören,
auf deren
Verbindungsanfragen von Deadline-Depo-Dysfunktion. Dann rufen Sie
die Exit-Funktion auf. Und das ist, ich habe
die Exit-Funktion geschrieben in der Sie den
Deskriptor hier auf dem Server geben werden. Und dann erwähnen Sie den
Zeiger auf die Struktur. Und dann ein Jahr bei verschiedenen
Dingen, die da sind, das ist Kunde eine DDL,
die Sie bekommen werden. Also hier,
im Falle der Exit-Funktion, dieser Struktur, die Sie uns allen geben
werden , was diese Exit-Funktion
zurückgeben wird, wird unseren Deskriptor
des neuen Sockets zurückgeben. Also alles was Sie zum
Socket-Deskriptor
Post-Socket-Deskriptor haben Sie gleiten Menü,
das socket-Funktion genannt wird. Hier. Wenn Sie der
Socket-Funktion folgen, haben
Sie einen Deskriptor gekauft.
Da ist es also. Es wird verwendet, um neue Verbindungen
zu erhalten. Für den
Verbindungszweck wird es verwendet, das ist dieser
Sortierdeskriptor, den Sie
tatsächlich erhalten , wenn Sie
die Exit-Funktion
und diese Adresse aufrufen . Das ist Doug-Deskriptor-Pulver. Es wird als
glenoid-Socket bezeichnet, da Sie
einen Deskriptor für den neuen
Socket-Deskriptor oder den Abfall erhalten . Hier mit diesem Skript können
Sie also mit
dieser Zeile kommunizieren die Daten zum Ablehnen
senden oder können
Sie
die Daten von neun erhalten. Deko-Fotografen
könnten also Bazaar
verwenden lassen , da sie nichts
blockieren
, sobald dieser Socket-Deskriptor
zum Verbinden der
Clientanfragen verwendet werden
kann und ISACA-Deskriptive ansprechend werden beim Senden und
Empfangen der Daten. Es gibt also zwei Deskriptoren. Und so destruktiv erklärt Ihnen
das Urteil, was, wie Sie diese Struktur füllen diese Struktur tun müssen. Sie müssen die Details
der Struktur selbst erwähnen. Das nächste, was zwischen dem
Sehen ist, dass eine C-Funktion ist. Also auch eine Sache, während Sie
den Server-Socket die Empfangsfunktion
aufrufen können. Sie können dieselbe Funktion aufrufen. Also alles, was Sie
je nach Anforderung anrufen können. Ich
schaue mir diesen Index gut an. Dies wird jedoch nicht verwendet, um die Nachricht vom
Client zu
erhalten , um zu sehen, ob es sich um
den Adapter in dieser Leitung handelt. Und hier muss man eigentlich
auch socket erwähnen. Da wir also den Socket nicht
erstellen können, haben
wir diesen
Deskriptor, wenn wir ihn aufrufen, Exponate befinden sich am
Deskriptor selbst. müssen wir erhalten. Was auch immer wir vom
Kunden erhalten , wird
hier abgeholt, bevor Sie dies ausdrucken
können, bevor
es branchenführender Charakter hat. Dies ist also der Fall der Satz von Funktionen, die für
den Server spezifisch
sind. Und das sind für sie sowohl
in diesen
als auch für das Linux gleich . Sehen wir uns nun die Client-Methoden , die eine bestimmte Frist sind. Also lehnen Sie es einfach auf gleiche Weise an, wie ich es
Ihnen in der früheren
Sitzung für Windows erklärt habe . Es wird verwendet, um
im Netzwerk zu kommunizieren. Es muss eine Verbindung
zum Server herstellen. Hier müssen wir
diese Adressstruktur erwähnen. Auch eine Sache, die ich in dieser Sitzung sehr
schnell mache, für die
Socket-Sidebar-Client-Methoden für das Linux, denn in der vorherigen
Sitzung waren Sockets Advertit-Client-Methoden
für Windows. Ich habe dir alles
für das Linux erklärt, das Gleiche ist einfach, es gibt einen Beauty-Prinzen, von
dem ich dich erwähnt habe und deine selbst
Ruhestörungen, denen ich spreche. Fast alles ist gleich. Es gibt also einen Grund, warum ich wirklich Passwörter mache .
Es wird empfohlen, dass Sie mit
Danio-Sitzung gekauft haben , um es besser zu
verstehen. Aber ich
übernehme alles. Ich vermisse nichts. Ich möchte also nicht, dass du
wiederholt gehst. Das ist ein Grund, warum Sie hier
vorbei spielen, um sich zu verbinden. **** Leitung
soll nur eine Verbindung herstellen. Das ist also die Sache, die wir
geneigt haben, ihre Schulden zu geben. Dies ist jedoch die Dimension, IP-Adresse des
lokalen Host-Rechners. In unserem Fall haben E und B die Socket-Kommunikation
innerhalb derselben Host-Maschine. Selbst wenn Sie können,
können Sie
Socket-Kommunikation innerhalb
desselben Host-Rechners oder
auf verschiedenen Computern haben . In diesem Fall schien derselbe Laptop, wenn Sie
eine Socket-Kommunikation haben, sobald ich gelesen habe, geneigt war, auf demselben Computer zu
laufen, wenn Sie
eine Socket-Kommunikation haben,
sobald ich gelesen habe, geneigt war, auf demselben Computer zu
laufen,
derselbe Laptop wie Stopp zu sein. Dann in diesem Fall sollte der IPS, es
sollte sich
der Client mit der Bergung verbinden , die
IP-Adresse auf dem Server, auf dem dieser Elfenbein um m2 angegeben wird, damit Sie
einfach die Idee
des lokale IP-Adresse
, da wir den Serverclient
auf demselben Host-Computer ausführen. Auf diese Weise muss man hier das
IBM Internet und seine Familie erwähnen. Und die Portnummer, die Sie mir erwähnen
müssen, war dass
wir Bindungen an
diese Portnummer hatten, also gebe ich dasselbe auch auf
der Clientseite an, da der Client
sich mit derselben Portnummer verbindet, dann rufen wir an die
Connect-Funktion in Pastas Deskriptor des Sockets , den wir durch das Erstellen erhalten haben. Dann ist dies nur strukturiert
zwischen dem Aufheben damit, ich wäre an diesem Ende, der Portnummer und der Größe der Struktur. Dies ist der, das ist ein alter
Donato über Tisch sind die, eine andere Funktion ist Sensor. Es ist der Client, das ist
die Verbindung, indem einfach die
Connect-Funktion auf diese Weise aufruft, es ist einfach dann kann er die Daten
senden und empfangen. Dies ist also eine Syntax war
und Sie können auch
ihre
Qualitäts-Seed-Funktion von hier aus erhalten . es senden, senden wir
eine Zeichenfolge, gleiche Sache und lernen die
Socket-Programmierung eingehend. Wir übergeben die
Socket-Deskriptordaten und
senden diese
Zeichenkette, die wir
mit der Buddha-Seite der Daten fehlgeschlagen haben . Und dann auch vom Client
, also von hier aus, werden
diese Daten in
der
Größe dieses Dings an den Server gesendet . Das
werden wir also
konform an mehrere Freunde senden . Ich bin fertig mit den besagten
Brookline-Methoden für Linux. Sie können also kurz zusammenfassen, dass
Sie verstanden haben, was
alle Prinzen, ihr Poster für einen
Dipol in Linux, es gibt keine Einrichtung oder Verknüpfung der
Windsocket-Bibliothek, da wir diese Funktionen nicht verwenden. Im Falle von Ninas gibt es
keine WSS-Startup-Funktion. Daher
ist dieses Ding keine Dysfunktion ist kein Präsident Fall von Linux. Dann ruhen Sie andere Dinge wie die Socket-Erstellung
ähnlich wie die der Fenster. Und das Schließen des Sockets müssen
wir auch im Fall von Windows trennen,
was bedeutet
die Indexprognostizierung wird im
Falle von Windows bestimmt, die wir Glue Socket
nennen, und
es gibt verschiedene, wir machen die Säuberung auch. Aber im Falle von Linux erinnern
Sie sich einfach daran, dass
Lewis Funktion , um den Socket zu trennen. Dann sind dies die
spezifischen Methoden , die für den Server verwendet werden. verbindlichen Methoden oder der Bürgersteig, den wir hören
werden akzeptieren
dann all die
Dinge,
die sowohl für das
Windows-Betriebssystem als
auch für die Linears üblich sind für das
Windows-Betriebssystem als
auch für die Linears üblich , für die Lynas, die
dasselbe und für die
Fenster auf der Szene geantwortet haben. Das sind die Dinge
, die es gibt. Im Falle der clientseitigen, auch die spezifischen
Methoden des Clients, die vorhanden sein werden
, werden auch für
Linux sowie für
jedes Fenster üblich sein. Sie müssen sich also vom Client
aus verbinden. Wir müssen ihre Funktion senden und
empfangen. Senden und empfangen Sie die Daten. Das ist es, was wir jetzt in dieser
Sitzung
durchgemacht haben . Ich werde Ihnen den Unterschied
zwischen Sockets
für
Linux und Windows
erklären . Damit ich es dir erkläre. Das sind alles viele Dinge,
also werden sie da sein, was
bis jetzt üblich sein wird, dass wir studiert haben , dass der siegreiche
Waterman unter Windows eingerichtet ist, nur erwähnt, dass er die Bibliothek
verknüpft und dann rücksichtslos Linux
, nur GCC zu installieren, schien
sicherzustellen, dass dies hervorruft. Dann erkläre ich Ihnen,
was alle Header-Dateien für Windows benötigt
werden, welche eigenen Header-Dateien werden für das Linux
benötigt? Welcher zusätzliche Code wird dann
für Windows benötigt und welche
gängigen Methoden gibt es? Was ich tippe überprüfe, wie du
einen Fehler in Windows melden wirst, wie du unter Linux meldest. Dead Vortrag. Wir werden gesehen, sobald Sie diese Sitzung
durchlaufen haben, dann
beginnen wir später mit der Programmierung. der Mitte, die wir
gesehen haben, wirst du es
lernen und
auch beim Keuchen. Eine wichtige Sache, die die
HTTP-Server-Clientkommunikation ist HTTP-Server-Clientkommunikation wird ausgeführt, wenn
Sie nicht
sehen, wie der Browser mit dem Apache-Server
spricht wie die Kommunikation
stattfindet wann immer Sie eine Website öffnen, wann immer Sie eine Peking Jenny
im Browser
öffnen
möchten Peking Jenny
im , sendet Browser eine Anfrage, wie sie mit dem Apache-Server verbunden
wird und wie die Daten gefüllt werden, wie die Seite damit gefüllt wird,
mit diesen Daten wird
die Seite
geladen, so dass wir Socket verwenden und die HTTP-Serverkommunikation verwenden , die sehr wichtig ist. So werden wir Schritt für Schritt
vorgehen. Danke. Danke vielmals.
9. Socket Session6 Difference ServerClientMethods für Windows Linux: Willkommen zu dieser neuen
Sitzung, die
zwischen Windows und der Socket-Programmierung von
Nina unterschiedlich ist. Wir haben bereits in
der vorherigen Sitzung
die Windows-Socket-Methoden
sowie
Milliardär-Socket-Methoden gesehen die Windows-Socket-Methoden . Und ich hoffe, du hast diese Sitzungen
durchgemacht. Sie werden sehr
hilfreich sein , um diese Sitzung unter dem
Geist zu haben. Das
wird Ihnen den Unterschied zwischen den
Fenstern und Ninas geben. Aber ein paar Erwachsene hier. Fangen wir an. Themen. Wir werden die
Verteidigung beim Aufbau von
Wasser Admin-Setup behandeln , um
die Socket-Programmierung
unter Windows und Linux durchzuführen , wir werden darüber diskutieren. Als Nächstes
werden wir diskutieren was alle
Header-Dateien
für die Socket-Programmierung in
Windows und für Linux benötigt werden für die Socket-Programmierung in . Dies sind, diese Header-Dateien werden
für beide unterschiedlich sein. Dann werden wir die
Verteidigung und wenige Methoden sehen. Das ist eine Funktion für die Socket-Programmierung
in Windows und Linux. Bob. In diesem dritten sind
Sie vielleicht
fast alles ein Metal, Sie vielleicht
fast alles ein Metal weil wir in der
vorherigen Sitzung
selbst gesehen
haben , indem Sie die
Socket-Programmierung für
Windows und Linux verstehen lassen. Ich hatte dir gesagt,
welche Funktionen in Linux und Windows verwendet werden. Fast Seminare sind fast
alle Methoden, die ich verwende rote
Blutkörperchen, Vor-Ort-Depo-Fenster und Vor-Ort-Depo-Fenster und einen leichten Unterschied in einer der Funktionen
und dem Rest. All die Dinge, die ich gesehen habe das Setup
entschieden. Also lass uns sehen. Im vierten werde ich das Thema
diskutieren, das ein
anderes Szenario ist Reporting zwischen Windows und Linux. Beginnen wir jetzt mit dem ersten Beitrag, der
das Setup, der Prinz und die Rechnung
oder beide sind falsch. Wir werden das Bin-Setup für
die Windows sehen , um
die Socket-Programmierung durchzuführen .
Das ist also B. Dies wird sich irgendwie
wiederholen, da wir in einer früheren
Sitzung auf der Quelle gesehen
haben,
das Windows-Betriebssystem, das Windows-Betriebssystem um Socket-Programmierung durchzuführen, wir müssen eine Verknüpfung mit
der Bibliothek herstellen, die ist ws unterstreichen 32 dot lib. Weil wir die Funktionen
benutzen werden. In
diesen Bibliotheken sind Funktionen für das
Fenster, Fenstersockel definiert . Und deshalb müssen wir
diese Bibliothek verknüpfen , da die
Ausführungszeit, wenn Sie diese
Bibliothek später nicht verknüpfen, wenn wir das Programm ausführen, dann wird es uns später
die Verknüpfung geben. Es wird die Bibliothek nicht finden,
da wir sie nicht verlinkt haben. Das ist also sehr wichtig
und die Schritte, um es zu verknüpfen, habe ich hier
dasselbe erwähnt , Projekt-Build-Optionen. Dann müssen wir auf
den Link klicken oder
Registerkarten festlegen und diese Dinge sind die Schritte, die
Sie navigieren müssen. Und dann musst du diese Bibliotheken
hinzufügen. Wir schreiben auch den Programmierer und zeigen Ihnen
manuell, wie es
geht, gehen Sie auf der
Idee durch und erklären Sie es Ihnen. Das ist sehr wichtig. Das Setup ist sehr wichtig. Andernfalls erhalten Sie zur Ausführungszeit eine
Verknüpfung. Jetzt haben Sie Dimension, den Header-Pilotfall bei der
Fenstersockel-Programmierung. Nun, das sind das
Gebäude Waterman-Setup, die Grundeinheit,
wenn ich später. Als nächstes, das Building
Waterman-Setup für die Linuxes, müssen
Sie einfach sicherstellen dass Ihr GCC-Compiler installiert
ist oder nicht, weil es
Nachrichten sind,
den Code zu kompilieren, der
anders ist , wenn auch ideal. Wenn Sie also die Benutzeroberfläche
durchlaufen möchten, können
Sie die Befehlszeile nicht ausführen. Sie können in
diesem Fall eine bestimmte ID installieren und tatsächlich ein Projekt
erstellen. Und Sie können Leck- oder
Programmiercode und
zufälligen oder zufälligen
Socket-Programmiercode senden Programmiercode und . Sie müssen die Bibliothek nicht
verknüpfen. Wenn Sie eine
Befehlszeilenzeichnung verwenden, stellen Sie sicher, dass Ihr GCC
dies ist, dass ein Compiler installiert
ist oder nicht. Es wird standardmäßig
auf Images installiert und kürzer. Im Falle
der Linux-Bibliotheken
sind keine Linux-Bibliotheken erforderlich . Und wir müssen
einige Header-Dateien
für das Linux erwähnen , auch um die
Socket-Programmierung
durchzuführen, die wir später in späteren Folien
besprechen werden . Jetzt reicht dieses ganze Setup
aus, um die
Programmierung unter Linux zu starten. Das sind also die
Beweise
in Windows und den Liberalen. Und der nächste Unterschied
für den Header-Preis zwischen dem, was die
Header-Datei
enthalten sein sollte , oder Windows zur Durchführung der Socket-Programmierung
und der linearen Zone. Dies ist also in Dateien, die
Sie
mein
Windows-Betriebssystem einschließen müssen , um
die Socket-Programmierung durchzuführen .
Du musst es tun. Ich habe dieses stdio.h iodo erwähnt, DIE einfach Input-Output, um einfach die Nachricht
auf der Konsole anzuzeigen oder
einfach die Eingabe
von der Konsole zu geben. Das ist aber was. Dies sind die
Kreditdateien, die Sie im Falle von Windows angeben
müssen. Dann die Windsocken-Punkt-Kante, das ist spezifisch für sie, wenn Socket-Funktionen, die in dieser Header-Datei deklariert
werden . Sie müssen also
diese Header-Pipe erwähnen. Dann muss man erwähnen, dass
STD am Rande gelebt hat. Dies sind die drei
Header-Dateien, die Sie benötigen,
um Socket-Programmierung in Rätseln durchzuführen. Dann die Tödlichkeit, Sie müssen all
diese Header-Dateien erwähnen. Das ist stdio.h
DIN-Sockeldotage, I dotage, std lib,
String-Punkt-Kante. Und dann du Anna,
Anna, UNI stdio.h. Also all diese Header-Dateien. Sie müssen also im Falle
des Linux-Betriebssystems geben und führen die
Socket-Programmierung durch. Dies sind die Unterschiede
zwischen ihnen. Das nächste Thema,
das wir besprechen werden, welche verschiedenen Methoden
es gibt zwischen den
verschiedenen für Windows und der Ordnung, als wir bisher eine
White-Socket-Programmierung
sahen, Windows, wie ich Ihnen sagte, dies ist die zusätzliche
Funktion, die wir verwenden. Dies ist
für das
Windows-Betriebssystem sehr erforderlich . Es wird verwendet, um zu initialisieren. Sie alle waren Socket
Library, obwohl sie
dem Netzwerk mitteilt ,
dass das Programm Ihre digitale Version
der Bibliothek haben
möchte, die das Programm verwenden möchte. So erhalten
Sie die Version zwei Hunde 0 in der
Wind-Socket-Bibliothek. Das Programm
wird
diese Version angeben, die Sie
für diese Mintaka-Bibliothek verwenden müssen. Und diese Funktion wird verwendet, um die Socket-Bibliothek zu
initialisieren. Und die zweite Datenstruktur
wies auf die Struktur hin. Die Struktur wäre also
gewesen , dass die Socket-Bibliothek
die
kommunikationskritischen Informationen liefert die
kommunikationskritischen Informationen während sie das Programm kommuniziert, um zu
sehen, wie viel Anzahl von Sockets und erlaubt
es erstellt zu werden. Also all diese Dinge
da draußen im Falle von New, im Falle eines
Windows-Betriebssystems, nicht in Linux. Dies ist also eine zusätzliche
Funktion, die darin besteht , dass Sie in Windows
und
Sie wissen es nicht, kein Nominal verwenden müssen. Dies ist also ein Unterschied
in einer der Funktionen. Diese Methode sendet
sie einzeln, IX ist eine neue Version, der Kurs liest das besser als Visualisierung auf Bibliotheken. Zweitens, wenn ich Ihnen
die kritischen Informationen gebe wie viel auf diesen
Sockets erstellt werden kann, wird
es von der
Bibliothek an das Programm gesendet. Das hatte ich erwähnt.
Ja. Dann sagt Nina, ich habe dir gesagt, dass es
keine Aktie oder Funktion gibt, keine Initialisierung
oder Cousine Nina. Eine andere Sache ist, dass dies
im Falle der Fenster Funktionen
sind, mit denen der Socket getrennt wird. Wir müssen es
Close-Socket-Funktion nennen. Sie müssen diesen
Socket-Deskriptor verursachen. Das war es, was ich
gehofft hatte, weil
ich gesagt habe, dass unser
Kunde je nach
Anforderung zwei Väter ein
Skript-Angebot
hatte und WAS eine Bereinigungsfunktion
auch im
Falle von Windows aufgerufen werden sollte . Was ist diese WSCC-Bereinigung? Es wird verwendet, um
Datenquellen freizugeben , die von der Beanstalk
verwendet werden. Dies ist definitiv drin
und es wird 0 und
Erfolg und ungleich Null bei
einem Fehler zurückgeben . Also hoffe ich, dass du das verstanden hast. Dies sind die Methoden,
die
im Falle von Windows verwendet werden , um den Socket zu
trennen,
keine Funktionen, die Sie aufrufen müssen. Und es gibt einen Zweck, den
ich dir
für den WAC-Cleaner erklärt habe . Falle von Linux Um den Socket zu
trennen, müssen Sie
im einfach das Schließen
aufrufen. Dann musst du
dieses beschreibende bestehen. Wenn es zufrieden ist, wird
es das Skript hochgehen. Wenn es sich um ein Linux handelt, wenn es sich um einen Client handelt,
wird es angewendet. Gut zu gehen. Dies ist einfach geschlossen. Es gibt keine Säuberung und alles. Dann noch ein Unterschied und
anderes Thema
weitere Verteidigung,
Verteidigung und Bearbeitung von Berichten
zwischen Windows und Linux. Also schauen wir nach Windows, wie stimmen sie irrtümlich ab? Dies ist die Funktion
„Response bearbeiten“. Die Nachricht
wird hierher kommen. Dann würdest du einfach diese Nachricht und diese Nachricht eintragen
und hier sammeln lassen. Und das ist eine
Funktion, die WL ist, ich sage, Fehler verloren gehen. Auf diese Weise
müssen Sie einen Fehler melden. Was bedeutet dieser
WSL GetClass Fehler? Sehen wir uns nun Details zu all diesen Dingen an, die
jetzt im Fenster eine
eigene
Fehlermeldungsfunktion verwendet ja, um anzuzeigen , dass das, was
mit dem Socket-Aufruf schief gelaufen
ist, diese Funktion kann
eine zurückgeben Ganzzahl,
die den letzten Bereich darstellt, hat ein gutes Jahrzehnt durch das
Socket-Call-Feld Behinderung. Gib dir was mein, was ist
der Grund für das Socket-Video? Es wird eine ganze Zahl zurückgeben. Jetzt hat dies die Windows-Version
ICD-10 der Bearbeitungsantworten verwendet Duck, den letzten Fehler. Das ist also die ganze
Beschreibung darüber. Im Falle von Windows müssen
wir auf diese Weise einen
Fehler melden. Mal sehen, dass die
linearen Sweeney-Nüsse die gleiche Funktion erhalten, aber dieses Mal, dass
sie nicht angerufen
haben, werden wir sogar anrufen. Dies WAR eine GetClass
und von gleicher Summe. Wenn dies nicht funktioniert hat,
ist dies der B-Editor und
die Editormeldung Yoda war SP edit, um
die Systemfehlermeldungen zu melden. Das ist ein Unterschied. Jetzt
sind all diese Dinge tatsächlich erforderlich. Dies
sind also die Unterschiede zwischen Windows- und
Linux-Socket-Programmierung. So können Sie nicht viele
Unterschiede sehen tot oder Funktionen. Wenn Sie nur in Windows über die
Funktionen sprechen, müssen
Sie
eine zusätzliche Funktion hinzufügen , die
OWASA Startfunktion. Und eine andere Sache in Bezug auf die Funktion ist, dass die Verlustfunktion anders ist. Syntaxen, anderes
Modell, Windows und Linux ruhen alle Dinge,
die für den Server
spezifisch sind,
in einer bestimmten Frist den Server
spezifisch sind,
in einer bestimmten Frist Die Funktionen sind gleich also haben wir
nicht darüber gesprochen. Ich tube nur das Setup ist im Falle von Megiddo
anders. Sie müssen
diese Bibliotheken also hinzufügen, wie ich in
diesem Schritt hier erwähnt habe. Im Falle von Linux ist das
Verknüpfungs-Setup erforderlich. Und unter Nipah Linux müssen
wir zwei weitere erstellen, wenn Ihr Compiler
installiert ist und die Bearbeitung,
die Header-Dateien,
die ich erwähnt habe, das
sind die
verschiedenen Unternehmen für Windows und für Ordnung. Und das Letzte an
der Berichterstattung über Vergewaltigungsfehler, dies ist der unterschiedliche Diskurs, andere Funktion in Windows. Und im Falle des Linux wird
es die andere
Funktion aufrufen, die besser ist. Das ist was, das ist alles. Sie müssen berücksichtigen. Beide bombardieren die
Socket-Programmierung für Windows und Linux. Also keine Sorge, Freunde, die
jetzt in der nächsten Sitzung sind, werden
sogar Socket seitwärts
Clientkommunikation gesehen. Es wird die vertikale Platine
für die
Windows-Socket-Programmierung schreiben . Und wir schreiben den
Kundencode für die Programmierung. Für den Clientcode für
die Windows wird es sein und dann machen wir
die Kommunikation. Ich werde es Ihnen noch einmal sagen
, dass es viele Mindestunterschiede
zwischen Windows und Linux gibt. Sobald Sie also die Codierung des
Fensters für die
Socket-Programmierung kennen , während Sie
es sind , ist es nur ein großer
Versuch, ein Programm
für die Ordnung
zu schreiben, Sie müssen
sich eigentlich keine Sorgen machen Es ist nur, Paste zu kopieren geht
tatsächlich von Ninas,
weil
es in Linux sehr viel ein Z ist als das der Fenster, weil einige der Funktionen nicht verwendet werden. Ruhen Sie sich auch nur die
Verteidigung da drin aus. Die Close-Funktion muss
man indifferent minute aufrufen, da alles gleich ist und für Linux
keine Einrichtung erforderlich ist. Wenn Sie die Programmierung für die
Socket-Programmierung kennen oder
entscheiden, was wie auch Client für Windows Sie sein
werden, wenn es
sehr viel Z wäre , wiederholen Sie die
Socket-Programmierung für Linux. So
werden wir Trends voranschreiten. Danke. Danke vielmals.
10. Socket Session7 ProgramExecution Server-Client Information C++ Teil 1: Hallo, willkommen zu dieser neuen
Sitzung, in der es darum geht, die Socket-Programmierung für
Windows im Codeblock
mit ihrer Ausführung
anzuwenden . Also hier werden wir
den Code für die
Server-Socket-Programmierung schreiben den Code für die
Server-Socket-Programmierung , die
wir machen
werden, werden die
Client-Socket-Programmierung durchführen, ihn
für die Windows ausführen, ihn ausführen
im Codeblock. Und wir werden sehen, wie
dieser Sockelsatz
eine Minuten miteinander anwenden würde . Diese Sitzung? Ich hoffe, Sie haben
bereits die
gesamte vorherige Sitzung
in Segmenten Reis besucht die
gesamte vorherige Sitzung
in Segmenten Reis weil wir
die verschiedenen Methoden,
verschiedene Funktionen,
den Socket-Server
sowie Swaddle behandelt haben verschiedene Funktionen, , Socket-Client oder Windows, sowie wir haben auch mit dem Code
synchronisiert. Welche Anweisungen werden verwendet, welche verschiedenen
Funktionen oder Verwendung, was ist der Zweck? Und wie geht es für die Serverseite, was alle Funktionen, anstatt Doppelpunkt für die Clientseite
zu sein, welche Funktionen müssen sein? Sah? All die Dinge, die wir gesehen haben, haben
wir auch das
Gebäudewasser-Admin-Setup gesehen, das für die
Windows-Socket-Programmierung
erforderlich ist . Wenn nicht,
besuchen Sie bitte diese Sitzungen. Wir werden mit der Programmierung
für die Sidewalk Line
Socket Programmierung beginnen . Es wird sehr physisch sein. Sie immer noch, ich werde es
erklären, da wir ein neues Projekt
erstellen werden ,
um den Code
für den Server,
die
Client-Socket-Programmierung für Windows, zu schreiben . Und wir werden das Ganze
vervollständigen die Liste myset eingerichtet und
sehen, was
wir alle Dinge verknüpfen müssen. Welche Bibliotheken müssen verknüpft
werden? Sie werden also immer noch
Bands bekommen, die wir
diese Sitzung durchlaufen. Fangen wir an. Um es nur zu überarbeiten, haben
wir mehrere
Socket-Methoden gesehen. Was sind die Server sind
gute Methoden, die wir gesehen haben. Zuallererst müssen
Sie WAC initialisieren. Dies ist
unter Windows für Linux erforderlich, wir müssen WSL nicht initialisieren. Wir haben also gesehen, was
der Zweck oder Thema ist. Es wird verwendet, um
sie und die Socket Library zu initialisieren. Und wir haben gesehen, wie das
Programm die Abtreibung bekommen wird. Es eins, aber ich
war Socket Library. Die Beiträge sind also menschlich. Wir haben gesehen, Sie haben gesehen,
was das zweite Argument ist. Am Ende endete APA Sokrates, um Dove und
Socket Library zu initialisieren. Dann haben wir die zweite Funktion
gesehen, um einen Socket zu erstellen, dann wird er zurückgegeben oder
deskriptor des Sockets. Wir haben also gesehen, dass
wir
beim Erstellen eines Sockets den
Socket-Typ angeben müssen und er als
Stream-Socket reguliert wird. Es ist ein zuverlässiger
Socket oder ob es sich um Datagramm-Socket auf einer
bestimmten Ebene handelt, Socket. Und es ist ungefähr so, wie
wir
das Kommunikationsprotokoll geben müssen. Da wir wissen, dass
Stream-Socket TCP verwendet, verwendet
Datagram UDP. Wir können diesen Socket AND
Gates auf den Servermethoden erstellen , die wir haben C und dann erhalten wir
diesen Socket-Deskriptor. Dann müssen wir auf der
Serverseite
diesen Socket an Diabetes und
Portnummer binden , die wir gesehen haben. Dann haben wir uns diesen Socket
angehört. Also haben wir keinen Van gesehen, wir hören auf die Steckdose. Wir werden den
Socket-Deskriptor übergeben, Sie würden
im zweiten Argument erwähnen, wie viele dieser
Socket-Verbindungen vom Client
im Warten in
der ausstehenden Warteschlange sein sollten Warteschlange. Und dann haben wir eine
Boulder-Exit-Funktion , um die Verbindung
vom Client zu akzeptieren. Und sobald die
Verbindung hergestellt wurde Wenn
wir diese
Exit-Manage-Funktion aufrufen, wird ein weiterer
neuer Dateideskriptor zurückgegeben. Und mit diesem Dateideskriptor können
wir senden und empfangen beginnen für das Senden und
Empfangen von Daten zu Hause mit diesem Client. Dieser Socket-Deskriptor
, der es war. Kehre also von dieser
Create-Funktion zurück. Auf diese Weise werden wir es weiterhin ansprechen
, die Verbindung zu akzeptieren. Und ein weiterer Socket, der neue
Socket-Deskriptor W, behält ihn zum Lesen und
Schreiben für
die Kommunikation mit 9% aufgetauchten Daten
sowie zum Empfangen der Daten bei. Auf diese Weise haben wir gesehen,
dass wir den Socket im Falle
der Server-Socket-Methoden
trennen . Dann haben wir
das nächste gesehen , was die
Client-Socket-Methoden sind. Ich musste den Aufsatz nicht
initialisieren. Dies ist auch nur
für Windows spezifisch. Initialisieren Sie die
Windsocken-Bibliothek. Dann werden wir den
Socket auf den Clients erstellt, die ich unterstrichen habe, dass es nicht viel Code gibt wenn Sie Funktionen verwendet werden. Also müssen wir die USA
initialisieren, um die Windsockenbibliotheken zu
initialisieren, damit wir sie verwenden können. Dann müssen wir den Socket für
diesen Client
erstellen und Server sind
verschiedene Anwendungen, von denen
jede diese
Socket-Erstellung hat. Und wir müssen auch
denselben Socket-Typ erwähnen das
Zielkommunikationsprotokoll sollte auf beiden Seiten gleich sein, aber auch
Sparklines, damit sie
miteinander kommunizieren können. Dann rufen wir
die Connect-Funktion ,
damit der Client eine
Verbindungsanfrage an den Server
senden kann . Und sobald die Verbindung erfolgt, sobald diese Verbindung vom Server
akzeptiert wurde
, senden und empfangen Sie Statistiken
vom Client selbst. Dann trennen Sie die Funktion, trennen Sie den Sockel
nicht. Also alle diese Methoden, die
wir jetzt gesehen haben , gehen wir jetzt
durch den Server, die
Client-Server-Programmierung im Codeblock von Windows. Lassen Sie uns ein neues Projekt erstellen , das Sie benötigen, um
die Holzschnitt-IDE zu installieren. Und es sind wirklich Verfügbarkeiten
und Open Source. Sie müssen
also keine Lizenz kaufen. Wenn Sie gesehen haben, wenn
Sie diese ID installieren, können
Sie das
Programm mit mir schreiben und ausführen und sehen, wie die
Kommunikation stattfindet. Ich habe es bereits installiert. Ich öffne die ganze Block-ID. Ich erstelle ein neues Projekt. Also werden wir zuerst ein neues Projekt
für das Silber
erstellen. Dann erstellen wir ein neues
Projekt für diese Linie. Sobald der Codeblock installiert
ist, doppelklicken Sie
einfach darauf. Sie werden diese Seite sehen. Erstellen wir nun ein neues
Projekt, indem wir auf Datei klicken. Wählen Sie Neu aus,
wählen Sie dann Projekt aus, und wählen Sie dann die
Bodenanwendung aus. Klicken Sie dann auf Weiter. Da wir
das Programm in C
plus plus schreiben , ist es bereits ausgewählt, klicken Sie auf Weiter und
schreiben Sie dann den Projektnamen. Das ist also eine Art Socket. Windows sollte sowohl einen
sehr vernünftigen Namen als auch einen kurzen Namen haben, damit Sie verstehen
können, was
Sie im Programm tun. Dies ist ein Ordnername, den Sie dieses Projekt löschen
möchten. Dann klicke auf Weiter und erstelle
einfach ein Standard-Hello
World-Programm für dich. Jetzt müssen wir
es durch den Servercode ersetzen. Ich habe den Code bereits geschrieben. Ich kopiere hier. Ich
möchte keine Zeit verschwenden und einzelne,
einzelne Anweisungen schreiben. Sie haben bereits in
einer früheren Sitzung gesehen , welche
Anweisungen alle Anweisungen verwenden werden. Ich erkläre
dir auch Zeile für Zeile die Anweisungen zum
Spielprogramm selbst. Und dann
werden wir es ausführen. Während du es tust. Schon wieder. den ganzen Code schreiben, lassen Sie uns den Code ablegen, den
ich bereits geschrieben habe. Den Code, den ich bereits
geschrieben habe, habe ich gerade heruntergeladen. Ich habe gerade Erhöhungen,
erhöht diese
Übung, damit Sie sehen
können, welche Codierung
wir machen. Um das zu erhöhen, erregt. Beginnen wir damit,
dieses Programm einzeln, Zeile für
Zeile auf dem Server zu verstehen . Es benutzt also dieselben Störungen, die wir bisher schon gesehen haben. Jetzt beginnt die Ausführung
Ihres Programms
von Anfang an, also die Hauptfunktion. Ich hoffe, Sie wissen vielleicht,
was die Hauptfunktion ist. Hauptfunktion ist die Funktion besser, wenn
Sie den Code kompilieren, wenn Sie ihn ausführen, die Ausführung Ihres Programms beginnt
die Ausführung Ihres Programms
immer von
dieser Hauptfunktion aus. Welche Codezeilen
Sie auch in
dieser Hauptfunktion angeben werden, neun mal neun ausgeführt. Und es ist ein Einstiegspunkt,
um eine Ausführung
des Programms zu starten , so dass die Kontrollkosten in dieser
Hauptfunktion und diesem Motor entstehen, unabhängig von den Zeilen, die Sie hier geschrieben
haben , die
zeilenweise ausgeführt werden. Lassen Sie uns nun für den
Servercode sehen, was wir für die
Socket-Programmierung geschrieben
haben. Wir haben erklärt, dass wir dies als WIC-Daten
angesehen haben. Wir haben gesehen, was es ist. Wir haben, wir haben initialisiert, wir haben die
Variable für diesen Datentyp erstellt, das sind WSL-Daten. Wir haben gesehen, dass Sie für
den Fall an den Fenstern foo haben. Initialisieren Sie dafür die
Windsockenbibliothek, die wir verwenden werden. Sie rufen die
Startfunktion auf. Diese Startfunktion hat zwei Argumente,
aus denen
das zweite Argument
der Zeiger auf die
Struktur WSL-Daten ist . So breiteste strukturiert
wie erforderlich. Wir haben gesehen, dass
wir dieses DO brauchen. Das sind häufig Bibliotheksereignisse. Es kommuniziert
mit dem Programm und gibt Hundeinformationen
über kritische Informationen, dh wie viel Anzahl
von Sockets erstellt werden kann. Diese Struktur wird gefüllt sein. Da wir es
verwenden werden, müssen
wir daher eine auf diese
Weise
angebotene Variable erstellen , WAC-Daten. Dann erstellen wir das
Objekt dieses Sockels. Wir haben zwei
Objekte auf diesem Sockel. Wir wissen, dass der
Socket-Deskriptor empfangen wird , wenn wir die
Socket-Funktion hier aufrufen. Und ich habe einen
Socket-Deskriptor, den ich
täuschen muss , wenn wir
die außer Funktion aufrufen. Beenden Sie die Funktion also auf ihren Socket-Deskriptor
als einen Modus. Wir haben gesehen, dass
es noch einen Grund gibt. Wenn wir das Objekt
dieses Sockets erstellen, erstellen
wir neue Objekte nach dem Nameserver-Socket
und nach dem Namen Ich bin Sock. Dann ist der nächste Teil SOP
ADD oder Unterstrich-Ionen. Also malen wir
wieder auf Objekt, weil in V & V
eine Socket-Funktion aufgerufen wird. Wenn wir
die Bind-Funktion aufrufen, haben
Sie
alle strukturierten
IP-Adresse erfüllt , an der sich dieser Server beteiligen
wird, und
mit der Portnummer. Das ist der Grund, warum diese
Struktur benötigt wird. Und das wird darin bestehen, das Objekt davon zu
schaffen. Und dann ist wieder meine
strukturierteste erforderlich. Es ist erforderlich, wenn Sie die Exit-Funktion
aufrufen. Hier müssen wir das erwähnen. Es scheint hier zu sein. Das ist der Grund, warum dies erforderlich
ist und Sie erstellen auf diese Weise an Deck
angeboten. Nun, die allererste Funktion
, die UFC genannt wird, muss
er
sie in der Salzbibliothek initialisieren. Deshalb werden wir
diese WSS-Startfunktion aufrufen . Und du wirst
zwei Argumente weitergeben. Das erste Argument,
das besser sein wird, wird sagen, dass das
Programm die Version von Bug
- und Socket-Bibliotheken
verwenden möchte . Da das Programm also eine Version
2 verwenden
möchte , bevor das erste Argument auf diese Weise angegeben
wird, machen Sie was in Klammer
zwei Komma 0,
das bedeutet, dass das
Programm eins zu verwenden ist. Wenn Socket Library 2. Der zweite, der ein
Zeiger auf diese Struktur ist, diese Hexenstruktur, dass die Daten jedoch hier
sein werden. Socket-Bibliothek
mit älterem Programm oder wie viele
Sockets es erstellt werden kann. Dies wird also ausgefüllt, bevor die WSIS-Startfunktion zu Ende
geht. So
wird dies als EMT weitergegeben
und es wird gefüllt. Habe noch keine Bibliothek gesprochen und diese Informationen werden ausgefüllt. Wie viele
Sockets werden wieder erstellt? Beenden Sie
vorherige Informationen. So rufen wir
diese Funktion für die
Window-Socket-Programmierung und Server-Site auf. Dann ist das nächste,
da ich nicht Teil der Regel
bin, einen Socket zu erstellen. Jetzt erstellen wir einen Socket. also den Socket erstellen, müssen
wir erwähnen, dass
die Siegessachen, die veröffentlicht werden,
die Adressfamilie sein werden. Wir werden also IPV4 und Bereitstellbarkeit auf diese
Weise nutzen. Zweiter abzüglich der
Steckdose, Buchse fest. Wir möchten also, dass dieser
Stream-Socket erstellt wird, zuverlässige und
Carbon-Beta-Kommunikationsprotokolle ist. Also geben wir es als Nullen, also bevor es 0 sein kann. Für diesen Stream verwendet es
TCP, Sie können Xero verwenden. Noch eine. Sobald wir die
Socket-Funktion aufrufen, wird der
Deskriptor des Sockets zurückgegeben. Jetzt
wird dieser Deskriptor
für verschiedene Funktionen verwendet . Das gilt für die Bind-Funktion oder die Listener-Funktion
sowie für die Exit-Funktion. Jetzt kannst du sehen, was
wir hier machen. Wir füllen diese Struktur. Was ist das für ein Satz von ADD? Ich sagte vorhin, es ist
vom Typ Socket ADD. Wie wir gesehen haben, ist
dieser ganze Code
in der Bind-Funktion erforderlich, wenn
wir dies aufrufen . Da in der Bind-Funktion, werden
wir den
Socket zur Bindung bewegen. Bestimmte Portnummer
und IP-Adresse. Portnummer und
IP-Adresse sollten in der Struktur
angegeben werden . Diese Struktur ist Server
ADD oder das sind andere Typen, Socke ADD oder Unterstrich Eisen
durch einzeln füllen. Ich habe Ihnen diese Adresse gesagt, die wir für einen
Server geben, um an
diese Adresse zu binden , habe ich Ihnen
in früheren Sitzungen ausführlich
erklärt. Lassen Sie mich IN, ADD
und Unterstrich geben. Dies bedeutet, dass Sie die Seitenleiste
für alle
IP-Adressen für Opfer haben möchten , verschiedene
Netzwerkschnittstellen darauf. Obwohl Benutzer Land verwenden,
um das Internet abzurufen
, entscheidet die IP-Adresse dieses Landes, wo es gebunden
werden kann. Und wenn der Benutzer Wi-Fi verwendet
, haben verschiedene
Netzwerkschnittstellen unterschiedliche
IP-Adresse, die
über diese IP-Adresse auf
demselben Host-Computer dicht ist haben verschiedene
Netzwerkschnittstellen unterschiedliche
IP-Adresse, die
über diese IP-Adresse auf
demselben Host-Computer dicht . Dann das zweite Argument, dass wir das VM-Image
erwähnen. Ich habe die Familie erwähnt. Wenn Sie
ihnen diesen Verteiler geben, IPV4, wird es auf diese Weise geschehen. Dann geben wir die
Hafennummer zur Bergung von gib mir viermal fünf. Wir können jede
Portnummer größer als 1024 angeben, weniger als sechs mal 535, da sie bis
1024 verwendet wird. Und obwohl Sie nach 10 gehen, können
Sie eine beliebige
Portnummer angeben. Egal welche Portnummer Sie werden sich immer an
die Clientseite erinnern. Sie müssen dieselbe
Portnummer angeben, da die Clients sich mit
derselben Portnummer verbinden in der die Seitenleiste mir für
die gesamte Struktur gehört. Sobald es gefüllt ist, rufen
Sie die
Bind-Funktion erneut auf. Sie übergeben das
erste Argument, da der SOC ein
Deskriptor ist,
den Sie tatsächlich schreiben, wenn Sie
die Socket-Funktion aufrufen. Dies ist ein Socket-Deskriptor. Hier übergeben wir die Beiträge
und das zweite menschliche Argument ist die Struktur, von der
Sie vielleicht gespürt haben, dass wir hier weitergeben. Und dann
ist der dritte die Größe davon. Info. Auf diese Weise die Seitenleiste
durch den Kauf der Funktion
jetzt ist die Seitenleiste
durch den Kauf der Funktion
jetzt an die
Portnummer und IP-Adresse gebunden. Was nun Listener
im Falle der Lektion,
der Unterrichtsfunktion, tun ,
übergeben Sie das erste Argument als wieder den Deskriptor
des Sockets. Und das zweite Argument, Nummer ,
Clientverbindung, das
Sie in q behalten möchten, da wir nicht wollen, wenn
Sie
keine Clientverbindung in q behalten
möchten, dann können wir einfach 0
schreiben oder wir können schreibe eine, wenn du eine Verbindung willst, wird
sie in q automatische
Verbindung und Cube sein. So funktioniert es. Dann bedeutet diese Lektion, dass
sie sich die
Connect-Line-Verbindung
anhört. Das war's. Danach rufen
wir die Exit-Funktion auf, um die
Verbindung von der Anlage zu verlassen. Dies bedeutet Balken,
wieder dieser
Socket-Deskriptor , der
von der Socket-Funktion zurückgegeben wurde. Zweitens werden wir
diese getroffene Dosis übergeben, die
so zerstört als leer
ist, wird sie tatsächlich gefüllt. Sobald wir weitermachen, aufgerufen
Exit-Funktion. Hier werden alle kundenbezogenen
Details ausgefüllt. Alle Informationen in
Bezug auf diese Zeile. Was ist die
IP-Adresse, was ist das, welcher Portnummer sie zugeordnet
hat und alle
Details
wird sie tatsächlich ausgefüllt, wenn wir
die Exit-Funktion aufrufen und
die Größe davon. Deshalb gehen wir
einfach so vorbei, wie es ist. Und dann läuft es, dann findest du einen neuen
Socket-Deskriptor. Dieser Deskriptor
sowie dieser beschreibende sind
beide unterschiedlich. Ich habe dir gesagt, dass es noch
anders ist, weil dieser Deskriptor verwendet werden kann, um andere
Verbindungsanfragen von dieser Zeile zu akzeptieren. Wir wollen
nichts blockieren lassen. Also hat sich Sokrates damit beschäftigt, die Verbindung zu hören und zu akzeptieren. In diesem Fall. Wir wollen auch gleichzeitig
Lese- und Schreibbetrieb. Sobald dies der Fall ist,
akzeptiert es eine Verbindung
vom Client. Wir möchten, dass Lesen und Schreiben jagt und wir
wollen nicht, dass es so ist, aber daher wird eine andere Ladung, das Skript eines anderen Sockets oder das Skript eines anderen Sockets oder
deskriptiven Middle
GET sein und wir behalten das, engagieren beim Lesen, Schreiben
dieses und dieses. Was akzeptiert eine andere
Clientverbindung. Ich hoffe, du hast
das verstanden und das und
das wird erledigt. Es hat einmal gesagt , dass diese Verbindung
vom Client
akzeptiert und es ist in der Lage, die
Nachricht vom Client zu empfangen. Also deinen Deskriptor selbst erwähnen
wir hier, wenn
das erfolgreich ist, dann können wir hier nur erhalten. Wenn also eine
Bedingung erwähnt wird und dieser richtige V-Client
wird, haben Sie diesen
Sockel beschreibend erwähnt. Da wir diesen Socket selbst erhalten
müssen, wird alles, was der Client gesagt
hat, in diesem Puffer
gesammelt. Und dann
zeigen wir diese Nachricht an. Dann wird Memset auf 0 gepuffert. Und dann verliere
ich so nach allem den Sockel. Es hängt also von Ihrer Verwendung ab. Du bekommst hier
die sogenannte gleiche Funktion. Wenn Sie möchten, dass einige
Motorinformationen vom Server übergeben werden, können
Sie
dieselbe Funktion aufrufen. Und wenn Sie
sich wiederholende Verbindung wünschen, können
Sie auch hier eine Schleife erstellen. Und Sie können
die Bedingung schreiben, dass wenn jemand, der die
Bedingung hat, dass der Benutzer
dies gibt und aus der Schleife kommt
und Nieto nicht kennt, abhängig von der Verwendung eine Kommunikation
wünscht. Ändern Sie das Programm erneut. Dies ist ein einfaches Programm und ich erhalte die Nachricht
vom Pflanzendekor. Ich nenne diese
Empfangsfunktion, auch wenn ich
sie als Sinusfunktion bezeichnen kann , wenn ich Daten senden
möchte. Es ist das Gleiche. Also
Sicherheitsfunktion und wird von dieser Leitung aus
anrufen, damit
Kunden eine Nachricht senden können. Selbst bei den Kunden,
die wir anrufen, können
wir die
Empfangsfunktion aufrufen, aber wir werden hier sein. Ich zeige Ihnen, ob Sie
die Nachricht von
der Kundenseite erhalten haben. Clientseite
sendet diese Nachricht. Jetzt schließen wir den
Socket auf diese Weise. So passiert das. Ich hoffe, Sie haben
jede einzelne Codezeile verstanden und dies wird es mehr
als Z finden, weil wir alle Voraussetzungen erfüllt
haben bevor wir das Programm starten. Wir haben alle
Funktionen im Detail gesehen. Sinkt mit dem Code. Ich bitte Sie, es
durchzugehen, wenn Sie nicht
gegangen sind, weil ich
alle Dinge hier noch einmal wiederholt habe, aber die
Erklärung dieser Sitzung selbst hat
Sie nicht dazu gebracht, es zu verstehen. Jetzt bauen wir uns auf.
11. Socket Session7 ProgramExecution ProgramExecution Windows C++ Teil 2: Davor willst
du die Lungen einstellen. Also habe ich
das Protokoll bereits zum zweiten gesagt, die Größe zu vergrößern, habe ich gerade noch. Wenn Sie
hierher auf die Konsole gehören möchten, ist eine
Ward-Einstellung erforderlich. Klicken Sie auf Neu und dann
müssen Sie diese Sperren überprüfen. Sobald Sie diese Sperren überprüft haben, sehen
Sie diesen geliebten Bildschirm, den ich bereits überprüft habe, also bekomme ich, dass der Bildschirm gesperrt
wird. Jetzt baue
ich ein
Programm. Klicken Sie auf. Lass es mich putzen, weil ich es
schon eine Sekunde ausprobiert habe. Okay, jetzt klicke auf Build
und kompiliere dann diese Datei. Hier sehen Sie also, dass es keine Pfeile In TO
gibt,
auf der Serverseite.
Jetzt lasst uns eine Verbindung herstellen. Jetzt wollte ich dir hier
eine wichtige Sache zeigen. Ich habe
keine Einstellwahrscheinlichkeit
im Wasser-Admin-Setup vorgenommen , was ich Sie
in der früheren Sitzung erwähnt habe wir für die Windows
machen sollten. Ich bin noch nicht fertig, weil ich dir den Fehler zeigen wollte
. Und dann werden
Sie nach dem sehen, wenn wir
ausgeführt haben , wird ein Link drin
sein. Und natürlich kannst du sehen, dass
ich keine Einstellungen vorgenommen habe. Ich bin mit keiner Bibliothek verknüpft, dann wirst du verstehen, wie
man sie repariert und wie man sie verknüpft. Das ist ein Grund, warum
ich
es früher nicht repariert habe, so dass
Sie meinen Fall nicht getroffen hätten, wenn ich es repariert hätte. Ich hätte keinen Fehler bekommen. In deinem Fall. Du
hättest es nicht bekommen und ich möchte nicht, dass irgendetwas
im Rückstand kommt. Das ist ein Grund, warum ich
nichts getan habe. Ich möchte, dass du
alles
verstehst und wie
du alles reparierst. Lasst uns nun
den blauen Graphen verknüpfen. Jetzt lass uns bauen und rennen. Ich sollte einen Verknüpfungsfehler bekommen. Ja, ich wollte den Header verknüpfen. Sie können hier in der
Konsole oder im Blog selbst sehen. Sie können einen undefinierten
Verweis auf WSS-Tech-Startups oder welche Funktionen wir Wasser
bezeichnen, sehen. Wenn diese Startup, hat
der Lewis angefangen,
dann steckte alles ein. Es erhält eine
undefinierte Referenz. Warum? Weil ich es dir schon für
das
Windows-Betriebssystem
gesagt habe und du auf die Socket-Programmierung
als auch den Client
stößt. Da wir
verschiedene Funktionen verwenden, verwenden
wir die
Funktionen, die in der Wind
Socket Library
definiert sind . Wir müssen
in unserem Projekt mit
dieser Bibliothek eine
nichtlineare feste Bearbeitung verknüpfen . Weil wir diese Bibliothek
so
aufgebaut haben , dass die Ausführungszeit
bei der Verknüpfung stattfindet. Verknüpfung erfolgt immer dann, wenn Sie den Code ausführen, dann
würde nur die Definition der Funktion den Ruhm weder
bei Deklarationen
noch
bei jedem Aufruf Ihrer
Funktionen ablehnen weder
bei Deklarationen
noch
bei jedem zur Kompilierzeit wird
es erfolgreich kompiliert,
weil ich
keine Deklarationen überprüft habe
, die von der von Ihnen erwähnten Header-Datei
empfangen wurden . Du hast alle Erklärungen für dich bekommen, hast keinen Fehler bekommen. Aber in der Verknüpfungszeit
wird es die Definition sehen. Dies, du verbindest es nicht. Sie erhalten den
undefinierten Verweis , den Sie ausführen. Jetzt schauen wir uns an, wie diese Fehler
behoben werden können. Nun, offensichtlich bin ich das nicht. Ich habe diese Einstellungen entfernt, Umgebungseinstellungen
erstellt, also
zeige ich es Ihnen von Grund auf neu. Dafür. Ich habe
dir gezeigt, wie das geht. Beide Einstellungen gehen zum Compiler, Ihre Links
- oder Einstellungsschritt, gut, Sie haben hier
andere Link-Optionen. Sie müssen dieser Bibliothek
diese Bibliotheken für
Windows-Socket 32-Bit geben . Das ist also dafür. Sie haben den Benutzer bei
Socket Library und
denken daher nach und geben mir minus Lusaka dann
speichern Sie einfach diese Einstellungen. Wenn Sie Ihren Code jetzt kompilieren, sollte
er erfolgreich kompiliert werden. Jetzt heißt es, dass wir diese Nachricht
sehen, wir haben diesen Namen
für eingehende Verbindungen gegeben. Wir haben diese Nachricht hier gegeben tatsächlich auf eingehende Verbindungen
geachtet. So traurig, was ist das Zuhören? Jetzt? Wir sollten diesen Code schreiben. Also sagte ich, dass die Arbeitsbelastung läuft. Denken Sie immer daran, dass wir den
Servercode verstärken und dann klettern
müssen da der Server
nicht ohne
Serverport erforderlich ist , wenn Sie direkt laufen um ein Problem zu sein, da dies ein ein Kunde wird es
sein, ich integriere mich. Es sollte immer sein, du solltest immer starten. Und hier werde ich zeigen, da ich Ihnen gesagt habe, dass
wir
die Socket-Kommunikation zwischen
Server und Client sehen werden die Socket-Kommunikation zwischen . Hier können Sie entweder verwenden, Sie können Ihren Server auf
einem Host-Computer ausführen, bei dem es sich um einen Laptop
handelt, und Sie
können Sprache lernen. Und ein weiterer Laptop, ein anderer Host-Computer ist
, der Remote-Hosts ist. Und du kannst die
Socket-Kommunikation machen, die ich habe. Ich zeige Ihnen, wie
Sie die
Socket-Server-Clientkommunikation auf einem einzigen Computer durchführen. Angenommen, Sie haben
nur eine einzelne Maschine, wie Sie es
dann ausführen können. Das ist also auch möglich. Es ist so, dass Sie einige Einstellungen vornehmen
müssen, wie Sie einen
Serverprozess und einen Clientprozess erstellen. In diesem Projekt verwenden
wir diese IDE,
die wir verwenden, ist Codeblock-IDE. Wir haben bereits
ein Projekt für das
plötzliche in dieser Block IDE erstellt . Damit der Kunde jetzt
ein Projekt für den Kunden erstellen kann, können
wir das Projekt nicht erstellen. Der Kunde in dieser ID selbst. Was ist das in
dieser Codeblock-ID. In diesem Fall heißt
es, dass wir nicht
löschen können , da man diese Codeblock-ID zu
einem Zeitpunkt benötigt. Wir können ein Programm
ausführen. Wir können nicht zwei Projekte ausführen. Ich möchte sagen, dass wir meine
Picknick-Projekte nicht in einem einzigen
ausführen können , im selben Fall
auf vorher Block. Wenn Sie möchten, dass mehrere
Projekte ausgeführt werden, sollten Sie mehrere
Instanzen des Lebensmittelprotokolls starten. Dies ist also nur eine Instanz. Das heißt, ich habe die
einmalige
Codeblock-ID geklickt und ich habe diese Instanz bekommen. Und hier habe ich
ein mögliches Projekt erstellt, daher kann ich keine weitere
Projekt-POC-Zeile und
dieselbe Instanz auf
der Koordinatenkennung erstellen dieselbe Instanz auf
der Koordinatenkennung und die
Kommunikation dafür durchführen. Sie müssen sie erstellen, die Sie in der Codeblock-ID haben. Erstellen Sie eine weitere Instanz von
Woodblock ID und Sie müssen Buggy-Code
schreiben, und dann
müssen Sie die
Kommunikation zwischen ihnen durchführen. Standardmäßig können Sie also
nicht
die zweite Instanz des Codes erstellen ,
das Maulwurfnatrium zur Ereigniszeit
sein wird . Klicken Sie also auf das Wort
Liebe zu tun, um eine neue,
neue Instanz zu erhalten , die Sie nicht bekommen. Denn standardmäßig werden die Einstellungen
auf diese Weise vorgenommen , dass jedes Mal dieselbe
Codeblock-ID
gestartet wird . Aber jetzt müssen wir Server und Client seit Aufwärtsschleife
unabhängig voneinander
in verschiedenen Holzblöcken
ausführen . Dafür müssen Sie die Einstellungen vornehmen. Ich habe die Einstellungen
in meinem Fall bereits vorgenommen , aber für Ihren Fall habe
ich
Ihnen gezeigt, bevor ich
das Serverprogramm als Doppelklick auf
die Codeblock-ID geschrieben das Serverprogramm als habe. Und diese Einstellungen musst du
machen. Und dann schreibst du
das Serverprogramm, was ich
noch nicht gemacht habe, welchen Physiotherapeuten? Und dann kompilieren Sie den Code, führen ihn aus und dann das zweite Mal und klicken
auf Code Block ID, Sie erhalten die zweite Instanz, die Ihnen
angeboten wird und Sie haben Recht, dieser Zeilencode, die Einstellungen
was ich dir zeige. Denken Sie daran, Sie sollten es
tun, bevor Sie sie schreiben. Zerebrale Hemmung,
vollständige Zuweisung, neuer Doppelklick
auf Codeblock-ID. Sie müssen die Einstellungen vornehmen.
Also wie macht man das? Wir erhalten die
Mehrfachinstanz von Woodblock ID. Gehe also zu Einstellungen. Dann musst du zu Wasser
und Wasser gehen und zugeben, dass ich das
schon getan habe. Das ist ein Grund. Schon die Änderungen, die bereits vorhanden
sind,
was ich erledigt habe. Während Ihres Falls
können Sie hier
nur eine laufende
Instanz zulassen , die hier ist. Das Kontrollkästchen wird aktiviert. Es wird überprüft. Standardmäßig ist es aktiviert. Und ich habe es bereits deaktiviert. Weil ich
mehrere Instanzen habe. Standardmäßig wird dieses Kontrollkästchen aktiviert, um nur
eine laufende Instanz zuzulassen. Und das ist jedes Mal ein Grund wenn Sie die
Codeblock-ID starten, z. B. dasselbe
für den Start von Block. Da dies standardmäßig check ist, habe ich
es deaktiviert, weil ich mehrere Instanzen
auch das nächste
, was in bereits ausgeführter
Instanz verwendet wird , die ebenfalls standardmäßig
überprüft wird. Deaktivieren Sie also einfach, dass auch
Sie, anstatt
die Ausrichtung auf der Mann zu deaktivieren , die
Instanz läuft , sowie
bereits laufende, deaktivierte beide, was ich bereits dort
gemacht habe, wo Sie kann dieses
Häkchen darauf nicht sehen. Diese Einstellungen sind
erforderlich und überprüfen Sie es und klicken Sie dann auf Okay. Jetzt erstelle ich ein anderes
Projekt für den Kunden. Und Sie können
jetzt sehen, dass ich ein anderes Projekt erstellen kann. Ich hatte wieder
auf die Codeblock-ID doppelgeklickt, ich habe die neuen Projekte bekommen. Sie können also sehen, dass ein Projekt
dasjenige ist , das ich das Serverprogramm nicht
geschrieben habe, und dies ist das andere Projekt. Es erlaubte mir also,
eine andere Instanz des Holzschnitts zu erstellen eine andere Instanz des ,
das nicht
projiziert wird, es ist erlaubt. Dies ist also eine Instanz
der Koordinate, in der ich eine andere Instanz
auf dem Codon gestartet
habe ,
indem ich darauf doppelklickt,
ich wurde nicht gespeichert. Instanz läuft.
Bundesstaat gestartet. Nein. Das Projekt für den Kunden. Klicken Sie also auf Datei und
wählen Sie Neues Projekt aus. Klicken Sie als Team auf
Konsolenanwendungsschritte, damit Sie zwei
dentale cplusplus ausgewählt haben. Klicken Sie auf Weiter, geben Sie
Socket-Programmierung an. Klicken Sie dann auf Weiter. Klicken Sie auf. Es wird ein
Standard-HelloWorld-Programm für Sie abgeben. Also habe ich bereits ein
Gliederungsprogramm geschrieben und kopiere einfach Paste hier und erkläre dir
zeilenweise Anweisungen. Ich habe eine Kopie hier eingefügt. Clientseitige Codierung ist
sehr eine CDF, um einfach zu verbinden. Wir werden es in nur einer Sekunde sehen. Lassen Sie mich die
Schriftgröße erhöhen, damit Sie Sie sehen werden. Lassen Sie mich das schließen
, damit Sie die
Anweisungen, die ich erwähne,
klarer sehen können . Das ist das Linienprogramm. Wir hatten
jedoch die Kreditakten erwähnt. Da wir es verwenden,
tun wir für das
Windows-Betriebssystem. Auch hier ist die
Hauptfunktion, die Sie kennen, ein Einstiegspunkt, um mit der
Ausführung eines Programms zu beginnen. Sie müssen den
Code hier selbst ablegen. Obwohl Sie
Ihren Funktionsmodulo erstellen können, können
Sie
all diese Dinge einfach
in einer Funktion definieren all diese Dinge einfach
in einer Funktion und Sie können diese Funktion aufrufen, aber immer von der
mittleren Funktion auf new, Sie müssen sich fragen Funktion einfach Jahr Ich habe den Code gemacht. Ich weiß, dass du ein Metall bist. Diese WAC-Daten, die
ich Ihnen bereits gesagt habe, diese Struktur ist ein zweites
Argument in diesem WSS-Startup, wir wissen, was WSS gestapelt ist. Es wird verwendet, um
sie und die Socket Library zu initialisieren. Im ersten Argument teilt
das Programm mit, welche Version
der Wind-Socket-Bibliothek
Sie verwenden möchten. Da wir es benutzen müssen, wollte ich 2 Version verwenden
Ich bin Socket-Bibliothek. Dies ist ein falsches Argument und zweite Argument
ist die Struktur. Diese Startfunktion füllt
diese Struktur aus, in der Devin
Socket Library übergeben werden könnte. Ich werde die Mitteilung
über eine politische Information senden . Es wird an
dieses Programm gesendet wie viele
Sockets in anderen Informationen
erstellt werden können .
Diese Struktur kann eingespeist werden, wenn wir den Bluesy-Startup aufrufen. Diese Struktur haben wir deklariert, die Variable
der Struktur
auf diese Weise
deklariert , WSU-Daten. Jetzt ist das zweite
Objekt, das wir erstellen, für den Socket. Seit mir würde ich aufgerufen werden, einen Socket auf
der Clientseite zu
erstellen und daher VR in ihrer
Erstellung darauf verfügbar. Und dann erstellen wir
das Video davor aber auch strukturieren wir, weil wir die Bestelldetails weitergeben werden. Wir waren die IP-Adresse und die Portnummer, mit der sich der
Client verbinden sollte. Es sollte eine Verbindung
zum Server herstellen. Also müssen wir
das auf die IP-Adresse schreiben. Also in unserem Fall,
da wir
den Server und den Client auf
demselben Host-Computer ausführen. Die Clientseite
sollte sich also mit
dem lokalen Boost verbinden ,
da auf dem lokalen
Host auf demselben Host-Computer die
gleiche Maschine war, da die Clientel eine Oberfläche ausgeführt
werden muss. Und weil wir
sieben und Client auf demselben
Host-Computer ausführen , können
wir daher einfach
die IP-Adresse auf
demselben Host-Computer angeben , der eine Lücke ist und bearbeiten
möchte. Der Client ist kein
Eingabeserver, auf dem angegeben
wird, dass Sie
dieselbe Portnummer angeben müssen, auf
die der Server hört. Jetzt folge ich
der Socket-Funktion. hatten wir. Ich denke, das erste Argument
, das ich Ihnen bereits gesagt habe
, ist eine
Internetadressfamilie. Und zweitens ist
der Socket-Typ-Stream. Steam ist ein unzuverlässiger
Typ des Sockels und alle Details über
den Sockel, den wir in den Socket-Grundlagen
gesehen hatten ,
was sind die Funktionen? Dieser Gensockel ist zuverlässig. Eine, richtig, ist zuverlässig. Alles was ich erwähnt habe. Und dann ist das dritte
ein Kommunikationsprotokoll
und der Stream verwendet eine PCB-Standardeinstellung ist 0 Wert. Jetzt gibt dieser Socket
einen Deskriptor an diesen Socket zurück. Deskriptor,
in dem Sie sich befinden , wenn Sie
die übergeordnete Funktion gekauft haben, finden Sie Pausen. Als Argument dafür ist
dieser Socket-Deskriptor menschliche
Vergangenheit im Gegensatz zu Argumenten. Was bedeuten diese drei Dinge? Auch hier möchten Sie, da der Client eine
Verbindung zum Server herstellt. Kunden, die geneigt sind, müssen
wir
all diese Details über
die IP-Adresse und
die Portnummer ausfüllen all diese Details über . Da ich Ihnen
diesen Server und Client bereits gesagt habe, möchten
wir über
das alles kommunizieren , wenn wir die
gleiche Host-Maschine im einzelnen Laptop haben, Single-Deck-Piste selbst. Wir wollen keinen Remote-Host, wir wollen keine Laptops, zerebralen Kunden und
Lernen. Ich werde gleichgültig. Verschiedene Laptops wissen, dass
wir programmieren und
denselben Host-Computer und gespeicherten
Computer selbst machen und daher, welche IP-Adresse Sie auf
der Linienseite angeben
werden , wollen
wir einfach Diabetes
der lokaler Host, da lokale Host
zum Hinzufügen des Clients
Quellserver ausführt , auf denen Quanten
ausgeführt werden, die auf demselben Host ausgeführt werden. Wenn Sie auf diese Weise erhalten, bedeutet
dies keine Hinterkanten. Ich habe Ihnen erklärt, dass
es auch
in der früheren Sitzung bedeutet, dass es sich mit
der lokalen Host-IP-Adresse
der lokalen Nachrichten verbindet , was auch immer wir das lösen
müssen. Und dann geben wir
diese Adressfamilie und da wir einen Überblick darüber haben, was die
Portnummer 45555 und das Depo
hört, geben
wir
dieselbe Portnummer an. Wenn Sie eine
andere Portnummer erwähnt hätten. Sie haben
diese Portnummer
hier nicht erwähnt, die auf der Clientseite steht. Dann rufen wir
die Connect-Funktion auf. Connect-Funktion. Wir übergeben dieses
erste Argument als diesen Socket-Deskriptor
, den wir davon erhalten haben. Und dann in diesem
Socket-Deskriptor, dann
übergeben wir diese Struktur, dann Größe davon, nur
auf der Clientseite, müssen
wir die
Disconnect-Funktion aufrufen. Und sobald der Client
die Connect-Funktion aufruft und der Server diese Verbindung
akzeptiert hat, kann die Kommunikation
von Server zu Client, Client zu Server erfolgen. Broadway-Kommunikation
kann passieren. Also hier schicke ich es einfach. Sie können auch die
Empfangsfunktion aufrufen. Aber ich hatte es sehr einfach gemacht, indem es auf beiden
Seiten
aufrief. Also sende ich diese mentale Map, sende diese Hello You Wahnsinnsfunktion und übergebe
diese beschreibende selbst, und übergebe sie dann gepuffert, ich habe
den Wert initialisiert, der hallo ist. Und dann die Höhe der Schulden. Dann schließe ich die Socket
Cleanup, die wir gesehen haben. Das ist es. Um den
Socket im Falle von Windows zu schließen, rufen
wir diese beiden
Dinge an Ressourcen auf. All diese Dinge
sind also erforderlich, um
die Socket-Verbindung
im Falle von Windows zu schließen , um
die Socket-Verbindung
im Falle von Windows Ich habe Ihnen erklärt, was der Zweck der
Bereinigung
ist und so ist dies die
gesamte Produktlinie . Oder lassen Sie mich diesen
Code kompilieren klicken Sie jetzt auf Build, das übergeordnete Element, keine Pfeile. Also denke ich, ich sollte
den Verknüpfungsfehler bekommen ,
da ich
kein Verknüpfungs-Setup gemacht habe, um mit der Bibliothek
zu verknüpfen, wenn 32, dein Build und Run. Okay, das habe ich schon
getan, das ist der Grund. Nur eine Sekunde. Lassen Sie mich die gesetzlich festgelegten
Einstellungen durchkreuzen. Okay, diese Bibliothek wurde
bereits hinzugefügt. Eigentlich erstellen wir
das Neue und wir erstellen die neue Instanz. Diese Einstellungen sind bereits nicht der Fall. Das ist also ein Grund,
warum du es nicht verknüpft hast. Okay? Also hast du hier eine Ausgabe. Diese 2 Sekunde, diesen Client, haben
wir Launch-Client. Jetzt können Sie sehen, dass wir
die allererste Nachricht erhalten haben , die mit dem Server verbunden
ist. Diese Nachricht wird angezeigt, sobald die Clientseite die Verbindung
sendet, und sobald der Server eine Verbindung
akzeptiert hat, wird diese
Nachricht nur mit dem Server verbunden. Was also passiert, ist die Verbindung so
akzeptiert. Sie haben also diese
allererste Nachricht aus Großbritannien. Neun, es ist mit der Seite verbunden
. Dann geben wir an der Seite einer Kundenseite diese Nachricht
weiter Hallo. Der Client sendet
diese Nachricht hallo und wir haben die gesamte
Empfangsfunktion vom Server. Also sollte es diese
Nachricht beenden und sie ausdrucken. Diese Nachricht, die wir haben, senden
wir tatsächlich
von der Kundenseite. Wir senden dies als
Hallo und unentscheidbare Seite. Lass mich den
serverseitigen Code öffnen. Dies ist ein serverseitiger Code. Es erhält die
Nachricht vom Client, also wird sie auf der Schnalle gesammelt und wir drucken sie auf
die Seitenwandzytometrie, siehe die Konsole auf
der Serverseite. Wenn Sie also die
serverseitige Konsole sehen, sehen
Sie,
dass der Client getrennt ist. Es besagt, dass Net Client sagt, dass Hallo Quellen schneller abnehmen. Hallo Nachricht, die wir gesehen haben und die wird serverseitig empfangen
. Und weil ich sagte, Virus hat, aber in der Tat diese Nachricht
auf der Konsole, wie Löwe sagt Hallo, siehe in dem Dienst, den ich eingestellt wurde. Was auch immer es hier erhalten hat, es wurde in Buffalo verbunden
und dann wird es gedruckt. Hier sieht der Kunde, welches
Angebot absteigend ist. Hallo Dakota, es ist auf dieser Seite
gedruckt. Deshalb
hast du Hallo bekommen. So haben Sie möglicherweise gesehen wie der Client mit dem Server
verbunden ist. Und ich denke, dass der Server eine
Verbindung zum Server weitergibt, akzeptiert der
Server es. Und dann
sendet der Client die Nachricht und schreibt die gesendete
Nachrichtennachricht. Und dann wird
diese Nachricht empfangen , die besagt,
dass die Zeile Hallo gesagt
hat, und dann
trennen wir
die Verbindung zu dem, dann wird der Client getrennt, und dann
trennen wir
die Verbindung zu dem, dann wird der Client getrennt,
weil wir angerufen haben. Es hängt davon ab, wie Sie die Bearbeitung
ausgeführt haben ,
Ihre Programmcodierung. Wir haben seitdem
den Socket dieses Clients geschlossen, daher
wurde er getrennt. Denken Sie jedoch immer daran, dass
Sie
den Socket für den Server nicht schließen und einem Analysten
mitteilen können, dass Sie den Socket
nicht schließen, den Client, da Server
auf einem Server, mit dem sich der
gesamte Client verbinden
wird. Es scheint kein Dämon zu sein. So haben wir
die Kommunikation
des Socket Sidewalk Nine für
Windows-Betriebssystem gesehen . Ich sage dir, dass du verschwunden gekauft hast. Sie haben es verstanden und er
hatte die Durchführung
des Vortrags gesehen .
Ich bin vorerst fertig. Danke. Danke vielmals.
12. Socket Session8 ProgramExecution Server-Client Linux C Teil 1: Willkommen zu dieser neuen Sitzung zur Socket-Programmierung für Linux. Also hier in dieser Sitzung habe
ich den Code für
die Linux-Systemseite
unserer
Client-Socket-Programmierung geschrieben die Linux-Systemseite
unserer und wir werden ihn auch ausführen. In der früheren Sitzung haben
wir das Programm sowohl
für den Server
als auch den Client mit C
plus was Windows geschrieben . Und wir haben gesehen, wie man
ein neues Projekt in der IDE erstellt, in der Block-ID für Windows und mehrere Setups
sind vorher erforderlich, die das
Programm für Cyberkriminalität
begleiten und ausführen. Wir haben es gesehen und wir
haben es ausgeführt. Wir haben die
Kommunikations-Bürgersteiglinie nicht gemacht. Jetzt werden wir einen Server, eine
Client-Socket-Programmierung in Linux, ein
VM Linux-System
mit C-Sprache machen Client-Socket-Programmierung in Linux, , und wir werden
es auch vor der Sitzung ausführen. Wir haben auch einen
Sterblichkeitsunterschied in
den Methoden für
Windows und Linux gesehen oder nicht . Und dann mit einem sehr
minimalen Unterschied und richten Sie ein, welche Änderungen für die Schaltung
erforderlich sind. Wir haben die
Präsentation durchgegangen und erklären Ihnen. Siehe praktische Ratschläge. Fangen wir hier an. Das erste Setup ist
erforderlich, dass Sie
sicherstellen müssen, dass Sie in Ihrem Fall kein gültiges
Indexsystem haben. Und da wir
das Programm machen werden,
müssen Sie keine Codeblock-ID installieren. Hier gibt es also Möglichkeiten, wie
Sie Ihr Programm
schreiben können wenn Sie das Dui-Fenster verwenden möchten Sie können es installieren. Ich habe eine einfache
Eingabeaufforderung benutzt. Welche anderen Dinge
sind
standardmäßig in Linux verfügbar oder
haben Sie sich selbst gestartet, ich muss
nichts Notwendiges installieren , denn
schon für Linux, wenn Sie direkt über die
Linears sprechen, Sie können zur
Eingabeaufforderung wechseln. Wenn Sie GCC installiert haben, erhalten Sie diesen GCC
standardmäßig. Gcc ist ein Tool, um
Ihr Programm zu kompilieren. Und Sie können auch jede Ausgabe
ausführen, die
Sie erhalten werden. Sie können es direkt ausführen. Der Halter, diese
Ausgabe, die geschaffen wurde. Also zeige ich
dir alles
Schritt für Schritt. Auch. In meinem Fall habe ich Ihnen
diese Maschinen gezeigt, da ich diesen Laptop
für die Window-Maschine konfiguriert
habe, ich habe nicht genug. Aber wer bringt dich dazu zu erklären? Für wen hast du den Code geschrieben? Server, Client oder Linux? Ich habe auch in
meinem Windows-System selbst installiert oder die Linux-VM getroffen. Also betten wir ein, Sie
wissen vielleicht , dass es sich um eine virtuelle Maschine handelt. Wenn Sie
hier ein anderes
Betriebssystem haben ,
habe ich in meinem Fall Windows, aber ich
möchte auch das
Programm für die Lena schreiben. Wenn Sie also eine
Cross-Compilierung wünschen, wenn Sie einem anderen
Betriebssystem schulden, das Sie möchten, müssen
Sie das Programm schreiben. Sie können VirtualBox direkt
installieren. Und von dort aus können Sie schreiben, Sie können das ISO-,
ISO-Image für das gewünschte
Betriebssystem herunterladen . Warum also meinen Fall wollte ich
für das Linux-System, weil ich Ihnen Socket-Server,
Clientcodekommunikation
und Ausführung unter Linux
erklären wollte . Und ich habe bereits
Windows-Bericht. Ich habe ISO für Lena
bisher heruntergeladen , es ist nichts,
was benötigt wird. Sie haben ein Linux-System. Sie können den Code direkt schreiben. Sie werden
die Kommunisten über das Linux-System
entscheiden lassen .
Ich hab Fenster. Aber um das
Programm für Leaners auszuführen, muss
ich
die VirtualBox installieren. Denken Sie nur daran,
dass Sie den Linux-Computer haben. Selbst wenn Sie VirtualBox
installieren, Sie das Image dafür herunterladen
,
wenn
Sie kein Linux haben können Sie das Image dafür herunterladen
,
wenn
Sie kein Linux haben. Und wenn Sie Ihre
Maschine linearer konfiguriert haben, ist
dies einfach. Denken Sie also auch hier daran,
dass Sie Bauch für
die Linux-Maschine haben. Sie werden
standardmäßig Determinanten haben. Mal sehen, wie es geht. Sehen wir uns also die Vorschau an, was Sie in dieser Sitzung
behandeln werden. Es gibt verschiedene
Socket-Methoden anderer Server, nur
um sie zu wiederholen und zu verzeichnen. Es erstellt Socket. Auf der Serverseite muss man einen Socket
erstellen, dann musst
du suchen. All diese Methoden
sind also für die Fenster üblich,
nur für den Fall, dass Sie sehen
können, dass es sich um nur für den Fall, dass Sie sehen
können, dass es eine Methode handelt, die
im Fall von Venus nicht vorhanden ist, dh wx, eine Methode
WSS-Datenfunktion. Diese Funktion war bei NAEP oder
dem Windows-Computercode
tot dem Windows-Computercode sowie für den
Client würde wetten. Alinas, ich habe bereits
erwähnt, dass WAS-Startup, Startfunktion, die
erforderlich ist , um
die gezielte
Bibliothek zu initialisieren , nicht vorhanden ist, im Falle dieser Linux-Maschine
, die nur der Unterschied. Und diese anderen Funktionen , die es gibt, sind fast gleich. Nur dieser Teil
trennt Ninas. Die Syntax wird
anders sein und es gibt einen gewissen strukturellen Unterschied.
Also zeige ich es dir. Wenn die
Client-Socket-Methoden erneut, ist
die gleiche
WAS-Datenfunktion nicht vorhanden, was spezifisch für Windows ist. Das heißt, einen Socket zu erstellen, Verbindung zum Server herzustellen und Daten zu
empfangen und
dann die Verbindung zu trennen. Dann kennen die Methoden und
strukturierten Daten spezifisch, neu, spezifisch für die Linnaeus WSS Startup Funktion
mit Linux, was ich Ihnen gesagt habe, dass dies in Windows gemacht
wurde, dann
ist die Schließfunktion auch anders. Im Falle von Linux muss
der Sowjet einfach die Close-Funktion
aufrufen. Aber im Falle von Windows haben wir gesehen, dass wir Socket anrufen müssen. Und das ist auch, als würde Nina den Sockel
trennen müssen. All diese Funktion war also
nur für die Windows-Plattform vorhanden. Im Falle des Linux
haben wir die Offenlegungsfunktion. Dann ist der Typ des
Socket-Deskriptors, der durch Aufrufen der
Socket-Funktion
zurückgegeben wird , anders. Wenn wir also
die Socket-Funktion sowohl
im Server als auch im Client aufrufen , so dass sie
Socket-Deskriptor im
Fenster zurückgibt , war es der gleiche Typ
von Socket-Deskriptor ist im Falle einer
linearen Rückgabe im Typ unterschiedlich. Und in diesem Fall gibt
Windows oft Socket zurück. Hier, wenn wir das Programm schreiben, werden
Sie verstehen, dass ich es
gerade getan habe oder was Sie haben, ich habe
sie gerade alle für Sie aufgeschrieben. Dann gibt es etwas anderes. Dieser
Socket-Adressstrukturtyp ist anders wenn es dort etwas enge
Unterschiede gibt. Es gibt dieselben Methoden oder
Datentyp. Spezifisch für Linux? Da dieser Sockel- oder
Destrukturtyp unterschiedlich ist. Also diese Aktie, Sie wissen, dass diese
Socket-Adressstruktur, was wir hier tun, Sie mit
den Details der IP-Adresse
sowie der Portnummer füllen . Da ist das anders. Daher wissen Sie,
dass Produkt- oder Dienstleistungsidee die
Textfunktion aufruft. In diesem Fall, außer durch eine Funktion verwenden wir diesen
Archetyp, diese Struktur. Da der Typ also
anders ist, ändert sich
dies
in der Exit-Funktion auch für die
Clientseite, die wir Connect aufrufen. Also verwenden wir diese
Socket-Adressstruktur. Das wird also anders sein. Der Typ wird anders sein eine Socket-ID stumm geschlagen wurde, es verwendet es ionische Funktion. Selbst wenn sie
das Schreiben des Programms teilen, sich
keine Sorgen darüber, dann
werden die Header-Dateien, die
für das Linux benötigt werden, im Vergleich zu
denen der Windows
unterschiedlich sein . Nun, diese anderen Unterschiede, beginnen wir
jetzt, das Programm oder
den Servercode und die
Client-Port-Socket-Programmierung in Linux zu
schreiben Servercode und die
Client-Port-Socket-Programmierung . Wieder, du bist schon raus, ich gehe davon aus,
dass du hier ein
Linux-System hast und
du bist dabei, einen Code zu schreiben. Also habe ich es flexibel gemacht. Ich übernehme hier
jedes einzelne Ding. Selbst wenn Sie
den Programmierprozess für die
Socket-Programmierung
der Bewerbung für Windows schreiben , können
Sie auf die
frühere Sitzung verweisen und wenn Sie
den Linux-Computer haben, können
Sie die Sitzung aufzeichnen. Für Windows haben sich also auch Programmierung
und Ausführung sowie vier
Einheiten und Publizieren
behandelt ,
so dass Sie in 14 den
Code für
verschiedene, andere Maschinen schreiben oder mit denen Sie
sich vertraut machen es Das ist der Grund, warum ich einen Unterschied
erwähnt habe und der Code dazu bringt,
den Unterschied im IQ zu verstehen. Fangen wir an. Ich werde meine Dominante
der Dominanten öffnen und wir
schreiben den Code. Lasst uns aufmachen. Lass mich einfach
ihr persönliches schreiben. Okay. Dies ist meine Dominante der VM. Lass mich zurückgehen. Also nehme ich an, dass Sie möchten, wenn Sie den Linux-Computer des
Code-Boardroom starten, kennen
Sie die Befehle. Dies ist, als ob Sie mit Windows
vertraut sind, können
Sie zur Audiositzung gehen. Und wenn Sie es sind, möchten Sie ein Programm für Linux
schreiben, sollten
Sie sich
grundlegender Dinge wie ls bewusst sein. Was macht Ls? In Linux
verwenden wir hauptsächlich diese Eingabeaufforderung. Das ist unser Terminal.
Eigentlich habe ich es geöffnet. Sie können den Namen dominant sehen. Und ich solltest einfach
grundlegende Befehle im
Linux kennen, wenn du den Code hier schreiben
willst, wenn du
verstehen willst, wie zum früheren
Verzeichnis zurückkehren oder
was anzeigen kannst Einstein hat uns ein
bestimmtes Verzeichnis mitgeteilt. Also bin ich, und du kannst meinen PWD sehen, Dies ist mein Teil, der mein Name ist. Und ich habe den Ordnernamen
durch die MKDIR-Socket-Programmierung aktualisiert . Und hier, wenn ich es tue und ich bereits
den Code für Socket geschrieben habe, kann Socket
mehrere Gericht koordinieren. Also öffne ich diesen Code
für Sie in diesem Formular. Das sind zwei von uns. Anstatt
C-Dateien zu haben, Präsident, gehe
ich durch diese Fenster und zeige Ihnen die C-Datei. Ich zeige dir jede
Anleitung, die benutzt werden. Es ist fast
ähnlich wie das des Fensters, nur ein bisschen
anders ist, dass ich es nicht
tue, ich möchte nicht jede
Anweisung neun mal neun anfangen,
Internet zu schreiben , also habe ich schon hier geschrieben. Ich möchte keine
Zeit verschwenden und es schreiben. Sie werden es bereits
satt haben, weil fast alles
diesem spezifischen
Funktionsunterschied, dem
strukturierten Unterschied und einer
100 verschiedenen Verteidigungsmechanismen ähnelt diesem spezifischen
Funktionsunterschied, strukturierten Unterschied und einer . Dieses Ls. Um mit
dem Servercode zu beginnen, lass mich diesen Ordner öffnen. Im SOC Server Update Punkt
c. Nun, wie man diese Datei
mit dieser Dominante öffnet , kann ich
direkt von VI über
Update Dot
c
öffnen. Ich kann diese Datei direkt auf diese Weise öffnen. Sie können sehen, dass dies der
Code für den Servercode ist. Ich bringe dich dazu, es zu erklären. Selbst wenn Sie den Notepad
durchsehen möchten, können
Sie in den
Ordner gehen und Sie können
Ihre Socket-Programmierung gehen , die ich
erstellt habe , und das ist
irgendwie vertikal. Sie können es direkt öffnen. Entweder kannst du auf diese
Weise öffnen. Dies ist derselbe Pot
oder können Sie sich beziehen , der jeden Fuß dominiert. Also kannst du irgendwas gehen? Ich glaube schon. Was ist Stimmung, wie kann man haben? Das ist also klarer
, du kannst hier sehen, also lass es mich
im Notepad selbst öffnen. Dieses Dokument selbst. Zunächst einmal erkläre
ich Ihnen, wie Sie es für meine Schüler
zusammenstellen können. Sehen Sie sich das Programm an, diese Header-Dateien habe ich Sie
bereits erwähnt. Dies ist zuallererst der
Servercode für die Lena's. Mir wurde bereits
der Unterschied in
den Header-Dateien für Linux und für das Windows und
die frühere Sitzung gesagt. Wenn Sie es nicht durchgemacht haben, sollten
Sie
es durchgehen, um mehr einfache Anführungszeichen zu erhalten. Das sind also die versteckten
Dateien, die für das Linux verwendet werden, was für eine Socket-Programmierung. Sie können später überqueren. Dann. Dies ist eine Hauptfunktion. Hier selbst werden wir also
eine Hauptfunktion haben , in der wir unseren Code geschrieben
haben. Also habe ich dir gesagt diese Hauptfunktion ein
Einstiegspunkt ist, um zu beginnen. Es ist ein Einstiegspunkt, um
eine Ausführung Ihres Programms zu starten . Wann immer Ihr
Programm ausgeführt wird, das in
dieser Hauptfunktion sehr schnell kommt und was auch immer oder Sie hier schreiben, wird Zeile für Zeile ausgeführt. Mal sehen,
was wir getan haben. Sie können also hier sehen, dass es zwei Variablen nach
Nameserver und Client gibt, und ich habe auf 0 initialisiert. Sein Datentyp ist Integer. Das ist
tatsächlich ein Unterschied, der hier ist. Sie können hier sehen, dies sind
Linux-spezifische Datenanbietervariablen, Server und Client
werden hier selbst verwendet. Dies ist also der
Socket-Deskriptor. Also habe ich dir in
dieser Präsentation gesagt, dann nennen wir die Socket-Funktion
den Socket-Deskriptor , den Besucher zurückgegeben haben. Sein Datentyp ist anders. Es ist ein
digitaler Typ für den Fall unter Linux, aber im Falle von Windows hatte
er es als
ihre Typen Socket,
Capital SOC, QE2-Socket gesehen . Ich hoffe also,
dass Sie diese Sitzung durchlaufen , wenn Sie spezifisch für Windows
sein möchten. Das ist also ein Dollar. Dies sind die Deskriptoren. Also auf mich, mein
Socket handle nur Deskriptor. Sie arbeiten an der
Buchsenröhre und rufen die verschiedenen
Funktionen wie Kaufen,
Hören, Verlassen in der Platine auf. Sie verwenden diesen
Adobe-Ursache-Socket-Deskriptor für den Server. Dieser Datentyp ist anders. Auch
hier habe ich Ihnen gesagt, dass die Adresse der
Socket-Struktur anders ist. Sie können also sehen, dass
wir struct schreiben. Dies ist diese Art von Struktur. Wir erstellen die
Variable davon. Das ist Server ADD
in dieser Milliarde USA. Dies ist auch Linux-spezifisch. Dies ist anders, wenn Sie mit dem der Fenster
vergleichen. Jetzt hier, diese Struktur, mit der
sie gefüllt ist,
hat so viele Mitglieder darin. Also habe ich dir gesagt, dass
meine Zerwürfe in der
verwendet werden , denn was an der
Seite unserer Seite passiert ist, habe ich dir gesagt, dass wir zwei haben. Falls einer, Server- und
Clientkommunikation stattfinden soll. Wir müssen den
Kauf der Sidebar kosten. Wenn Sie den Code für den
Server schreiben, sollte er für die Seitenleiste an eine bestimmte
IP-Adresse und Portnummer gebunden werden. Sobald wir das gebunden haben, bedeutet das, dass der Client
in diesem Fall eine Verbindung
zum Server herstellen möchte. Wie ich tatsächlich verstehe was die Seitwärtsseite ist,
die
wir hatten, ist der Server, indem er einfach
darüber nachdenkt, mit der IP-Adresse,
wo er auch kauft, sowie der Portnummer. Daher ist der
Grund, warum wir es tun müssen, wenn wir
den Server schreiben oder Sie ihn an
IP-Adresse und Portnummern binden
sollten. Intimer Client möchte
sich mit dem Server verbinden. Es wird eine Verbindung herstellen,
es wird mit der gleichen
IP-Adresse und Portnummer
sinken, um die
Kommunikation mit ihm zu reduzieren , so dass dies hier ist, was
wir Kursleiter tun, die Serveradresse, die wir
füllen die Struktur, an die sich die IP-Adresse und die Portnummer
bezieht, an die sich der Server binden wird. Daher nennt diese Funktion es wie ich es in der Audiositzung ausführlich
erklärt habe. Und ich habe die
Methoden bekommen, die für die Einheiten und für
die Fenster mit
Diskussionsgesang mit einem Port
verwendet werden für die Einheiten und für
die Fenster mit
Diskussionsgesang mit einem Port
verwendet . Ich habe auch die Sitzung durchlaufen.
Jetzt. Sie können sehen, dass ich
diesen IN ADD oder einen
Unterstrich geschrieben habe und Sie haben Ihnen
das Gleiche
erklärt, wenn es
auch für Windows
gesperrt ist , was macht es? Dies bedeutet, dass es an
alle
Netzwerkschnittstellen gebunden ist , die auf dem Host-Computer
vorhanden sind , auf
dem der Server läuft. Das heißt also, wenn Sie mit dem Land
verbunden sind, wird
es eine
andere IP-Adresse haben. Das ist also eine
Netzwerkschnittstelle. Wenn Sie mit WLAN verbunden sind, hat
es eine andere
IP-Adresse und das sind verschiedene
Netzwerkschnittstellen. Ihre Seitenleiste bindet also an eine der seltsamen
Netzwerkschnittstellen, was auch immer Sie auf Ihrem Computer verwenden
, die Weisheit auf diesem Computer dem Sie unseren Server
betreiben. Es bedeutet also,
dass wir
dies
zuweisen, damit wir diese Variable angeben. Und dann fügen wir das Schreiben
der Portnummern hinzu. Kämpfen Sie alle Zeiten gegen
diese Portnummer. Sie können also alle Zahlen
, die größer als
102465 sind, um drei Pi verwenden 102465 sind, um drei Pi da sie
immer noch 1024 bereits belegt sind. Wenn Sie also eine
Portnummer verwenden, die größer als 1024 ist, verwenden Sie die Portnummer für die
Seitenleiste, an die sie gebunden werden soll. Für die Thrombus-Denkweise müssen
Sie sich mit
derselben Portnummer verbinden. Und das ist eine
Familienanschrift Familie. Also deine Luft drin. Da wir also
IPv4 verwenden, standardmäßig, wenn ich Ion unterstrichen habe und dies ist die Bind-Funktion.
Wir benutzen es. Dies, wir analysieren
diese Festplattenseite des Eye Socket Deskriptors. Und dann passieren wir diese Struktur, bei der
wir scheitern. Sie müssen
diese Struktur hier aufbauen. Wir geben Ihr
TO-Typecasting an diese
Typen weiter und aktualisieren dies. Dann erwähnen wir die
Größe dieser Struktur. Dann rufen wir
die Listen-Funktion auf. So können wir sehen, dass die gleichen
Funktionen für
das Linux vorhanden sind , auch nur geben Sie
Unterschiede ein, die es im
Typ-Socket-Handle-Menü
zurückgibt. Auch hier
wird es im ersten Argument beim Übergeben
dieses Socket-Handles
zuhören . In der zweiten, wie viele
Zahlen Sie in
der Warteschlange für die
Verbindungsanfragen
für verschiedene Zeilen haben möchten der Warteschlange für die . Also hier, seit 0, möchte
ich nicht, dass eine andere
Clientverbindung in der Warteschlange ist,
also habe ich 0 geschrieben. Sie können Ihren Code
je nach
Anforderung ändern menschliche Poesie
und Aktion des
Kunden, um in der Tube zu sein. Der aktuelle wird ausgeführt. Gib nochmal,
gib diese Nummer an. Du wirst zuhören. Hören Sie bedeutet, dass er sich diesen Socket
anhört. Dann
drucken wir hier die Nachricht von der Seite an Seite, die auf eingehende Verbindungen wartet.
13. Socket Session8 ProgramExecution Server-Client Information C Teil 2: Ich deklariere eine Variable. Ich bin, das ist ein String-Typ,
weil es sich um ein Zeichen-Array handelt. Hier in der Exit-Funktion rufe
ich die Exit-Funktion auf. Sobald die Website
eines Brötchen abgelehnt hat, senden Sie eine Anfrage an den Server. Es wird es akzeptieren und
bedeutete, dass es akzeptiert wurde. Was auch immer gepostet wird, wir werden denselben
Socket-Handle übergeben,
den wir
von diesem Socket erhalten haben. Und die Struktur hier, hier
initialisieren wir als null und null. Hier wird es wieder beschreibend
angewendet. Hier wird dies anders sein
als das der Rechten. Wie ich auch erwähnt habe,
das Socket-Handle, das von der Socket-Funktion
zurückgegeben wird. Es wird so verwendet, dass
es die Verbindung
von der Clientseite aus akzeptiert. Während dieses Socket-Handle, das zurückgegeben wird, außer dass es Lese- und Schreibvorgänge vom Netzwerk,
dem Client, ausgeführt wird. Beide
werden also anders sein. Eine Verwendung für den
verschiedenen Zweck und auch sie sind unterschiedlich. Also dieser Socket-Deskriptor
, den wir bekommen,
wird verwandt sein, vielleicht hat er die
Daten des Clients. Selbst wenn Sie eine
unabhängige Art und Weise verwenden können, sind
Sie hier und ich
werde lesen. Client verwendet also den gleichen Boardentyp , den wir von Windows
aus gesehen haben. Der Kunde sendet eine
Nachricht, sag Hallo. Und dann ist das der Satz von seltsam. Es wird Spin sein, es akzeptiert die
Verbindung von Dr. Lines, und es wird die Essays
von dem
lesen , was der
Kunde an ihn gesendet hat. Also hier
rufen wir die Funktion auf. Hier verwenden wir
die Lesefunktion. Wenn der Client beschreibend
und dieser Puffer. Hier haben wir diese Variable bereits
deklariert und jeder von Kunden festgelegte Sinn wird
in diesem Puffer gesammelt, und dies sind die Größen, die
Sie erwähnen. Dann habe ich diese Schnalle ausgedruckt. Das ist die Botschaft, die absteigend
zurückging. Dann sagte mm, aber
damit 00 diese Schnalle. Jetzt
schließe ich den Socket, der für den Client vorhanden
ist, und dann wird der Client getrennt. Sie verstehen also, was wir mit Ausnahme der Funktion
vergeben, was es zurückgibt schwer im Zusammenhang mit
Backplane-Socket. Nach der Verwendung
trenne ich es. Das ist es, was wir tun. In allem sind die
Dinge also alle ähnlich. Hat diese Prado
Windows-Maschine, die wir gesehen haben? Dies ist der Code für
die Serverseite. Jetzt. Entschuldigung. Oh tut mir leid. Dies ist ein
altes Vorurteil für Overboard. Lasst mich ihre Dominante öffnen. Ja. Dies ist der Code, ich hoffe, Sie sind sich
dieser Befehle bewusst, was bedeutet, Sie diesen Editor VIM verwenden können, und Sie können die Datei öffnen. Diese Linears kommen also an. Ich nehme an, dass Sie sich
dessen bewusst sind, ob Sie
das Programm unter Linux schreiben. Und alle Methoden, die ich dir
erklärt habe, die spezifisch für die Server
sind, also kompilieren wir sie, aber schauen wir uns an, wie man diesen Code
kompiliert. Wir müssen diesen
GCC benutzen, also habe ich nichts auf
diesem Linux-Computer installiert. Also wirklich dieser GCC, Es ist ein grundlegendes Compiler-Tool
zum Kompilieren des C-Programms, direkt verfügbar,
wenn Sie installieren. Wann immer Sie
einen Linux-Computer haben, haben
Sie diesen grundlegenden GCC, der
angenehm ist, damit
Sie den Code kompilieren können. Gcc, Sie können den C-Code kompilieren. Ich habe nicht alles geschrieben, gib
einfach gcc file ein, was ich dir gezeigt habe,
was der Servercode ist, wie man es
im Befehl von
GCC kompiliert und dann diesen Namen
der Datei und des Knöchels. Wenn ich es tue, kannst du sehen, dass es einen Punkt
geschaffen hat
, dass dies meins ist. Nach dem Kompilieren des
Codes, der bekommen hatte. Um es zu starten, renne ich
einfach nicht. Lassen Sie mich Ihnen jetzt zeigen
, was der Kundencode ist. Nun auch eine Sache, die
ich Ihnen erklärt habe wann immer Sie
die Socket-Programmierung
zwischen Server und Client durchführen müssen, wie haben Sie was gemacht?
Der Windows-Computer. Wenn Sie Videos,
die Holzschnitt-IDE, verwenden, dachte
ich, Sie würden
nicht in dieser einen IDE, Holzblock-ID, wissen
Sie, Sie können nicht 22 Decks,
ein Projekt und
eine Produktlinie erstellen . Und Sie können
die Kommunikation
zwischen ihnen nicht durchführen , wenn Sie
dies auf demselben Host-Computer tun möchten, wenn Sie diese Kommunikation
zwischen Server und Client auf
demselben Host-Computer durchführen möchten, dann ist das dieselbe Maschine. Dann müssen Sie
den Zufall
der Holzschnitt-ID im Falle
von Windows öffnen , ich habe es getan, ich habe Ihnen gezeigt, dass es sich
nach oben öffnet, um Instanz, peinliche Block-ID, weil es
standardmäßig nicht zulässt
und wir haben es erstellt,
geöffnet für Instanz
der Holzblock-ID. einer Instanz haben wir
ein Projekt erstellt , geviertelt
oder Bürgersteig, und in einer anderen
Codeblock-Instanz werden wir diesem
Zeilenobjektmodellcode
erstellt. Und dann haben wir
die Socket Pflicht erfüllt. Jetzt wieder hier werde ich Ihnen diese
Socket-Server-Clientkommunikation auf
demselben Lenas Computer zeigen Socket-Server-Clientkommunikation auf . Wie ich diesen GCC verwende, verwende
ich diese Dominante, um meinen Code zu
kompilieren, um ihn auszuführen. Daher
müssen Sie kein Setup vornehmen. Du öffnest einfach ein anderes Terminal. Dies ist eine Dominante
, bei der Sie den Servercode lernen, Code für den
Server
kompilieren und ausführen. Und noch eine Dominante
werden wir Wache führen. Sobald wir den Clientcode kompiliert
haben, laufen Sie auf ein
anderes Terminal. Sie sind also zu kurz
oder offen für verschiedene,
verschiedene Kommunisten,
bei denen Sie
einen Server betreiben werden , wenn Sie immer den Server betreiben
sollten. Seitwärts sollte also immer falsch
laufen, denn das ist der wichtigste Damon. Verschiedene,
verschiedene Kunden. Das kann sich damit verbinden. Wenn Sie Solver nicht ausführen, führen
Sie den Client-Knoten aus, es ist nicht möglich ,
das wird nicht funktionieren. So traurig, was sollte zuerst laufen? Weil Client, der
sich mit dem Server verbindet, dann brauchen wir eine Kommunikation stoppt, um
irgendwie zu laufen, habe ich nicht geplant. Wir werden nominell geöffnet haben. Ich zeige Ihnen, dass Sie mich recherchieren
lassen. Ja. Sie werden das innerhalb unseres Codes in
einem anderen Terminal I-Loops ausführen. Wir werden
Beiträge sehen, den Client-Port, und dann werden wir kompilieren und dann würden Sie den Clientcode
ausführen. Aber sobald der Servercode ist, verstehen Sie
nur, dass
ein Terminal Server Core
und andere dominante ausführen wird , sind
Sie mit geneigtem Code fertig. Lasst mich eine weitere Dominante eröffnen. Dominant. Du hast diese Option. Jetzt können Sie sehen, dass
ein anderes Terminal ist, das ist ein anderes
Terminal da ist. Ich werde den Code
durchgehen. Kodiert der Clientcode. Sehen
wir uns nun den Clientcode an. Wir haben
den Servercode bereits gesehen. Auch hier ist der Clientcode
sehr kurz. Sie können hier sehen, stimmt
das mit dem Zeilencode , lassen Sie mich ihn maximieren. Dies ist nur der Clientcode. Zunächst einmal unterscheiden sich die
Header-Dateien, die Sie für
die Schulden schreiben müssen ,
von denen der Fenster. Dies sind die Header-Dateien für den Socket für
den Linux-Computer. Andererseits die Hauptfunktion,
die ein Einstiegspunkt ist. Falls ich
Ihnen gesagt habe, müssen wir einfach einen Socket erstellen und wir müssen die
Connect-Funktion aufrufen. Und dann haben wir keine Operation
geschrieben. Das ist nur der Unterschied. Das ist nur das kleine Board für den Kunden im Vergleich
zu dem des Servos. Auch hier werden wir eine Seite von Salk
schreiben. Dies ist das
Handle des Sockets, der vom Typ Integer ist
, der sich von
dem der Fenster unterscheidet. Auch hier auch die Socket-Adresse, die auch defensiv
ist und Datentyp ist. Jetzt rufen wir
die Socket-Funktion auf. Denken Sie also immer daran, wann immer wir müssen, dass
die Kommunikation zwischen Server und Client
das gleiche zweite Argument haben sollte das gleiche zweite Argument , das im
Socket übergeben wird, ist der Socket-Typ. Sie sollten
denselben Socket-Typ haben. Es kann
Typ gestreamt werden, es kann Datagramm-Stream-Windeln sein. Mit dem
TCP-Kommunikationsprotokoll ist es zuverlässig, während das Datagramm
UDP verwendet, was nicht relevant ist. Die meiste Zeit benutzt
er TCP bei mir. Beide Serviceseiten sollten normalerweise
auch
beim Erstellen eines Sockets normalerweise
auch
beim Erstellen eines Sockets vom Stream-Typ sein
. Und wenn du
hier den Stream benutzt. Beide sollten also den gleichen Typ
haben. Beide beide bis
zum Äußersten sind
beide sollten
Datagrammtyp haben , um Kommunikation
zu duktil zu erreichen, was eine
Besiedlung in Pflanzen bedeutet. Also rufen wir die
Socket-Funktion auf. Erstes Argument: Wir übergeben die
Internetadressfamilie, dann den Dipol des Socket-Streams und Lindsey Nicole, das
Kommunikationsprotokoll. Dann wird ein
Handle zum dunklen Line-Sockel zurückgegeben. Sie haben, Sie erstellen
das Socket-Produkt. Nachhinein. Das wird es. Ich habe diesen
Variablennamen bearbeitet. Also habe ich den Namen
Salt geschrieben , weil er sich mit dem Server verbinden
wird. Es gibt einen Grund, aber diesen Socket erstellen wir für sie. Kunde. Wieder, Zerstörung,
also Ich habe dir die Struktur gesagt, die
du füllen musst. Zunächst wird auf der
Clientseite
die IP-Adresse des
Servers geschrieben , die gleich ist. Diese IP-Adresse
sollte mit der der Server verbunden sein, und die Portnummer sollte auch sehen, warum ich
127 US-Dollar Nr. 1 gegeben habe und Ihnen erklärt habe. Dies wird als
Loop-Back-Adresse bezeichnet, denn da
wir es sind, wollen wir die Kommunikation
im selben System durchführen. In demselben System
läuft mein Server und mein Kunde werde
auch mit dem Essen fertig sein. Das bin ich. Da es sich in diesem Jahr um das
gleiche Systemecho
handelt, bedeutet dies , dass es
an die lokale IP-Adresse berichtet, die auf
dem Host-Computer tot ist. In dieser lokalen Lochia IP-Adresse läuft
der Server nur ebenfalls. Deshalb
erwähnen wir einfach 127 Dollar Punkt eins. Das bedeutet, dass Sie an
die lokale Adresse
dieses Host-Rechners berichten ,
da wir wissen, dass unser Server auf
diesem lokalen Host-Computer läuft. Das bedeutet, dass es auf dieselbe IP-Adresse
sinkt der der Server läuft. Und die Portnummer ist der Grund, warum
fünfmal, viermal fünf. Denn hier haben wir den Server für
diese Portnummer
gekauft. Wenn Sie Ordner hätten, habe ich zwei verschiedene
Telefonnummer gekauft, sagen wir 9994 mal neun, dann hätten Sie
hier viermal neun gegeben. welche Portnummer Sie sich auch
binden, an die Ihr Server bindet, die Clientseite sollte
sich mit derselben Portnummer verbinden. Das ist alles, was wir
hier in dieser Struktur ausfüllen. Das ist das. Und wenn
wir dann die Connect-Funktion aufrufen, übergeben
wir das erste Argument ist das Handle des Sockets,
das wir von
diesem Wert zurückgeben , der
Socket-Funktion und
dieser Struktur aufruft , die
wir gefüllt haben der IP-Adresse und der
Portnummer und dann Größe. Und dann schreiben
wir auf die Clientseite , die mit dem Server
verbunden ist, denn nachdem die
Verbindung hergestellt wurde, wird diese Nachricht von der Clientseite aus
gedruckt
und sagt, dass mit diesem Client verbunden ist mit dem Solver verbunden. Dann haben wir, da wir in unserem Programm die Nachricht
senden. Wir schreiben die Nachricht von der Clientseite und wir
werden sie und
damit die Serverseite lesen. Welche Nachricht wir senden, wir senden einfach Hallo. Hier. Wir initialisieren diese Zeichenfolge
, die ein
Zeichen-Array mit diesem Hallo ist. Und lass mich die
richtige Funktion aufrufen. Das erste Argument wird von den Sedimenten
aus dem
Socket-Handle und dann das
zweite Argument als Puffer behandelt , den wir
auf diesen Wert initialisieren. Wir möchten, dass dieser Wert
an die Servernachricht übergeben wird
,
die an die silberne Länge dieser übergeben wird. Deshalb rufen wir
die richtige Funktion mit
der richtigen Funktion auf. in diesem
Socket erwähnen, müssen wir
diesen Nachrichtenpuffer senden , der von der Clientseite
an
den Server steht . Dies ist eine Kundenseite. Dann drucken
wir die Nachricht. Diese Nachricht wird gesendet,
um diesen Rapier aufzurufen die Nachricht
auf der Client-Site
falsch auszugeben. Aber dieses Rückgrat, und
dann schließen wir diesen Griff und
dann geschlossen Sockel. Dies ist also der Code
für die Client-Site. So können Sie das
vorgefertigte, einfache und z. Jetzt habe ich
ein anderes Terminal geöffnet. Lasst uns zur Substanz gehen. Wir müssen immer
schnelleren Servercode ausführen , damit
wir ihn ausführen. Also öffne ich. Ich habe
Posthoc-Wall Server-Code ausgeführt. So führen Sie es aus, indem Sie einfach erwähnen, warum ich diesen Punktstrich
erwähnt habe, denn das bedeutet, dass ich mich in diesem aktuellen Verzeichnis
des Ordners befinde
und dies ausführen werde. Ein Dot Out, Dot Out ist
in diesem Ordner selbst vorhanden. Wenn ich also renne,
bekomme ich die Serverseite, diese Nachricht, die auf
eingehende Verbindung wartet. Jetzt hört der Server zu. Jetzt müssen wir unseren
Kundencode einen Meter lang ausführen. Sobald wir den Code ausgeführt haben, sollte der Client eine Verbindung zu diesem
Servicing-Client herstellen, der getrennt ist. Dann sollte der Client eine Nachricht an
den Server
senden und wir
werden
auf der Serverseite einlesen , dass eine Willkommensnachricht
angezeigt wird, dass 0,09 USD
auf dem Client-Terminal angezeigt werden. Und Sie können
nebeneinander sehen
, ob diese Nachricht auch auf der Serverseite im
Dienst
gelesen und gedruckt wird . Jetzt können wir auf der Suche nach
eingehender Verbindung
sehen, lassen Sie uns den Client ausführen Code auch. Lasst mich also den
dominanten Akkord öffnen. Also poste ich werde
diesen Clientcode
einfach mit dieser Funktion,
DCC und dem Namen der Datei kompilieren diesen Clientcode
einfach mit dieser Funktion, . Wenn Sie laufen, sehen Sie
nur einen Punkt heraus, der die Ausgabe ist, die
nach dem Kompilieren erzeugt wurde. Jetzt sollten wir es ausführen. Hier können Sie also sehen dass
die Nachricht auf der
Clientseite angezeigt wird, die mit
der
Nachricht mehrerer Anbieter verbunden ist, die mit
Puffern gesendet werden, wenn der Client eine Nachricht
an den Server
sendet dann kommt diese Nachricht. Lasst uns also den Service eröffnen. Ich habe uns nicht sehen lassen, ob
die Nachricht dorthin gekommen ist
und die Informationen aktualisiert wurden. Ja, Sie können nach
diesem Hören auf
eingehende Verbindungen sehen , diesem einen Modus
können wir sicher auf
der verbundenen Server-Site-Zeile spielen . Der Kunde sagt, Puffer ist Hallo. Von der Kundenseite, was ich sagen möchte, Sie haben
gerade gefragt, ob Sie Zeile drucken
können, sagt
aber, aber es ist hallo. Und dann haben wir auch von hier
aus die Funktion
getrennt . Das ist es, was wir tun. Sie können sehen, wie diese
Kommunikation stattfindet. Also das ist nur ich
schicke die Nachricht vom Client und
lese die Nachricht, ich schreibe die Nachricht
vom Client und lese sie
auf der Serverseite. So können Sie sowohl auf dem Server als auch
auf dem Client schreiben und lesen . Sie können jede bidirektionale
Kommunikation bei Allele haben. erklären Ihnen also nicht nur die Syntax, die ich geschrieben habe von der Clientseite geschrieben habe und ich habe auf der Serverseite
gelesen. So kannst du Weiss tun, war
ich und du kannst sowohl
schreiben als auch lesen und den Scheck machen. Der Chat von Server
zu Client. Das bin ich auch. Das haben wir also gesehen, wie diese Socket-Verpflichtung erklärt, wie die Nachricht
gesendet wird und was alle Funktionen, unterschiedliche Struktur,
unterschiedliche mobile Header-Unterschiede nicht sind. Lass mich zur Sekunde übergehen. Lassen Sie mich, lassen Sie mich zu
meiner Präsentation zurückkehren meiner Präsentation zurückkehren all diese
Dinge zu sehen, die es gibt. Wir haben, dass wir mit
dem Server fertig sind ,
Client-Socket-Programmierung. Wir haben in C-Sprache was
das Linux gemacht und wir haben es
auch ausgeführt. Ich bin vorerst fertig. Danke. Danke vielmals.
14. Socket Session8 ProgramExecution Server-Client Information C++: Willkommen zu dieser neuen
Sitzung vier und so weiter, Client-Socket-Programmierung
und sehen Sie, wie Blut vierteljährliche Nüsse
mit seiner Ausführung
geteilt wird. Vor dieser Sitzung haben
wir
die Sitzung für Server, Client-Socket-Programmierung in
C-Sprache oder Linux
mit ihrer Ausführung durchlaufen Client-Socket-Programmierung in . Also haben wir den C-Code
für Socket Sidewalk Line geschrieben, und wir haben seine
Kommunikation während
des Linux-Systems gemacht , wir haben gesehen, wie Client und Server sie
miteinander kommunizieren. Jetzt werden wir C plus
plus Code und das
Linux-Betriebssystem tauchen , und wir werden
Socket-Programmierung für
Cyberkriminalität durchführen , ist kein großer
Unterschied bei Bedarf. Der Compiler wird anders sein. Wir haben also gesehen, dass wir im Linux
das C-Programm kompiliert
haben . Sie haben GCC verwendet, aber wir werden es auf GPS
verwenden, da dies nur der Unterschied
ist. Und einige Funktionen, die wir als
Vierteleingabe und Ausgabe
aufrufen
werden werden unterschiedlich sein Alle Funktionen im Zusammenhang mit
dem Socket werden gleich sein. Das ist kein großer Unterschied. So können wir
die Sitzung schnell durchlaufen, wie sie fast ist, fast ähnlich wie die
Richtlinien , die ich in C unter Linux
programmiert habe. Einfach die Jens-Tür rauf. Drei Funktionen, das
Aufrufen von Funktionen werden unterschiedlich sein, da es verwendet wird Es ist flüssig,
auf die Konsole einzugeben. Mal sehen. Nur um Ihnen zu zeigen, wie wenn Sie
die Codierungsrichtlinie ausführen können, können
Sie für cplusplus codieren nur der Compiler zwei
wird sich ändern. Lassen Sie uns
die Sitzung sehr schnell im Detail durchgehen. Wenn Sie
die vorherige Sitzung durchlaufen möchten , die ich im
Detail das gleiche Programm erklärt hatte und sehen, was das Linux ist. Also werde ich hier
hässlich, weil es einfach die sich wiederholenden Dinge über den minimalen Unterschied,
den biologischen Unterschied und einige andere
Anruffunktionen sind. Auch hier ist das Gleiche für die
Server-Socket-Methoden für Linear, da wir dies
ausführen werden, dass diese Funktionen getrennt sind,
nicht den Socket zu erstellen und ihn an alle
Dinge zu
binden, wenn Sie vergleichen Sie mit dem
Windows-Computer wird ähnlich sein, aber eine Funktion ist nicht vorhanden. Für das Linux. Das heißt, obwohl der WAC-Start und wenn wir die Verbindung zum Socket trennen
, wäre die
Syntax der Unterschied
im Vergleich zu
der Windows für
das CC Plus Plus. Gleiche Funktionalitäten
gibt es auch keinen Unterschied
in Texas. Das ist nicht anders
und die Socket-Programmierung mit C und C plus plus auf keinem Compiler-Tool und einige
aufrufende Funktionen im
Zusammenhang mit Ein- und Ausgabe
sind unterschiedlich. Wir werden
den Code hier mit g
plus plus kompilieren ,
wenn Sie mit dem Schreiben des Codes und cplusplus fertig sind. Und dann wird es es ausführen. Jetzt in der Nähe der
Client-Socket-Methoden Dasselbe, was ich tun muss, da
ein Startup nicht vorhanden ist. Diese Syntax ist anders
als das Gleiche für C und C
plus wird sich ändern. Dasselbe mit Dr., das
in der vorherigen Sitzung behandelt wurde. Das ist für die Linux-Spezifische, dies sind die Methoden und
strukturierten Daten, die keine versus Start-Funktion sind, die im Falle von Linux
verwendet wird, wie ich Ihnen jetzt gesagt habe. Dann das nächste Ding, Funktionen
verlieren verschiedene IW oder verlieren sie Sockel. Wir rufen die
Funktion auf, im Vergleich zu den
Fenstern, die nicht Macondo Klebesockel
in WE krank Limit hatten. Das ist also anders
, falls Sie mit
Linux
vergleichen, sehen wir uns. Es ist ähnlich, ist das Gleiche. Und ein Dipol-Socket-Deskriptor, durch Aufrufen der
Socket-Funktion gesteuert wird, wird geschrieben. Dies ist also ein
spezifischer Unterschied für Venus,
denn für Windows, den Socket-Deskriptor und
dann Rückgabeaufnahmen, wird
die Socket-Funktion im Vergleich zu Linux anders
sein. Wir haben gesehen, dass wir in
der vorherigen Sitzung in der C-Programmierung für im Linux-System in der C-Programmierung für
im Linux-System
die
Socket-Funktion den Socket nennen. Und dann haben wir bekommen, dass
der Typ des
Socket-Handles im Falle von Linux
vom Typ ganzzahlig ist, aber im Falle von Windows haben wir es als andere Typen
gesehen, die
Kapital SOC Katie angeboten haben,
das ist ein Unterschied. Aber für CC plus dieselben
Funktionalitäten tot. Keine Änderung daran. Und dann ist
die unorganisierte oder gestreifte
Struktur anders. Auch hier
wird die spezifische
Linux-Adressstruktur für
den Socket-Lesen verwendet und Diabetes wirklich
aufdecken. Und die Portnummer, die den Sockel
dipolt und umstrukturiert hat,
unterscheidet sich bei Venus im Vergleich zu Windows. Auch ein Haustier verwandte Funktionen
als Spruch für CC plus plus. Da diese
Editierung als
eine andere Art von
entschlossener Struktur strukturiert ist, wird
Gleichgültigkeit oder
Dysfunktion verwendet. Und so ruft ihre Website portico versehentlich
die Akzeptierungsfunktion auf. Wir werden diese
Adressstruktur verwenden. Es hatte also nicht den anderen
Typ
im Vergleich zu ihren
Arztfenstern. Also der Kunde, den wir connect
nennen. Also nochmal, neigen, werde
ich als
Connect-Funktion geneigt bezeichnet. Sie sagten, dass DO
strukturiert zum Zeitpunkt der
Schulden verwendet wird, sei anders
als die der Fenster. Auch hier ist die Header-Datei, wenn Sie in Bezug auf
Synthese spezifisch
nicht so tot sprechen . Polynices waren
Socket-Programmierung unterscheidet sich im Vergleich zu der der
Header-Dateien. Fensterauswahlen. Ich eile nur durch diese Sitzung, weil es eine liberative Sitzung
ist. Ich möchte Ihnen nur zeigen, ob
Sie
cplusplus-Code und Linux kompilieren und
welche Combiner-Tuner verwendet haben. Und einige Header, da wir Funktionen zur
Eingabe und Anzeige
aufrufen würden , wird
dieser damit verbundene Aufruf anders
sein. Also Sokrates. Alle Funktionen sagen,
dass sie darauf zurückgekehrt sind. Wenn Sie C
und C plus plus vergleichen. Lasst uns also anfangen, den Code zu
schreiben. Lassen Sie uns diesen Vortrag durchgehen. Cetera Drüsen
cplusplus-Socket-Programmierung mit Ausführung von
Identitäten existiert möglicherweise nicht. Gehe zum
Linux-Betriebssystem. Und dann zeige ich , was
wir benutzen werden. Willkommen wichtig, um diesen Code in
C plus n2 zu
schreiben . Kombiniere es. Wechseln zum nächsten. Also habe ich oder
wann zu Linux hier. Zweitens, lass mich
den ersten geben. Hier. Ich werde die Dominante
eröffnen. Da wir es sein werden,
werden wir, indem wir
den Code in der Dominanten schreiben. Wissen Sie, ich habe Ihnen
bereits
in der vorherigen Sitzung gesagt , dass ich Ihnen in der anderen
Tendenzprogrammierung oder Socket-Kommunikation unter Linux bereits gesagt
habe, der anderen
Tendenzprogrammierung oder
Socket-Kommunikation unter Linux bereits gesagt
habe, dass wir die Bereitstellung
der Verwendung von Determinanten. Wenn Sie also
dieses Setup von Linux haben, zeige
ich Ihnen und habe, wissen
Sie, die grundlegenden
Befehle, die verwendet werden, oder das Linux, das
sehr wichtig ist. Also haben wir bereits
WC-Befehle behandelt und kurz in
der vorherigen Sitzung. Wir werden
den Code dominant schreiben. Also lass mich das öffnen. Es startet eine Minute. Qualitativ hochwertig erstellt den
Ordner-Boardroom, C plus plus. Es scheint fast nur
funktionell verteidigen zu wollen. Es sagt wundervoll. Und Sie können jetzt die
Datei sehen, die ich erstellt habe.
Ich habe
den Code bereits geschrieben, um die Zeit zu vermeiden ,
die für das Schreiben
jeder Anleitung benötigt wird. Also habe ich bereits
jede Anleitung und
vorherige Sitzung erklärt , die den Code nicht in C und B
geschrieben haben den Code nicht in C und B
geschrieben Als nächstes heißt es, gehe es durch,
wenn du ausführlich gehen willst. Also ja, nur um zu verstehen welches Tool verwendet wird,
um den C
plus Plus-Code zu kompilieren und welche minimalen Unterschiede sie nicht
in der Socket-Programmierung haben, sondern wenn Sie
die Konsole zum Lesen aufrufen und
schreiben Sie auf die Konsole, nur diese Funktion wird sich unterscheiden,
während Socket-Funktionen, wie hier zu sehen, diese Datei, die Sie in C plus plus plus haben, den
Erweiterungspunkt cpp hat,
der in der
Vedas engagierte lösen die C-Sprache, wenn
Sie den C-Code schreiben, wir hatten gesehen, dass die Erweiterung nicht gesehen
wurde ,
aber im Falle des Sitzes ist die beste Erweiterung Punkt CPP. Sie könnten sich dessen bewusst sein, wenn Sie den
Kodierungsteil C plus plus durchgeführt haben, lassen Sie uns dazu gehen. Jetzt. Wenn Sie jedoch sehen, dass, wenn Sie mit
der C-Sprache vergleichen, wenn Sie weniger
physisch gute C-Sprache konkurrieren, alle Dinge gleich sind. Nur ein Unterschied zu dieser
Header-Datei habe ich in
C plus plus aufgenommen , weil Sie diesen I O Stream
vielleicht kennen. Dies ist der Header in spezifischer gekaufter Anzeige und
Eingabe auf der Konsole. Wie wir gesehen haben, dass sich die
C-Sprache anspricht, verwenden wir stdio.h. Hier. Sie können diese stdio.h einfach entfernen, die nicht erforderlich ist. Also lass mich einfach, dass du hier reinkommen
kannst. Dies ist nicht erforderlich. Denn hier rufen Sie
die Funktionen auf, die auf der Konsole
angezeigt werden . Es, du rufst
den Funktionscode auf. Sie wissen also vielleicht, dass
wir
beim Schreiben des Codes und Anzeige von
cplusplus eine
Nachricht auf der Konsole die Cout-Funktion aufrufen, der Anzeige von
cplusplus eine
Nachricht auf der Konsole die Cout-Funktion aufrufen,
die erfasst wird und
die Nachricht auf der Konsole ausgibt . Diese Nachrichteneinheit wird also auf der Konsole
ausgegeben. Und das ist es, ich habe den Namespace std benutzt. Sie können sehen, dass ich die Schule
mit Namespace std
hinzugefügt habe , da diese
Standardvorlagenbibliothek diese Funktion definiert ist. Wenn Sie also zwei C plus plus
haben, müssen
Sie in
diesem Namespace erwähnen , dass diese
Funktionen vorhanden sind. Also müssen wir zuerst diesen Namespace
erwähnt
und dann können wir sehen, wenn Sie
diesen Namespace nicht erwähnen
und Namespace std verwenden, wird
er ihn hier schreiben. Dann kannst du es einfach als Lösung
an die Schule schreiben . Also diese Funktionen, und ich nehme an, dass Sie sich jetzt
im C plus plus Code befinden. Wenn Sie die
cplusplus-Koordinate eingeben das Licht, das
Grundfunktion ist, um es anzuzeigen. Ich denke dieses Jahr und gebe den Input auf der
Konsole, in der wir C verwenden. In unserem Fall geben wir also
keine Input zur DevCloud. Ich rufe keine Funktion auf, um das ich anrufe,
einzugeben. Sehen Sie, ich bringe ihre Nachricht auf die Konsole, damit es
hier
nur einen Unterschied gibt , dass die
sulfatbezogenen Funktionen gleich sind. Wenn Sie also sehen, dass dies eine
zirrhotische Koordination ist,
führen Sie Ihr Programm aus. Die Ausführung wurde
von dieser Hauptfunktion beendet. Egal welche Anweisung auch immer, also werden wir
in diese Hauptfunktion tauchen. Es wird
neun mal neun ausgeführt. Dies ist dieselbe sich
wiederholende Sitzung, nur um Ihnen den
Unterschied in C und C plus zu erwähnen. Ich bin, ich habe
diese Sitzung sehr schnell geben. Der Kürbis hier. Wie ich Ihnen sagte, würden Sie
die sortierte Funktion aufrufen , mit der der Socket erstellt
wird , und mehrere Gerichte
, die Internet-Eingangsfamilie sind. Dies ist der Typ des
Sockets, von dem er gestreamt wird. Also haben wir Server
- und Clientkommunikation gekauft. Der Socket wird erstellt
und beide Seiten. Der Typ sollte also gleich
sein, wenn Sie möchten, dass die
Kommunikation zwischen Server und Client
Stream-Typ neun Punkte hat oder Sie diesen Genguide
haben sollten. Stream befindet sich hier bei einer
Haftungsart des Sockets. Und der dritte
ist ein Standardwert für
das Kommunikationsprotokoll ist 0. Es gibt einen Deskriptor zurück
, der Typ in vivo ist. Dies wird also im
Falle einer CN-Sequenz jeder
Zeitregion gesehen , die für die Socket-Programmierung
in C-Sprache und
auch für Krankheit
verwendet wird für die Socket-Programmierung
in C-Sprache und
auch für Krankheit
verwendet , aber keine Unterschiede bei mir, diese blaue Farbe Anzeige und Eingabe von der Konsole
, die nur funktioniert , die wir aufrufen werden,
ist anders, falls ich C und C plus plus in diese
Header-Datei einschließen muss. Und dann ist dies die
Adressstruktur, in der
wir die Nebenstraße an IP-Adresse und
Portnummer binden sollten , damit
der Client, wenn er eine Verbindung herstellen
möchte, dieselbe IP synchronisieren kann
Adresse und Portnummer. Diese Struktur haben
wir also serverseitig mit diesem Wert ausgefüllt . Und diese
Boardzahlen sind unwert. Das heißt, es kann sich an die
Netzwerkschnittstellen binden. Also habe ich dir erklärt, dass du
in einen früheren Abschnitt eintauchst. Und dann
sollten die Sportnummern, welche Zahl du gibst, größer als
10 bis vier sein , da sie immer noch
1024 besetzt sind. Und Sie können mehr
als 102465535 verwenden. Dann rufen Sie
die Bind-Funktion auf, um einen Socket nur an
die IP-Adresse und
Portnummern zu
binden die IP-Adresse und , wenn Sie hier
Bootstrap-Daten von
zwei Jahren erkennen . Dann hören wir das zu Ich höre mir
lieber diese Software
an. So viele Zahlen Verbindung umreißt,
würde innovativ sein. Wenn Sie dann die Exit-Funktion
aus dem Set unserer
Website aufrufen , akzeptieren wir jede Nachricht von einer
Verbindung von, sagen wir, jede Leitungsverbindung
von der Leitungsseite, dass Phobie die
Exit-Funktion aufruft lehnt ab und
die Verbindung akzeptiert der Server sie. Und dann gefilterte Version und anderer Fußballdeskriptor
, der ebenfalls vom Typ int ist. Dieser Socket-Deskriptor,
wenn Sie nicht den gesamten Patienten und
den Socket-Deskriptor geschrieben haben
, den er nicht zurückgibt, ist Sie sich
mit einer dunklen Line-Verbindung beschäftigen. Das passiert. Und dann das heißt, vermeide
, was wir tun. Wir senden die
Nachricht vom Kunden. Und so sagte ich, dass wir es lesen werden. Diese Nachricht wird gesammelt. Wir rufen die Lesefunktion auf. Diese Nachricht
wird mit
kleinen Fonds verbunden , die einfach
arbeiten und mieten. Sie können hier sehen, dass der Unterschied nicht nur das ist, was
sie drucken. Also hier rufen wir
die Funktion CL auf, das ist C plus
C plus Sprache. Und doch, wenn Sie auf
den Ratgebern C out angezeigt werden und dieses Dentin
jede Botschaft doppelt zitiert, müssen
Sie den
Formatbezeichner
und C plus plus plus plus nicht angeben. Und dann müssen Sie diese Indexausgabe geben
, dann puffern und
dann Rötung beenden. Sie möchten, dass es dieser
Nachricht in der neuen Zeile erscheint. So wird dies
auf den neuen United Fall
im Lebenslauf eingehen , gibt Schrägstrich n. Aber falls ich Segen sehen werde,
segne mich, gib END l und l das scheint, dass scheint Windows-Zeilenumbrüche in die neue Zeile kommen. Und du kannst es wieder, also was auch immer du hier sehen kannst, wo auch immer wir
Tiere acht im Rat zeigen wollen, wir nennen die C0, C0, C0 Schulden für diese verschiedenen
im Vergleich zur C-Sprache, Es gibt zwei Zeilen zusätzlichen
Codes , der Hash-Include-Iostream ist. Sie müssen
diese Header-Datei und
Hash einschließen und dann
Namespace std verwenden, da in STD bei
mir der CEO tot ist. Das war's. Und dann habe ich dir gesagt, da wir auftreten werden, sagte Lass ihn
Kundenkommunikation. C plus plus in der gleichen, der Tat Nüsse in derselben Maschine. In diesem Fall. Von Ihnen öffnen Sie
die Gesamtminuten in einem Terminal und Sie erhalten dies als dominantes und ein Terminal, werden
wir
den Code für Ereignisse ausführen oder Rabattverzerrung des
Codes kompiliert und in einer Dominante
in einem anderen Terminal ausgeführt. Sobald der Clientcode
kompiliert wurde, führen wir ihn aus. Und eine weitere Dominante, beide des gesamten Wassers auf
ihnen sollten
in verschiedenen Terminals laufen und dann werden sie miteinander
kommunizieren. Kompilieren wir diesen Code. Also hier ist das ein
anderes in C plus plus, wir werden g plus
plus Compiler-Tool verwenden. Im Falle der C-Sprache, als wir C-Code gegraben haben, haben wir GCC verwendet. Aber willkommen,
den C plus plus Code zu finden. Wir können
den GCC nicht kompilieren, da GCC-Compiler-Tool
verwendet wird , um Unruhe,
Nazi, Seligkeit zu kombinieren. C plus plus ist ein
zusätzliches Add-On in der Szene. Du bist einfach plus plus. Das ist ein Compiler-Tool. Sie können sowohl den
C-Code als auch den C
plus plus Code kompilieren , da
es sich um eine aktualisierbare, ein Dutzend aktualisierte Version handelt, die der C-Sprache. So können sowohl C-Sprache als auch C
Plus Plus-Sprache
von g plus Y2 abgelegt werden , ist nicht herrisch, aber das heißt, Sie können Ihren C plus plus
Code nicht mit diesem GCC
kombinieren. Du musst g plus plus verwenden. Da C plus plus also die C-Sprache allein
unterstützt, C-Sprache allein
unterstützt, also mit G, dass
wir D plus plus verwenden, können
Sie
also mit G, dass
wir D plus plus verwenden, C und
C plus Code kombinieren, aber umgekehrt ist nicht möglich. Das heißt, Sie können
GCC nicht verwenden , um den
C plus plus Code zu kombinieren. Deshalb
werden wir g plus plus verwenden, und dann werden wir zweisprachig sein
oder den Schüler benutzen. Also wieder wird es die Datei
erstellen
und raus, die ich hatte, bevor ich sie ausgeführt habe. Lassen Sie uns auch den
Gliederungscode sehen, der eine neue
Dominante eröffnet hat , oder die
Unfälle, die ich total abgeschlachtet habe, laufen in einer
anderen Dominanz. Jetzt. Nun, seit ich Ihnen gesagt
habe,
haben C plus plus Code, den wir tauchen werden, wirklich die Erweiterung, um die
Erweiterung in Richtung CPP zu erben, die Änderungen
für den Aufruf der Eingabe
und Ausgabe vorgenommen -Funktion. So können Sie hier sehen, wieder haben wir, dies ist ein sehr kurzer
Code in einer Minute. Sie werden feststellen, dass der
Clientcode im Vergleich zu dem
der Salve gegenüber
den Socket-Funktionen sehr klein
ist im Vergleich zu dem
der Salve gegenüber
den ,
wie plus wässrige plus vier C-Sprache
auf Medien,
die die Eingabe aufrufen , und Sie sind Der Aufruf der chaotischen Funktion, um die Nachricht auf dem
Konsolenbein
anzuzeigen, ist nur anders. Daher müssen wir
diese Header-Datei iostream einschließen. Sie müssen
diesen Namespace std schreiben. So sehen dieselben
rosafarbenen Dinge, die mit der Steckdose
zusammenhängen. Sie rufen also die
Socket-Funktion im Client auf. Und wir sagen, dass
wir hier erwähnen, also die gleiche Syntax, wir füllen sie
mit der IP-Adresse. Also habe ich Ihnen gesagt, dass 127$ Nr.1 keine Lübecker
Adresse ist, da wir mir
hinzufügen, dass die
Kommunikation
auf derselben Maschine stattfindet . Tiefe oder der Server
und der Client laufen auf demselben Computer. Daher bedeutet dies, dass eine
Lübecker Adresse bedeutet, dass
dieses Board an die lokale
IP-Adresse, den lokalen Host, bedeutet. Ips hatten sicherlich Diabetes auf dem lokalen Host,
da wir wissen, dass dem lokalen
Host-Server ebenfalls ausgeführt wird, sodass die
IP-Adresse des lokalen Hosts zurückgesetzt wird. Und dann erwähnen wir die Portnummer auf der Serverseite, egal welche Nummer wir angeben, die
nicht der Clientseite entspricht, sie sollte auf
dieselbe Board-Nummer sinken ,
um eine Verbindung mit der Zelle herzustellen. Und auch die IP-Adresse
sollte gleich sein. Dann fahren wir weiter
Trennen Funktion. V bar ist diese Struktur hier. Und dann schreiben wir die
Nachricht von der Kundenseite. Dieselbe Nachricht, die ich geschrieben habe. Sie können also sehen, dass das V,
V, das ich im
Rat zeige, anders ist da wir diese
Codierung in C plus plus plus machen. Also verwende ich den
CEO, der auf
der Konsole angezeigt wird, und N Dollar haben sie früher an der neuen Nacht Nachrichten erhalten. Schon wieder. Sehen Sie, wie es hier
verwendet wird, um die Nachricht
drucken zu möchten, was auch immer der Client sendet , dass wir
auf der Konsole enden. Diese Unterschiede
bei keinem Rest auf den socket-bezogenen
Funktionen sind gleich. Sie können also verstehen, wenn
Sie die gleiche Sprache kennen, können
Sie C plus starten und
nichts Unterschied ist, dass in den socket-bezogenen Funktionen auf der Kernfunktion die
Nachricht auf der Konsole angezeigt wird, das C plus plus weil
Quartale gibt es diesen Code. Aber kackt auf die Konsole. Lassen Sie uns das Board hier finden. Also hier ist das Kombinationstool ich verwende GPS, denn
wie ich Ihnen sagte, können
wir GCC nicht verwenden, um
den Code für das C
plus plus zu kompilieren ,
weil gcc C plus plus nicht
unterstützt, aber z plus die Unterstützung
C weil es nicht getan hat, Es ist eine eingebettete
Version des Meeres. Daher können Sie GPS am besten
verwenden, um
den C-Code sowie den
CPP C plus plus Code zu kompilieren . Sie können jedoch GCC nicht verwenden, um das C plus vier zu
kompilieren. Sie können GCC verwenden, wenn Sie den C-Code kombinieren müssen
. Ich hoffe, du hast
den Unterschied verstanden. Dann kompilieren wir
den Code hier. Es erzeugt
einen Dot Out False. Wir sollten den Server betreiben, dann sollten wir diese Leitung ausführen. Und wie ist ihr
Daemon-Prozess? Es sollte zuerst
in gestartet werden , außer der Verbindung
vom Client. Lassen Sie uns nun den
Code für den Server ausführen. Sie können auf der Serverseite sehen und wir erhalten
diese Nachricht, die eingehende Verbindungen wartet
, was hört zu? Lassen Sie uns nun
den Clientcode ausführen , der
auf der anderen Dominante tot ist. Jetzt
senden wir einfach eine Nachricht, wir zeichnen eine
richtige Funktionsnachricht auf dem Socket vom Client auf,
sagen, dass die serverseitige
DOM-Phase aktualisiert wird. Gott verband und
welche Botschaft auch immer die Frist,
die zur Umfrage abstieg Derby, um auf Natrium zu
beschleunigen. Dann gegenseitig mit dem Sockel. Lassen Sie uns Dando von AD und Output
Inductor unterstrichen Site. Sie können hier sehen, die mit
der Silver On Load Line Site verbunden sind. Nach der Connect-Funktion geben
Sie diese Nachricht mit CEO aus, was ein
Unterschied und C Plus ist. Und sobald die
Nachricht gesendet wurde, schreibe ich
von der Clientseite auf den Socket, wir erhalten sie als Anweisungen. Es ist mit Puffer
geneigtem Griff drin. Lassen Sie uns also auf die
Serverseite gehen und prüfen, ob die Nachricht empfangen wurde. Sie können hier sehen, dass
dies
im Lehrplan ein Server ist, der
Socket mehrere Code genannt wird. Sie werden diese Nachricht verschwinden Ductus, nachdem Sie
auf der silbernen Seite nach
eingehenden Verbindungen gehört haben, wenn Sie sie so alt haben wollen,
wie Glenn verbunden ist, sagt der
Kunde, aber was ist Hallo? Also diese Nachricht, Sie
sind eine gute Sache bei der Ausgabe und dann der
Client getrennt. Hier hatte ich noch eine Sache. Ich habe initialisiert. Wenn Sie hier sehen, dass wir zwar
zwei Rückwärts haben , die ich hier auf
der Serverseite verwende, auf 0 initialisiert
habe. Denn wenn ich es anfangs nicht tue, bedeutet
dies 0, dass es auf ihnen
initialisiert wird. Und das Summen des Wirbels, Brasilien, du kannst direkt, du musst nicht
alle 102 Ordinal eine Region 0 schreiben. Man kann einfach
Connie Rassismus 0 schreiben,
das heißt, dass die UNO standardmäßig auf 0
initialisiert wird. Dies ist also sehr
erforderlich, denn sobald der Bürgersteig die Nachricht
vom Kunden erhält. In diesem Fall, denn wenn Sie nicht dipolar auf 0 initialisieren
,
dann
senden Sie, was auch immer diese
Kunden haben, eine Nachricht über den Zelebranten ,
den
Sie von einem neuen auf der Konsole
angezeigten neuen ausgeben nicht dipolar auf 0 initialisieren
,
dann
senden Sie, was auch immer diese
Kunden haben, eine Nachricht über den Zelebranten,
den
Sie von einem neuen auf der Konsole
angezeigten neuen ausgeben bekomme diese Botschaft, aber extra Vitae, welches
Ding du auch bekommst. Deshalb müssen wir zuerst diese Zeichenfolge
initialisieren
, also Eric Zeichen auf 0. Und dann
müssen wir was auch immer der Client an den Server
sendet, wenn ich, das wird nicht anders
geblasen und möglicherweise auf der Konsole
angezeigt werden. Sie werden den Veranstaltungsort
der Datenbank nicht bekommen. Was du damit bekommst, sagt der Kunde
nur Hallo, also bekommt es ihren Rasen. Das ist ja. Jetzt sind wir mit dieser
Socket-Programmierplatine fertig. Entscheiden Sie sich für die Bewerbung von
Come Urlaub Linux-Plattform
mit C plus plus. Also heißes Getränk C-Code. Sie können die
vorherige Sitzung durchlaufen, die ich ausführlich behandelt habe. Ich bin fertig für diese Sitzung. Danke. Danke vielmals.
15. Socket Session9 UnderstandingHTTPServerClientCommunication: Hallo, willkommen zu diesem
neuen Abschnitt, der
versteht, dass
Server-Clientkommunikation auf ECP sein
sollte . Auch hier die
Socket-Kommunikation, die wir zwischen dem
HTTP-Server und dem Client
sehen werden . Unter dem Begriff HTTP wissen
Sie vielleicht, was das ist? Http. Http steht für Hypertext
Transport Protocol. Und wann immer wir im Internet
surfen, wann immer wir
Informationen aus dem Netz ätzen möchten, geben
wir den Link ein, besuchen die Website und geben
immer http oder HTTPS. Deck erhalten wir den Link zum Seitenstart, den
wir auf diese Weise erhalten. Das Informationswochenende holen. Auf diese Weise geben Sie jeden
Link, den
Sie weitergeben, in jedem Browser an. Es kann der Mozilla sein, es kann der Bräutigam sein, es kann Internet Explorer sein. All dies sind die Browsertypen. Dies ist die clientseitige
Anwendungsseite, so dass wir eine der URL angeben,
diese URL, die
Odyssey-Link sein wird, den wir, von Ihnen angeben,
annehmen, dass Sie Google.com
geben und das ist
was wird passieren. Sie möchten die
Seite auf Google.com abrufen. Sie werden also ein Link auf sein, Sie geben den
Link im Browser auf der Anwendungsseite der zugrunde liegenden Website ein. Und diese Verbindung, die wir übergeben, wird
an die Serverseite gesendet. Es ist Apache,
Apache-Serverseite, und es sendet die Daten als Antwort auf die Anfrage,
bei der es sich um Ridges handelt, die
von einer Seite gegeben wurden. Dann werden die Daten auf der Browserseite
geladen. So findet diese
Kommunikation statt. Wir haben meistens den Link getaucht, aber wir wissen nicht, wie es
funktioniert, um
diese Kommunikation zu verwalten , war einfach eine summierte Daten, die wir abrufen. Angenommen, wir möchten
ein Bild abrufen , um sogar den Link
auf dem Browser
einzugeben . Das kann das Problem sein,
kann genetischer Suppenforscher sein. Dann bekommen wir
die Daten des Bildes. Wie
erhalten Sie Daten auf das Bild? Wie das tatsächlich passiert, tippen
Sie nur den Link ein und bereichern die Daten über das Alter auf Ihrer Seite, wie diese Daten Sie erhalten. Dahinter
findet diese Kommunikation zwischen
Server und Client und Server statt. Eine Mutation findet statt. Und das ist die
HTTP-Server-Clientkommunikation. Dies findet also auf dem TCP statt. Das heißt, wir haben TCP-Sitzung
gesehen. Es ist ein zuverlässiges Protokoll , da hier alles zur Verfügung gestellt
wird. Es liefert die
Fehlerkorrektur. Es ist zuverlässig, da alle
Daten gesendet werden. Einige der Daten gehen verloren, dann
werden sie wieder übertragen. Es kann auch
das Set von uns benachrichtigen. So findet also zuverlässige
Kommunikation statt. Es ist auch schweres Gewicht. Wir haben also gesehen, wir über DCP diskutiert haben. Hier werden wir sehen, wie diese HTTPD mehrere
Clientkommunikation auf TCP
stattfindet. Es nimmt also kein UDP an,
da TCP zuverlässig ist und wir möchten, dass die Kommunikation stattfindet, es
sollte unzuverlässig sein. Daher wird es auf GCP
stattfinden. Lasst uns mehr verstehen. Gehen wir darauf ein
, damit Sie im Detail
verstehen,
worüber wir uns besprechen. In unseren früheren Vorträgen. Wir haben gesehen, dass Sie sich
vielleicht bewusst sind, wie
diese
TCP-Server-Client-Socket-Kommunikation
stattfinden würde diese
TCP-Server-Client-Socket-Kommunikation , weil ich bereits erklärt
habe, welche
bekannten Methoden verwendet werden. Oder TCP-Server,
Client-Socket-Kommunikation. Und wir haben auch gesehen, dass
wir mit Code für Windows und Linux Code für Windows und Linux alle im
Programm nach der Woodblock-ID,
dieser
TCP-Server-Zeitkommunikation,
Socket-Kommunikation
und den Fenstern sortiert haben dieser
TCP-Server-Zeitkommunikation, . Und wir haben es ausgeführt. Mit Hilfe dieses Wissens werden
wir sehen, wie diese
HTTP-Server-Client-Socket-Kommunikation auf TCP
stattfindet. Das wird Ihnen also
sehr einfach sein denn wenn Sie die früheren Sitzungen
durchlaufen haben, werden
Sie überhaupt sein, fast der gesamte
Akkord VI, der in
dieser Socket-Kommunikation
jedes HTTP-Servers offline verwendet wird aber mit ein wenig
Modifikation. Sie werden
es also auch interessanter finden. Und beginnen wir mit den Themen
, in denen das Verständnis der
Menschen das
Blog-Diagramm eines Medikaments diskutiert wird. Dann werden wir sehen,
wie der HTTP-Client die Anfrage in Form
des Kopfes und der NBC
sendet Was bedeutet dieser Header im Detail? Dann werden wir sehen, wie
dieser HTTP-Server
diese Anleihen an die
HTTP-Client-Anfrage in Form von
Header und Body geben wird diese Anleihen an die
HTTP-Client-Anfrage . Beginnen wir mit dem Thema ,
damit Sie besser
verstehen. Jetzt ist dies das Diagramm für Konjugation von
HTTP-Servern. Hier sehen Sie also, dass
dies HTTP neun ist, und dies ist der HTTP-Server. Die Anfrage wird
von der HTTP-Clientseite in Bezug
auf
die HTTP-Anforderungsnachricht an die HTTP-Server-Site gesendet . Und es ist normalerweise die Sidebar
, die der Tanz erhält, nicht. Ähm, gib die Daten
vom Kunden ein. Es wird dies darauf erzeugen und dann
die Datenantwort
an den HTTP-Client senden . So blind
als Browser betrachtet. Das Beispiel, dem ich dir
gesagt habe, dass du
kein Link im Delta bist. Der Browser kann zwar Raum sein, er kann unendlich explodiert sein, oder er kann falsch ausgelöst werden. So anders,
verschiedene Browser. Sie können
verschiedene Links angeben, bei denen
der Link einen
HTTP-Colon-Schrägstrich enthält. Nehmen wir an, Sie
und Sie möchten
den Link geben WW, das
Moodboard, google.com, Sie möchten Facebook
gekauften gemeinsamen Standard geben, ich bin Dot com eines
der Links, aber Sie möchten die
Multimedia-bezogenen verknüpfen. welchen Informationen Sie auch immer
einen Link wünschen ,
geben Sie die verschiedenen Links an. Dieser Link, an dem Sie weitergeben. Das wird die
Ergebnis-Client-Seite sein. Das wird also der Link sein. Diese Informationen werden
an die Server-Site
statt an die Website gesendet , sie werden auf diesen Link antworten. Es wird abgerufen, es
stellt
die Daten dar , die es an den
Client senden
soll , damit die Daten, auf denen sich eine Site befand, diese Daten
geladen werden und Sie
die Seite erhalten geladen auf
Ihrer Browserseite. All diese Daten werden
also vom Server an
den Client gesendet, auf der Browserseite geladen werden sollte. Beginnen wir dieses andere
Diagramm, undurchsichtig. Dies ist Ihr
Webbrowser, wie ich Ihnen sagte, es kann Chrome sein, es
kann ausgelöst werden, falsch. Sephardi, Internet
Explorer, alles, jeder der Router, dieser Teil ist der Client und
Sie übergeben die Anfrage. Das heißt, Sie
tippen einen beliebigen Link diesem Browser wie Google.com, facebook.com und
heute Internet. Dies wird auf
diese Seite gehen, wo es diesen Webserver
und Anwendungsserver
sortiert
, also HTTP-Server, dieser Mini bildet die Daten. Eigentlich erhält es die
Daten und es wird sie
als Antwort auf diese Anfrage
hier an den Browser senden , und dann wird die Seite geladen. So findet die
Kommunikation statt. Wir sehen jetzt mehr Details. Lasst uns nun verstehen, was im
vorherigen Diagramm
passiert. Also, der HTTP-Client, senden wir
die Anfrage an den Server, antwortet darauf über TCP. Dasselbe, was
ich Ihnen gesagt habe, dass dieser Client eine
Anfrage an den Server sendet. Das ist hier Zeile, dies ist ein Client und
der Server lehnt ab. Das ist Ihr Browser. Es
kann irgendetwas von diesen Dingen sein. Chrome, Firefox, Safari,
Internet Explorer. Es sendet die Anfrage, HTTP-Anfrage, die über das TCP-Protokoll
übergeben wird. Diese Anfrage
wird also an den Server gesendet, antwortet darauf sendet die Daten zurück. Es wird
darauf reagieren oder ob TCP. Es verwendet also das MQTT-Protokoll, es verwendet TCP-Protokoll, weil
es ein zuverlässiges Protokoll ist. TCP-Protokoll ist ein
zuverlässiges Protokoll. Sehen wir uns nun das Beispiel an, das ich bereits
besprochen habe, den Browser Chrome. sehen uns, wenn wir
Wasser geben, um zu sagen, dass wir http, www.google.com, Adobe Eyes
geben und eine der URL angeben. Angenommen, Sie erhalten die URLs, den Buddha
blue.example.com. Das ist Angenommen, ein Link. Es hat die Standardseite. Dieser Link wurde so konfiguriert, dass er die Standardseite enthält, wenn
der Benutzer diesen Link eingibt. Dieser Link selbst
ist so konfiguriert, dass auf diese Seite, Standardseite,
gelangt. Wenn es für diese Seite konfiguriert
ist, index.html, kann jeder der
Links tatsächlich sein. Was passiert dann? Also lass uns sehen. Diese UID wird auf diese Weise
weitergegeben. Dies, das Sie hinzugefügt haben, wird
an den Server weitergegeben. Dieser überbiete Prozess es und sendet die Daten als Antwort zurück
und die Seite wird geladen. Mal sehen, eins nach dem anderen,
was passiert? Jetzt? Wir werden
Schritt für Schritt diskutieren. So sendet der HTTP-Client eine Anfrage
an den Apache-Server. Wir haben also bereits das Beispiel
besprechen, als würden wir einen
Link zum Browser geben. Der Browser kann alles sein, was wir
im Blockdiagramm gesehen haben. Angenommen, Sie geben example.com an, wie ich gesagt habe, dass einige
dieser Links, sie sind auf der ADA oder standardmäßig für eine Seite
konfiguriert. Angenommen, diese Seite, beispiel.com, ist für index.html konfiguriert,
das heißt, die Standardeinstellung
hat Ihren Veranstaltungsort gespielt. Geben Sie diesen Link an
, dass Gleichheit diese menschliche index.html
sein wird . Dann dieser Link, Sie im Browser geben, was in diesem Fall passieren
wird. In diesem Fall geben Sie einen
beliebigen Link im Browser ein. Und das gibt uns ein BIP. Das heißt, wenn Sie
http ww.example.com geben, wählen
Sie STT neun aus. Frau, sende eine Anfrage
an diesen Server. Das hast du dem Apache-Server ein bisschen
vorbei hinzugefügt. Hier habe ich diesen Test erwähnt. Die Daten werden an den Server
und diese Daten, die diese Benutzeroberfläche sind, gesendet . Dies wird in Form
des Huddles gesendet. Was ist dieser Header? Alles was ich
erwähnt habe, der Header. Dieser Header, der da ist. Es wird verschiedene
Dinge darin zeigen. Da ist es. Es besteht aus den Methoden , bei denen es sich um verschiedene verfügbare
HTTP-Methoden handelt. Wir werden, wir werden nur
die Listenschockmethoden sehen , die am letzten
Ende der Sitzung für
HTTP verfügbar sind . Derjenige, der verwendet
wird, ist eine GetMethod. Dieser Header ist krebsartig. Wenn wir über diese URL sprechen ,
die Sie im Browser und beim
Bräutigam weitergeben , geben Sie einen
beliebigen Link ein, sagen Sie ww.example.com. Und was wird
im Hintergrund passieren. Postdoctoral
im Hintergrund wird
dieser HTTP-Client mit dieser UID, also wird
dieser HTTP-Client W W.example.com
, eine Anfrage an diese
Praxis
senden . Und dies wird
unerwünscht sein, diese Anfrage oder ihre
Praxis an diesen Kunden zu
senden. Es konvertiert diese URL
im Home oder Header, dieser Header ist Vorfahre
all dieser Dinge, aus denen S
besteht Methode. Es gibt verschiedene
Methoden wie get, delete, die
verschiedenen Methoden. Aber derjenige, der das ist, die GetMethod wird
sehen, was wir alle
verschiedenen Methoden sind , um
dies zum Abrufen der URLs zu bekommen. Daher holen wir in unserem Fall, da wir die URL angeben, da wir die URL angeben,
den
USDA über ein Jahr ab. Die GetMethod wird
schnell sein. In diesem Fall. Dann sind wir fertig. Es ist da. Es wird
aus der Methode und es wird Shop-URL bestehen. Sie haben hinzugefügt, dass es sein wird, dass in unserem Fall tatsächlich example.com
gestorben
ist. Aber wenn es auf eine
andere Bezahlung konfiguriert ist ,
sagen Sie index.html, dann b hat und dann
die Protokollversion. Da
verwenden wir das HTTP-Protokoll, also gehört es zu Antworten
aus der Protokollversion. Dann wird es kommen,
seit der Gastgeber, Gastgeber wird wie
ww.example.com sein. Es ist die IP-Adresse dafür, wer alles
erstellt, was Sie
fragen, wie
die in diesem
Monat angebotene Hostadresse und der Benutzeragent sein wird . Diese Nu ist also dieser Agent. Es wird neu für Sie sein, wenn
Sie
Mozilla, Firefox
oder Internet Explorer verwenden, verstehen Sie einfach, dass
anders, anders, anders, anders, anders, anders,
anders, anders Benutzer-Agent-API, die, wenn Sie so wollen,
können Sie auch auf diese Weise testen. Probieren Sie einfach WW-Punkt-Beispiele aus. Die bill.com im Chrome-Browser und Sie überprüfen den Benutzeragenten. Sie tippen es ein, das Feuer ist falsch, Sie
sehen den Benutzeragenten. Es wird also lustig sein, sie zu
haben, abhängig dem Dipol, den
Sie VDC verwenden. Die nächste Folie, um mehr
über diese Header-Details zu besprechen. Ich hoffe, Sie haben verstanden
, dass wenn wir diesen neuen
URL-Link an den Browser
senden, tatsächlich im Hintergrund kaufen, dieser Browser auf
diesem Gliederungsdarsteller gebildet wird. Und es wird aus all
diesen Dingen bestehen, die im Detail an den Server
weitergegeben werden . Ich habe Ihnen diese
Header-Stornierungs-Aktienmethode gesagt, da wir die URL abrufen möchten, wird
die Methode
die GET-Methode sein. Dann die URL, die
Sie tatsächlich eingegeben haben, und die Protokollversion, welche Art das BIP
Virginia verwendet. Dann hosten Sie tatsächlich
eine Host-IP-Adresse
und den Benutzeragenten, wie ich es für
verschiedene Browser tue, es gibt verschiedene
Benutzeragenten darauf, siehe im Detail. Dies wird
auf diese Weise detailliert beschrieben. Durch dieses Ding. Sie werden es verstehen und motorisch oder so ist
dies der Header. In unserem Fall
rufen wir die URL ab. Da ich Ihnen vier verschiedene,
verschiedene Methoden erzählt habe , die
unterschiedliche
HTTP-Methoden sind ,
wird in unserem Fall die Methode nur aufgerufen, weil GET verwendet wird, um
die URL dafür abzurufen, Sie wird dies als Methode bekommen. Dies ist eine Methode,
diese index.html. Ich habe Ihnen dieses Beispiel für
das kleine blue.example.com gesagt, aber in anderer Standardeinstellung ist die
Zonierung für diese index.html konfiguriert
. So erhalten Sie die URL
hier auf diese Weise. Dann wird dieser Header aus
dieser Protokollversion von HTTP bestehen . Dann wird es
den Host oder die Gastgeberin
ww.example.com, die
wir analysieren,
dann den Benutzer-Agent abbricht ww.example.com, die
wir analysieren, . Dies ist also eine Benutzer-Agent-Quelle. Ich bin immer beim Schreiben. Wenn Sie den Link auf dem
Mozilla Firefox-Benutzeragenten angeben, bedeutet dies, dass dieser Mann
ein Codon war , dann
hätte er anders gegeben. Aber bei einer Umkehrung der
Syntax für diesen Benutzeragenten. Und all die Details darüber, außer
Sprachstörungen, diese Dinge. Dies ist der gesamte
Header, der aus
all diesen Informationen besteht , die an den Server gesendet
werden. Wann immer Sie also eine
URL zu sin example.com eingeben, hat der Aufruf für diese
index.html im
Mozilla Firefox
konfiguriert . Dann
wird dieser Client intern diesen Header tatsächlich auf
diese Weise bilden und an den Server gesendet. Jetzt auch wenn wir programmieren
werden. Hier erkläre
ich alles über diese
HTTP-Server-Client-Kommunikation. Und in der nächsten Sitzung
werden wir die Programmierung machen. Wenn ich den Code von a ausgeführt habe werden Sie
all diese Daten sehen. Wir werden
die Daten drucken,
was zur Seite absteigend ist. Diese Daten werden also nebeneinander
gedruckt damit Sie
sie klarer verstehen. Dies sind alles
Dinge, die der Client an den Server sendet,
und Sie können ihn auf
der Konsole dieser
Beiratsnachricht drucken der Konsole dieser
Beiratsnachricht die
er vom Client erhalten hat. Dann haben wir
jetzt gesehen, was passiert, wenn die HTTP-Anfrage an diesen
Server jetzt Arbeiter sieht, wie traurig, aber es wird
die Antwort an diesen Kerl senden. Nun muss diese Seite
diesen Header sehen , den der
Client an ihn gesendet hat. Jetzt ist das draußen
, wo das Apache-Server ist, wie er
auf diesen Client reagieren wird. Es sollte also auch um 70
gefallen sein. Die Daten in Bezug auf dieses
Header-Format haben Sie in diesem Formular
gesagt, dass Sie sie senden sollten ,
damit
Sie sie auf der Seite erhalten. Holen Sie sich die richtige
Seite mit Informationen. Also dieses Album, was
NICHT IM Falle der Seitenleiste, die es
darstellt , bildet auf dieser Information diese Information welche
diese Seite
ist, wo auch immer es bestehen soll,
aufhören, wenn es ist möglich, wird
es die
Protokollversion geben, genau wie GTP, welche Version sie verwendet, den Statuscode und die Nachricht. Was bedeutet das, das ist, ob der Link, den der
Benutzer ihm
gegeben hat , erfolgreich die Seitenleiste Heute
Morgen war. Es gibt einen Ausfall des
Netzwerks, irgendetwas, was auch immer. Erfolgreicher Fehler
abhängig, abhängig von Code sind
ihre Botschaft für diesen Misserfolg
und viele verschiedene Nachrichten
vorhanden . So wird es
dort tatsächlich in
diesem Header gesendet , dass wir
alle diese Informationen, die es
bestehen sollte, sowie den
Inhaltstyp und die Inhaltslänge melden
werden alle diese Informationen, die es
bestehen sollte . Was ist dieser
Inhaltstyp und die Inhaltslänge? In unserem Fall geben wir die WW.example.com oder den Standard an, dass Link für index.html konfiguriert
ist. Angenommen, dieser Index, unser Inhaltstyp wird eine HTML-Seite
sein. Angenommen, es war ein Bild, dann hat es gegeben, dass
der Inhaltstyp Bild ist. Und was verleiht dieser
Inhalt? Inhaltsland ist, wie viele
der Daten empfangen werden. Wie viele der aufsteigenden Daten wird der Server
tatsächlich an den Client
senden. Das sagt der Inhalt. Und darauf folgt
eine leere Zeile und die Nachricht mit Server 1%, um zu
verweigern, dass Sie schreiben können. Was wir in
unserer nächsten Sitzung tun werden, werden
wir ein Programm
für diesen Server schreiben. Wir müssen das
Programm für den Flug nicht schreiben. Verwenden Sie alle Methoden, die
wir bisher studiert haben. Das ist für die
HTTP-Serverkommunikation, anstelle von US-Hilfe alles, was
erforderlich ist , um einen
Socket zu erstellen,
an den Sie binden können, hören Sie, um zu akzeptieren, dass alle
diese Koordinaten schreiben und einige
kleine Änderungen eigentlich wird das
diese Änderung sein. Da ich seitdem
bei dir bin, sage
ich dir, dass
der Server in Bezug auf die Produktion
reagieren wird . Da wir also den Code nebeneinander auf
Leda
schreiben , dann Mission. Schreib all diese Dinge. Wir sollten diese Informationen
von der Serverseite in unserem Code angeben von der Serverseite in unserem Code ,
damit wir eine ordnungsgemäße
Antwort erhalten, um abzubrechen, wir erhalten eine richtige Seite. Unabhängig davon, welche Nachricht wir nebeneinander
eingeben,
wir möchten, dass diese im Browser
angezeigt wird, aber im Dokument
sollte das Dokument auf
der Browserseite gedruckt werden. Angenommen, wir senden
hoch von Mama, das aufsteigende Hallo oder Hallo, kaufen alles von
der Serverseite. Es sollte auf
Ihrer Browserseite als hallo angezeigt werden,
hallo , egal welche Nachricht
Sie senden. Aber wir haben zwei Arten. Wir müssen keine Texte spüren
und erkennen. Wir müssen es in
Form des Headers senden. Und was dieser Header abbrechen
wird. Es wird aus einer
Protokollversion bestehen. Sie müssen die
HTTP-Version in unserem alten Servercode angeben. Mach dir darüber keine Sorgen. Erkläre dir mit dem Vorstand an. Das ist also nur eine Beschreibung,
so viele beginnen mit dem Boarding, ich werde Ihnen erklären welche Codierung erforderlich ist
und es ist sehr einfach. Es sind nur zwei oder
drei Zeilen
Codeextrakt Gold erforderlich,
um HTTP-Server,
Client-Kommunikation durchzuführen ,
da Sie bereits wissen, was der
Bürgersteig oder das Dokument TCP ist, haben
wir es in
unserem früheren gesehen dann mach einfach das Objektiv ist
erwachsen und es ist einfach,
denn was wir einfach
den Satz von Vertikal oder Kampf darstellen müssen , müssen
wir zusammenstellen,
dass die Nachricht, welcher Server an die Linieneinkommen im formalen Kredit. Das ist nur der Unterschied. Was haben wir gezeigt,
besteht darin, Alex, ich werde Ihnen erwähnen, was wir
alles haben, um
ein neues Portal zu geben , damit Sie
einfach berichten können ,
was ich schreibe, was auch immer ich programmiere
und du kannst verstehe es. Was ist mit denen, die
Sie selbst tun, Sie führen sich selbst aus, alles Sie wissen lassen, was
alle Dinge erforderlich sind. In dieser Meldung
des Status-Score-Protokolls müssen
Sie ihnen den
Inhaltstyp geben und dann eine leere
Nacht und die Nachricht folgen. Also lass uns sehen. In diesem sollte
dies das Format sein. Eigentlich ist dies ein
Formatbild oder Diagramm und welche
Nachrichtentypen werde ich erklären. Ich erkläre es dir in
der nächsten Sitzung. Welche Nachricht
wird von dieser Seite in Bezug auf
diese Header-Dateien ausgegeben. , Wenn wir ihnen geben, was wir in unserem Fall tun
werden, wie werden wir das ausführen? Sie führen diese
Kommunikation zwischen dem Browserfenster,
dem
Apache-Server, durch. Wir werden einfach,
da wir es haben, die Einrichtung
unserer Maschine selbst haben. Er wollte es testen, um das zu erreichen. Wir geben die lokale
Hostadresse und den Computer, den Server, an, um auf dem lokalen Host
des DynamoDB-Laufwerks auf
der Browserseite zu hören . Wann immer wir
die VI geben , um dem Einheimischen zu geben , der die IP-Adresse gibt, wurde auf
die Maschine selbst gefeuert. Dann wird es in diesem Fall sprechen. Und Sie haben nicht
denselben Port, Server und Client zugeordnet. Sobald wir also die
IP-Adresse
des lokalen Hosts in der Reihenfolge geschrieben haben , gab ich die Portnummernquellen für diese Portnummer an
, auf die ich diese anwende, mit
derselben Portnummer. Also werden wir mit Namen der Server zu dieser
Portnummer sein, also 80. Und wir werden
auf der Clientseite
diesen lokalen Host machen , lokalen Host auf IP-Adresse auf der Clientseite
und mit der Portnummer. Hört zu, hört sich
diese Kundenanfrage an. Da die ADA
dieselbe Portnummer hat und derselben IP-Adresse auf
dem Server
zugeordnet ist derselben IP-Adresse auf
dem Server
zugeordnet . Sollten
wir es uns anhören? Und es wird es akzeptieren. Es akzeptiert die
Verbindung und sendet dann eine Nachricht an den
Client, die auf der
browserseitigen Textnachricht angezeigt wird . Also nicht Kumpel, entspann dich. Ich erkläre es dir
in der nächsten Sitzung ausführlich. Nur um dies zu verstehen die harten Daten, die wir bilden
müssen. Es wird direkt in
unserer Nachricht von
der Server-Site eingebaut . Nur diese Nachricht
wird von
der Identität des Servers geändert , um
die gesamte Nachricht zu schreiben , wird
die Protokollversion erhalten, und dann gibt er den Status 200 und die Statusmeldungen an. Okay, das sind all die
Dinge, die ich erfolgreich habe. Es gibt einen Grund, warum
wir dieses Detail und diese Informationen wie Datum angeben. Und dann sind
Inhaltstypen von nicht EPA betrachten Sie das Beispiel
von WW.example.com, dann ist es für index.html konfiguriert
. Es ist also die nächste Art von
Markt ist nicht der Bildtyp, also ist der
Inhaltstyp und wie viele Daten vom
Server übergeben werden, nahm neun, das ist der Inhalt Lin. Und dann sollte eine leere Zeile und die Nachricht
von Server zu Client gesendet werden. Sag hallo von irgendetwas. Dies ist die Sache, die von
der Server-Site besteht , bei der diese Daten ein Header-Format sind, das an den Client
gesendet wird,
um die Seite auf
der Clientseite zu laden. Also ja, sobald diese Antwort des
Beratungszentrums, wie in der vorherigen Folie
gezeigt, wird die Seite
auf der Browser-Zeilenseite geladen, aber die Nachricht, die
vom Server gesendet wird, dasselbe, was
ich Ihnen gesagt habe einmal. Der Server stellt diesen
Header dar und sendet an den Client. Und dann
wird die Seite seitlich geladen, auf der Browserseite mit der Nachricht auf dieser
Seite, aber sie wird gesendet. So
werden wir vorgehen. Jetzt sind wir damit fertig, die erforderlichen Konzepte
zu
verstehen. Und zuletzt sind dort
vorhandene
HTTP-Methoden, die dort
vorhandene radikal verschiedene
HTTP-Methoden wie get sind, das Patchen der URL. In unserem Fall
wird diese Methode verwendet, da
wir die URL abrufen. Daher wird die
GET-Methode
aufgerufen , wenn der Header konstituiert
ist, dann eine weitere Nachrichten
und Header-Header, um die
Informationen für die URL abzurufen. Eine andere Methode ist
das Speichern
der URL-Methode, die für Daten
an Sie veröffentlicht wurde. Ich habe keine Antwort
erhalten und den D2L gelöscht. Es gibt also verschiedene,
verschiedene Methoden des HTTP. Was, äh, was
wir brauchen, das ist das Gate, da wir die URLs abrufen
müssen. Ich hoffe, du hast das
Konzept verstanden, bevor du aufhörst. Bevor Sie mit dem Codieren beginnen. Es ist erforderlich, diese Sitzung zu
durchlaufen. So grundlegende Dinge, die wir besprochen
haben, hatten
wir gesehen, wie
diese Kommunikation vom Browser
zu dunkel auf beiden Seiten stattfindet. Das heißt, über jeden Link Sie in Ihren
verschiedenen, verschiedenen Browsern erwähnt haben, wird dieser Link analysiert. Das heißt, eine Anfrage des
Clients wird an
den Server und diesen
Client im Hintergrund weitergegeben .
Er bildet
den Header, der dieses Format
enthält,
wenn Sie angewidert werden, er enthält die
-Methoden, da Sie die URL und dann die URL
abrufen müssen. Angenommen, es ist indiziert,
angenommen, es ist beispiel.com. Der Standardwert ist
für index.html konfiguriert. Das ist also die URL, dann die Protokollversion. Da wir std verwenden, eine Version davon, dann der
Host, der beispiel.com ist. Dann wurde er geschrieben, ich habe
dir vier verschiedene Browser erzählt, wie Chrome für
meine Acquire Falls. Dave-Ableitung in einem
anderen neuen Benutzeragenten. Dann sind diese Informationen darin, wie reagiert diese
Verfügbarkeit
dann? Also war er auch
konstituiert, antwortet wieder bei der Konstitution dieses
Kopfes und Bodys selbst. Dieser Header wird also all diese Dinge
bestehen. Dies ist also
für unseren Fall erforderlich. Wir werden
die Nachricht aus der Mitte schreiben , indem wir
die gleiche
Kopie oder HTTP oder Telefon einfügen ,
tut uns leid, TCP-Server-Umrisse,
die wir gesehen haben. Wir werden die gleichen
Code-Partys kopieren, die DCP sind. Dcp mehrere Naught
Line Clientcodierung ist nicht nur TCP-Server erforderlich, wir schreiben den Code, den gleichen Code und
nur unnötig , indem ich sie
vom Server an den Client gespeichert habe. Nicht zentrierte Texte
wie hallo, hi, sand in Bezug auf das Kreditformat, in diesem Format, das wir zugeben
müssen, geändert in der Liste
alles sagt. Und dann können Sie sehen,
wie könnte ich Anwendung haben, wie gut Hyperlink darüber ist, wie die Seite geladen wird, wie man sie im Indexseitenformat
angezeigt bekommt. In der webbasierten
Formatbewertung gehen
Sie von der Seite weiter, aber auf der Browserseite ist
dies was und es
gibt verschiedene Methoden, also seien Sie bereit für eine neue Sitzung, aber haben wir nicht wird für die Online-Kommunikation des
HTTP-Servers, HTTP-Apache Server,
und
die Browserkommunikation auf TCP in Windows VDB codieren,
so seien Sie bereit dafür. Danke. Danke vielmals.
16. Socket Session10 Session10 Windows C++ Teil 1: Hallo, und willkommen zu
diesem neuen Abschnitt, der die Programmierung und
Ausführung eines TPP beschreibt. Unser T-Shirt würde die
Kundenkommunikation
auf der IDE auf DHCP browsern . Wie in der vorherigen Sitzung haben
wir das
Verständnis
des HTTP Apache-Server-Browsers gesehen . Clientkommunikation hat möglicherweise gesehen, was alles
erforderlich ist, wie die Seitenleiste und die
Browserkommunikation stattfindet, wie der Kunde ist, aber
wann immer wir starten, haben wir hinzugefügt, irgendwelche einzugeben Link
im Webbrowser. Und der Browser kann es sein, er kann explodiert werden, es kann gewachsen werden, es kann Firefox
sein, Browser. Ich bin Deputation. Dann wird diese URL in Form der
Kopfzeile,
die wir gesehen haben, an die Seitenleiste gesendet , wir haben das
Format des Headers gesehen. Bitte lesen Sie also den
vorherigen Abschnitt wenn Sie ihn nicht durchlaufen haben,
es ist das Verständnis im Detail, bevor Sie die Programmausführung
auf ID starten und diese Kommunikation auf der
Browser und Apache-Server. Wir haben gesehen, wie der
Kunde eine Nachricht an das Sediment sendet und den Header nicht
informell macht, dann wird der Siedler darauf antworten. Gleiches gilt für Dome Salk
Header, Header und Körper. Dann erhalten wir endlich die Nachricht ,
wo sie sich nicht entschieden haben. Nun, wir senden die Nachricht
wird im
Browser und auf der Webseite angezeigt. Wir werden sehen, dass dies ausgeführt
wird, wird das Programm auf die ID schreiben ,
die als Block-ID bezeichnet wird. Hier verwenden wir es so, wie
es frei verfügbar ist, und dann werden wir es
ausführen und Sie
werden sehen, wie wir die Kommunikation
machen. Fangen wir an. Jetzt die Programmanweisung, die ich
jetzt erwähnt habe, dass im Browser, was wir unter Browsern
tun werden. Angenommen, Sie verwenden
einen Chrome-Browser. Sie können jeden Browser verwenden. In unserem Fall
verwenden wir den Chrome-Browser. Und der Benutzer gibt
den Link so an. Was ist dieser Link? Der Benutzer
kann einen beliebigen Link angeben. Indem ich diesen
Link gegeben habe, weil ich möchte, möchte
ich, dass meine
die Kommunikation auf
demselben Host-Computer übernimmt . Bede schreibt den Code in
der Zelle in der Art und Weise, wie unentschlossene Wähler an
die IP-Adresse des
lokalen Hosts selbst,
dieser Maschine selbst kaufen die IP-Adresse des
lokalen Hosts selbst, . Und es wird
an denselben lokalen Gastgeber gebunden sein. Und der Client wird dann eine Verbindung
zum Server herstellen wollen. Wir müssen also
dieselbe IP-Adresse angeben. Also hatte ich mich gefragt
, wer dir einen bis
sieben Punkt 0 Punkt eins gesagt hat
, den du auf Kundenseite gibst. Also all diese Verständnisse,
das Programm zu schreiben, wie ich
es Ihnen in
der vorherigen Sitzung gesagt habe , erfordert das Wissen
der TCP-Kommunikation, die wir gesehen haben
Socket-Programmierung, die wir gesehen haben habe
für die Fenster getan. Wir haben
in einer
vorherigen Sitzung eine Reihe von
Online-Kommunikation durchgeführt , wir hatten gesehen, wie dies geschieht, wenn
Sie den Code sowohl
für den Server als auch für den
Client und dann
die Kommunikation schreiben könnten für den Server als auch . Ich habe also alte
Wasserfallmethoden, die für serverseitige
Endproduktlinien
verwendet werden . Ich mag Lautstärke. Dann muss es zuhören und dann außer unter Lehrplan, den
ich auf diesen gesehen habe. Also hast du die
ganze Sitzung durchgemacht. Du gehst nacheinander gut. Fast dekodieren, was
wir tun werden. Was ist stattdessen HTTP wert? Neun wird
dieselbe Codierung verwenden, die wir für die
Clientkommunikation des
TTP-Socket-Programmierservers
gemacht haben für die
Clientkommunikation des
TTP-Socket-Programmierservers
gemacht . Eine kleine Änderung
kann jedoch eine einzeilige Änderung der
Höhe des Sendens der Nachricht
vom Server an den Client sein. Wie wir gesehen haben, wenn wir die Kommunikation für unsere machen
müssen , sind diese
Aktienzertifikate
neun Kommunikation und Botschaft wert . Wir sollten damit fertig sein, es hätte
das Header-Format sein sollen. Server sollte
die Antwort an den
Client in FOMO geben , nicht wie im Vorwand. Dies ist nur eine Änderung an drei Codezeilen, die älter sind. Was ist das Gleiche
für die Server-Site, die Sie noch nicht weiter
gemacht haben PTP, auf
dem wir gesehen
und ausgeführt haben. Also müssen wir diese Zeile nicht
schreiben. Ford Hillary, wir müssen
nur die Server-Portzeilen schreiben und Sie nehmen Tippfehler ein, Sie erweitern auf diesem
könnte eigenen Browser, diese bestimmten IP-Adressen, es ist eine Loop-Back-Adresse. Das bedeutet, dass es sich um diese Adressen auf diesem lokalen
Host-Rechner selbst handelt, unabhängig von den IP-Adressen des lokalen Host-Rechners, es ist die IP-Adresse und Portnummer, die
wir sind Wenn wir eine 0 AT geben, wissen
wir, dass dies spezifisch für
HTTP ist , wird das Board
auch für die Serverseite geben.
Dies ist eine gute Zeile, die besagt
, dass wir
diese URL auf Chrome geben werden , diesen Zeilencode
nicht schreiben wird, Diese Einheit benötigt nicht, um diese URL und die URL zu öffnen, die
nur geöffnet sind,
wenn die Kommunikation
auf
demselben Host-Computer für
diese Zeile stattfinden soll. Also dieses Minima. Dies wird, und ich
denke an die IP-Adresse, lokale IP-Adresse
des Rechners selbst sein. Geben Sie diese IP-Adresse selbst an. Und diese Portnummern sind einfach der Client wird
sich mit dem Server verbinden und sagen Was ist mit der
Nachricht,
die wir vom Dienst senden , indem wir
sie in das SOC-Guthaben senden, bestehend aus der Haggadah sowie der Körper zu
Körper wird weitergehen. Die Nachricht war
auch, dass Sie weitergeben müssen. Und dann Output. Das ist auf dem Telefondisplay, Sie werden
unabhängig von den Sockets ausgegeben, was auch immer der Server
an den Client sendet, die Nachricht wie high auto, willkommen bei der
Socket-Programmierung welche Nachrichten
über Centralis auch immer. Also Startercode, damit du es
kannst, versteht er es nicht? Dies ist nur die
Programmaussage. Was ich dir gesagt habe. Sie müssen diesen Link im Zimmer
öffnen. Dies ist die Anwendung, dies ist die Clientanwendung
, die sich bei der Anwendung befand. Dann wird die Anfrage
an den Server gesendet und der Server antwortet, indem er den Text
sendet. Und dann
bekommst du
die Nachricht, welche Antwort
war und Schüler auf dem Display . Auf der Seite ist es
ein Ende, das wir auch
im Befehl falsch sehen können, z. B. wenn Sie zerebralen Code ausführen, können
Sie sehen, was der gesamte
Client an ihn gesendet hat. Das haben wir auch in der vorherigen Sitzung
ausführlich gesehen. Sehen wir uns
also hier an, wie die Kommunikation zwischen Browser,
Client und Apache
stattfindet. Wenn wir also diesen
Link Endo Chrome Browser geben, wird dieser Link
in Form von Header gesendet. Ich habe diese Botschaft bereits
besprochen. Ich habe gesehen, dass der Link an
die Kunden und die Kunden gesendet
wird und wir tippen diesen Link ein. Und dann wird der Client bilden, einen Header erstellen, wird an den Server gesendet. Es wird also das Versteckte
konstruieren und
dann an den Server senden. Wir haben gesehen, wie los
geht es, wenn der Kunde Konstrukte
sendet? Ich habe gesehen, in diesem
Fall ist die Methode fertig. Dann haben wir gesehen, dass es dieses Ergebnis
ergibt. Wir haben gesehen, dann
gibt es eine Protokollversion, dann ist das ein Host. Dann ist das eine riesige Region im älteren Format, in
der
ein Terminsinn für
den Server in Bezug auf älteren Format, in
der
ein Terminsinn für den
Header, den wir bereits vor dieser
Sitzung
besprochen haben , bitte gehen Sie es durch. Und Dani, ich erwähnte es, sendet die Nachricht an das
siebte Mal, als ich gehört habe, dass sie gesagt hat, was
auf diesen Kunden antworten sollte, auch in Bezug auf den Header selbst, ich habe kein Körperformat gemacht, es ist nur wiederholte dieses
unimodale Seitwärts- und Stimulusgefühl, das
auf den Client reagiert und der Server ihn in dieser Zeile
sendet. Es sollte also im
Kopf- und Körperformat vorliegen. Wir haben also gesehen,
dass der Server diesen
Beweis aller Jungfrau sendet, dann den Status, dass er erfolgreich
ist oder nicht. Die Statusnummer der
Statusmeldung in diesem Kartenformat, dann diese Detaildaten,
identifizieren den Inhaltstyp. In unserem Fall ist es also
einfach eine SMS. Wenn es gewählt hat, ist der
Inhaltstyp Text, HTML. Wenn es das Bild wäre, dann würde es Nutzen bringen
und dann Inhaltsland, das heißt, das bedeutet,
wie viele Daten vom Server auf die
Clientseite und dann
nicht leere Zeilen
übertragen werden . Und hier
schreibst du die Nachricht. Lassen Sie uns also sehen
, wie man sie
von der Server-Site aus als h schreibt. Es gab über die
Änderung hinaus, die
zusätzlich zum Board zwischen
einer Szene oder dem TCP-Server erforderlich ist . Dann ist dies eine Nachricht , die wir vom Server an
den Client senden müssen. Ich erwähne nur hier in dieser Präsentation und schreibe
dann das Board neu. Dann werden Sie
ein Z dazu bringen, diese
überarbeiteten oder kleinen
Konzepte,
Alkoholkommunikationsziele zu verstehen überarbeiteten oder kleinen . Dann gibt es einen Grund, warum
ich gerade
gehe, diese Präsentation
jetzt durchgehe diese Nachricht,
was du senden wirst, du gibst einfach keine korrekten
Indizes hinzu oder du kannst definieren, du kannst Hash definiert max, Summengröße und Sie können schraffieren, um die Augen für diese Zahl zu
finden und Sie können die Zeichen hier lesen. Dies ist nur ein einfaches Gooding
, um das Konzept zu verstehen. Und was ich dann mache, initialisiere
ich diese
Zeichenfolge auf diesen Frame. Dies ist nur eine Zeichenfolge
, die die Nachricht ist, das sind Ariel-Zeichen
und ich schreibe String-Kopie und ich
übergebe diese Zeichenfolge an sie. Wie ich Ihnen gesagt habe, sollte ich, wie wir auf dieser Folie gesehen haben wie wir auf dieser Folie gesehen haben, dieses Format
senden. Also diese Details über mich, ich habe
die Nachricht ausgefüllt, die Protokollversion
ist als die Statusnummern Davis Nachricht und
Inhalt und Inhalt dieses Datumsservers. Und wenn Sie diese Nachricht sehen, es Bits auf dem HTTP, dann haben ihre Version
des Protokolls und der gemeinnützige Status sie
dann als Nachricht als die Kontinente und dann sind es 47 Inhalt. Das heißt, wie viele Daten vom Server an
Clientinhaltszeit
gesendet werden, die benötigt
wird, um zu dampfen. Und dann fügen wir
den Körper tatsächlich hinzu, dann wird es einen leeren Schrägstrich geben und es
gibt eine neue Zeile. Und dann
schreibe ich Hi aus Tsunami. Ich kann alles schreiben, was
ich schreibe. Ich kann
Boning-Socket-Programmierung schreiben, hallo oder was auch immer
Sie zensieren möchten. Dies ist eine Botschaft mit Studenten. Diese Nachricht wird auf Ihrer Seite
angezeigt. Das werden Sie also von der Serverseite aus
senden. Beginnen wir also mit unserem Code. Sie müssen also installieren Code Block ID ist frei verfügbar und
es ist ein Open Source. Sie müssen die Lizenz nicht
kaufen. Es ist sehr einfach zu installieren und gehen Sie
einfach auf die Download-Seite und installieren Sie sie
einfach und beginnen Sie damit zu
programmieren. Fangen wir an. In meinem Fall bin ich schon
vor dem Menü geöffnet und doppelklicke
auf den Codeblock. Du bekommst diese Seite. Lassen Sie uns die neue
Projektkonsolenanwendung erstellen. Klicken Sie auf Weiter, C plus plus und dann auf den Namen, der hier ist. Das ist es. Geben Sie ihm
einen vernünftigen Namen, klicken Sie
dann auf Weiter und dann auf Beenden. Es wird auf das Call
Hello World-Programm für Sie fallen. Lassen Sie mich also die
Textgröße vergrößern, damit Sie nur eine Sekunde sehen können ,
was Sie Hill
tippen werden. Juden werden sehr groß sein. Lassen Sie mich eine Kopie eintauchen und
fügen Sie den Code ein. Ich habe den Code bereits geschrieben. Ich möchte nicht mit einem einzelnen Liner mit
Diamanttypisierung verschwenden, wie die einzelnen Zeilen erklären. Es ist also nur der
sich wiederholende Code. Einfach zusätzlich diese Nachricht , die ich in
dieser Präsentation gezeigt habe. Das war's. Also lasst uns aufmachen. Ich habe es kopiert. Okay. Dies ist der ganze Code, also ist das nicht neu für dich. Sie haben es bereits
bei der Bewertung der
Kommunikation von TCP gesehen . Lassen Sie es mich überarbeiten. 12 wie zusätzliche Leitung
bei Offline-Kommunikation des HTTP-Servers. Was wir zuallererst tun, beginnt
unsere Programmausführung
von der Hauptfunktion. Auch hier ist der Grund,
die Lumenfunktion zu sehen ein Einstiegspunkt, um die
Ausführung eines Programms zu starten. Welche Codezeilen Sie auch in diese Hauptfunktion
schreiben, sie wird
zeilenweise ausgeführt. Jetzt müssen wir
diese Header-Dateien deklarieren. Im Falle des
Windows-Betriebssystems zeigt
es, dass wir
die Funktionen davon nutzen können. Wenn Sie eine
Funktion aufrufen, verwenden Sie eine beliebige Funktion. Da ich festgestellt habe, dass
Sie erwähnt haben es keine kompilierte
Wiesenzeichenfolge gibt , dass
es keine kompilierte
Wiesenzeichenfolge gibt, ist dies ein echter
Buchcharakter und wir haben
es einfach mit diesem Format initialisiert. Ich erkläre dir
das im gleichen Format. Dennoch pipe ich die Nachrichten und lerne vom Erlernen der
Socket-Programmierung. Dann. Das sind WSL-Daten. Du hast also schon
gesehen, was WASH ist. Überarbeiten Sie es schnell. Diese WAS-Daten werden also verwendet, um die
Socketbibliothek der Regierung zu initialisieren. Wir haben diese WAC d tau gesehen, das sind alle diese Daten nach-Op, nämlich dass es sich um eine strukturierte Kreuzung der Strukturen
im zweiten Argument handelt. Was hat diese Struktur? Also zuerst, was ist diese Funktion,
wie ich Ihnen sagte,
sie wird verwendet, um sie zu initialisieren. Und Socket Library, Zipper
zieht diese WSS-Daten ab, in denen das erste Argument sagt was das Programm verwenden
möchte,
welches sich in der
Socket Library für Frauen anmeldet. Da das Programm die Version 2
verwenden möchte, müssen
wir in diesem Format
eine machen und dann
Klammer zwei Komma 0 runden. Dann ist dieses zweite Argument
, also Ws-Daten
, eine Struktur
, die dies ist. Sie haben ein
Objekt dieser Struktur erstellt. Diese Struktur. Also hier geben
wir das vorbei. Sie erwähnen die
Adresse in dieser Struktur, sodass sie
von dieser Funktion verschüttet wird. Was ist der Zweck
dieser Struktur? Es wird also sagen, dass diese Diamant-Salz-Bibliothek die kritischen Informationen
weitergeben wird . Kein Programm, das angibt, wie
viele Sockets erstellt werden
können und andere
notwendige Informationen. So wird es erstellt, wenn wir
diese Zielfunktion aufrufen, die zur Initialisierung
der Wind-Socket-Bibliothek verwendet wird. Dann haben wir auf diesem
ROSI gesehen und Sie müssen
einen Socket erstellen, indem Sie die
Socket-Funktion drei Argumente
oder ihr Posts-Argument aufrufen . Dies ist eine
Dennett-Interessenfamilie. Es ist EOQ in einer
Sekunde unterstrichen ist ein Typ des
Socket-Typs. Es ist ein Stream. Wir verwenden eine zuverlässige
Socket-Kommunikation und denken
immer daran, dass
Sie,
da wir
die Kommunikation von HTTP durchführen , immer auf TCP selbst
stattfinden sollten
, also VCB-Rack, in dem
Sie eine Dimension haben. Siehst du
Musikkommunikationsprotokoll? Sie haben bereits im
Socket gesehen, dass es sechs Session ist. Und du hast den
Streamtyp und dann die Nullen erwähnt. Dies ist das
Standardkommunikationsprotokoll. Ihr Leute in einem Chaser 0. Jetzt haben wir den Socket
erstellt, jetzt wird der
Socket-Deskriptor zurückgegeben. Mit diesem Deskriptor wir
die Bind-Funktion auf,
rufen die Listen-Funktion auf und beenden
dann die Funktion durch
diese beschreibende, da wir an diesen
Socket-Deskriptor-Socket binden
werden. dann ist dieser
Code dieser. Dies haben wir bereits gesehen
, dass dies eine Struktur ist. Add R. So ist
es, es ist eine Struktur, die
wir hier geschrieben haben, obwohl eng,
diese ist eine Struktur
und das ist ein Video, ein bisschen von
einer Kugel
, die du hast,
ich habe dir gesagt, dass wir muss vorteilhaft
neu erstellen, um den
Socket-Deskriptor-Post zu erhalten, indem die Socket-Funktion und
Analyse auf einer Disk News,
Saga, Descriptive
und Nicole die
Exit-Funktion aufrufen, die wir bereits hinzugefügt haben. Und das diese Struktur. In dieser Struktur füllen
Sie die IP-Adresse ein, an die sich dieser
Edward binden muss, unterstützen Sie
alle notwendigen Details, die
Sie dort angeben werden. Das geben Sie IN einem DVR und schließen
Unaufdringliche aus. Ich habe ausführlich erklärt,
was
diese IP-Adresse bedeutet , an
die sich der Server binden sollte, wenn
wir dies genutzt haben. Was ist ein EDD bei
unterstrichenem Bedarf, kann an alle
Netzwerkschnittstellen
im selben Host-Computer
gebunden sein an alle
Netzwerkschnittstellen
im selben Host-Computer
gebunden . Wenn Sie also eine Verbindung herstellen, wenn
Sie keine verwenden, hat
es eine
andere IP-Adresse, ist eine unabhängige
Netzwerkschnittstelle. Diese IP-Adresse adressiert den
Server erneut, indem Sie alles ausfüllen was Sie verwenden, um
sich mit ihm in den Nacken zu verbinden. Wenn Sie Land Out verwenden, wenn Sie Wi-Fi,
WLAN verwenden und eine andere Idee haben, eine andere Netzwerkschnittstelle. Wenn Sie Wi-Fi verwenden, dann kann es sich
um fünf Jahre auflösen. Da ist es. Es kann zwei
Netzwerkschnittstellen kaufen, die dann hinzugefügt wurden, das haben wir
erwähnt, dass dann Nummer wir
hören dub. Seitwärts sollte
an diese Portnummer gebunden werden ist 0 AT für die HTTP-Verbindung. Auf der Clientseite
sollte es sich mit
derselben Portnummer verbinden. Das heißt, was kauft zwei. Dies ist also sehr wichtig
Diabetes wichtige Zahl , die Linie auf dieselbe
abbilden
sollte, sollte mit derselben
Verbindung hergestellt werden. Dann
haben wir diese Struktur gespürt, dass wir
die Funktion aufrufen , in der wir
mit diesem Socket-Deskriptor konfrontiert sind . Wir geben diese Adresse weiter. Störungen
hatten tatsächlich ziemlich über Diabetes und die
Portnummer und deren Größe. Dann hatten wir einen Aufruf
der Unterrichtsfunktion. Jetzt hörst du zu. Listen-Funktion
nochmal, wir übergeben den Socket-Deskriptor im
Gegensatz zum Argument. Das zweite Argument enthält
bekannt, wie viele Nummern
der Clientverbindung in der Warteschlange stehen
sollen. Wie viele haben sich noch einmal entschieden, verarbeiten tatsächlich
nacheinander und Ken-Prozess sobald die
Kommunikation Mitte des Monats abgeschlossen ist, dann wird
die andere Zeile verarbeitet , um wie viele
Anzahl von Nummern sollte es sein, es sollte auf
Clientverbindungs-Site warten , aber abnehmende
Leitungsverbindungs-Site
akzeptieren, eine
Verbindung zum Client herstellen. Wie viele
Clientanfragen können also vorhanden sein,
wenn es mehrere Zeilen gibt? Wenn es also drei Zeilen gibt, wollen
wir auf sein,
Connect eigentlich, also sollten sie in der
Warteschlange sein, die verarbeitet wird. Wir können also die Neun Bedingung erwähnen , die innovativ sein
sollte. Du hast Nullen erwähnt, da wir immer nur eine
Verbindung haben wollen.
17. Socket Session10 Session10 Windows C++ Teil 2: Sobald es eine Verbindung
von der Clientseite erhält , hört es zu und akzeptiert
dann die Verbindung. Sie sind also hinter dem
Deskriptor des Sockets vorbei. Wir werden diese Struktur übergeben
, die leer ist. Dies wird verschüttet, wenn wir hier die Exit-Funktion
aufrufen, die Details des Clients
werden da sein, welche IP-Adresse, Portnummer und all das. Diese ISO zur Zerstörung, die diese Bedingung
überprüft, ob sie erfolgreich ist
oder nicht erfolgreich ist, dann wird es wieder geladen werden, ist Krypto-Dividendendeskriptor des Sockets, neuer Deskriptor des Sockets. Warum
sind Deskriptoren erforderlich Sie der erste
Deskriptor, der tot ist, es ist erforderlich, x zuzuhören. Eigentlich finanzierte unabhängige
Verbindungsanfrage. Dies wird
mit dem des Kunden in Verbindung gebracht. Und der Socket könnte DO
verwendet werden, um die Daten zu senden und zu
empfangen. Das wird sich also
in dieser Arbeit beschäftigen. Daher
wird dies anders sein als das, was wir tun. Hier. Wir hatten die
Nachricht von der Frist erhalten. Welche Nachricht
hier erhalten Sie einfach, da wir diese schreiben,
tippen oder schreiben werden , ich war ein Link
im Chrome-Browser. Wie ich dir was gesagt habe, wirst
du nur
eine lokale Host-Portnummer übergeben. In diesem Fall wird diese Nachricht, aber sie würde von
Client zu Servereinkommen der
ehemaligen sowjetischen
obersten Bassanio-Verbindung weitergegeben . Also habe ich Ihnen gesagt, dass es in Bezug auf
unsere Header-Kommentare
von Client zu Server schnell sein
sollte , die Nachricht wird die Handhabung
übergeben, das Header-Format
in früheren Sitzungen
gesehen hat . Es sollte
die Methode senden und es sollte U1, U2 geben. Es sollten die Kosten der
Protokollversion nach der Methode sein. Dann sollte es die URL, dann die
Protokollversion und der Host und
dann die User-Agent-Header sein. Wann immer Sie diese Nachricht
vom Client
erhalten, wird
diese Nachricht
in dieser String empfangen , die ungefähr vier ist, und wir drucken
sie, damit Sie alle Dinge drucken können
auf der Serverseite. Was der Client sieht,
ist im ausgeblendeten Format, um die Bewegung auf dem HTTP, dann über die
URL und dann über sie. Über diese Methode, über
die mögliche Methode, erhalten
Sie die Methode,
dann werden Sie jedoch erneut URL und Sie erhalten die HTTP-Version und wer ist
die Benutzerregion, das werden
Sie sehen. Und dann ist der Anblick Gottes, der die
Botschaft sendet, dieser. Was hat diese
Nachricht, die wir
hier gesehen haben und wir haben uns dazu
gefühlt,
das heißt, wir übergeben auch die Antwort vom Server
im Header-Format, keine einfache Textnachricht, nicht hallo, hi, so sind wir. Sie müssen in diesem Format
selbst schreiben , damit die Nachricht , die
vom Server an den
Client gesendet wird , die Anzeige
erhalten sollte. Display, das auf die Konsole
gelangt sollte das innere
Webseitenformat haben. Das wird also eine
Übergabe des Logins hier sein. Dann
bilden diese Daten, Zahlen,
Status, Nachrichteninhalt
und wie viele Daten Anleihen enthalten, unsere Frist, dann als zehn Typen, um
SDM und den Hauptteil zu erkennen. Diese Nachricht oder diese Reaktion
übergibt einfache Message
Learning Socket-Programmierung. Dies sollte also im Browser
angezeigt werden. Sobald das Sediment
verbunden ist, tun Sie es an der Linie. Kunde,
der die Komplikation absteigt. Wie der Kunde
starten wir die URL. Und dann fügen Sie eine vom Client zu
Server
erhaltene Liste hinzu, informell ******. Und dann senden wir auch diese Nachricht und formelle
Gutschrift und im Browser. Schließlich erhalten Sie die Nachricht
, da dies der Parsing-Thrombo
ist der Parsing-Thrombo vom Server zum Client diese Nachricht und dann fügen
wir hinzu, sie zu überprüfen. Kein Editor ist, dass wir den Socket schließen,
wenn es
sich um eine Nachricht handelt, die 0 bedeutet . Das ist also alles Kodierung erforderlich. Welchen HTTP-Server, wir brauchen nicht um die Codierung oder den Client durchzuführen, Sie
müssen
lediglich einen Link im Browser eingeben ,
der nur
obwohl oder eine Nachricht ist , die nicht zugehört hat. Und Nenner kompiliert
den Code. Und mal sehen. Dies ist
die aktuelle Datei kombiniert. Hier kannst du also keine Mitose sehen und lass es mich einfach versuchen. Neue Ideen sind vorhanden. Jetzt müssen Sie dieses
Programm ausführen, indem Sie auf klicken. Wissen wie du willst,
du musst hin. Ich habe bereits in
der früheren Sitzung gesagt , gehe
auch zur Ansicht. Und dann musst
du in der Niederlage diese Kiste nehmen. Wenn Sie jetzt eine Rechnung abgeben
, wenn Sie erstellen
und ausführen, können
Sie in diesem Fall sehen, dass der
Server läuft und er Sie fragt, dies praktikabel ist, ob
Sie Nexis zulassen möchten? Ja. Jetzt wartet der Server
auf eingehende Verbindungen. Jetzt müssen wir senden, du
musst die URL öffnen. Sie müssen einen Link auf
den Link im Browser eingeben. Das wird einfach sein, wie ich Ihnen sagte, es wird die lokale
IP-Adresse eins bis 7 US-Dollar Punkt
eins sein , und die Portnummer
80 ruft
diesen Link im Browser ein
, der sich an neun Standorten befindet. Dann
findet die Kommunikation zu
Server statt und Server
sendet die Nachricht in Bezug auf das Erbe
und mildert auf diesem Browser diese Nachricht
wie die, die wir erhalten sollten. Wir sollten diese bekommen, die, was auch immer Sie ihnen eine Nachricht
auf der Body-Site
gegeben haben ,
Socket-Programmierung lernen. Mal sehen, lass es uns machen. Ich habe mich geöffnet und
tippe diese URL ein. Ich sagte dir, wir haben
zwei Keimblätter, eins bis 710 Nr.1 Doppelpunkt 80. Dies ist die Loopback-Adresse, dieselbe IP-Adresse dieses
lokalen Hosts und Portnummern in der serverlosen Bindung an diese IP-Adresse
und Portnummern. Also sollten wir auf der
Kundenseite denselben geben ,
den wir geben, und doppelklicken Sie
dann einfach darauf. Also hier sehen Sie, dass
wir diese Nachricht erhalten haben, ich habe auf diesen Link doppelt geklickt. Ich habe
Socket-Programmierung gelernt. Was ist jetzt passiert? Ich bin im Browser,
Chrome-Browser, dieser
bestimmten IP-Adresse gestorben . Die Hafennummer, die
entscheidet, woran
einfach gebunden ist , und diese
Botschaft, die Gott erhalten hat, was auch immer der Kunde
das Wasser sendet, den Dienst erledigen, und dann wird
es, sie wird sich umwandeln, finden sich selbst konvertiert diese URL vor dem
Senden an den Server konvertiert sie in
das Header-Format
, so dass ich im Dienst diese Nachricht
erhalte. Also lasst uns diese Botschaft sehen. Was wir hier bekommen haben, können
Sie feststellen, wo ich die Nachricht von der
Clientseite in Bezug auf die Kopfzeile erhalten habe, wenn Sie ein neues hinzufügen, das hier in IVF,
IP-Adresse und Portnummer
übergeben wurde . Es wurde also in
das Header-Format konvertiert und auf der
Softwareseite gedruckt, egal welcher Client zum Server
absteigend ist. Die Botschaft. Hier können Sie sehen, wie ich Ihnen sagte, all diese Dinge, die sein
Client diese Methode sieht, die Protokollversion, dann ist
der Host dies,
dann Benutzeragent. Dieser Rückgang geht also
auf den Server ab, den
wir serverseitig drucken. Wie Sie sehen können, haben
wir in diesem Programm selbst gesehen, wie Sie es in diesem
Programm selbst gesehen haben. Diese Zeile sagt eigentlich und auf der anderen Seite, was die
Nachricht erhält, und wir bringen das Jahr sowohl im was die
Nachricht erhält, und wir
bringen das Jahr sowohl im
Puffer als auch wir drucken
es nicht verkauft. Das ist ein Grund, warum wir all diese Nachricht
erhalten,
unabhängig davon, was der Client in
Bezug
auf den Header an den Server sendet . Nun, der Client, dann der Server tatsächlich, sobald
er diese Nachricht erhalten hat, fügen wir diese erneut seitwärts hinzu, und dann sendet der Server
eine Nachricht. Sobald es eine Nachricht
vom Client erhalten hat
, antwortet der Server
zurück, indem er die Nachricht sendet. Und diese Nachricht, die
wir hier gesehen haben, geben
wir weiter, was
wir
diese Nachricht übergeben, und gibt alle Arten von Formaten
im gleichen Format ab. Aber wir schreiben
all diese Details, diesen Fama Titus, verschiedene Fotos und für den
Client oder den Server. Erstens wird es die
Protokollversion als den Staat geben. Diese Zahl ist Peters
Botschaft, Inhaltstyp, Inhaltslänge und
all diese Dinge, dann mit der Bank
und dann dem Körper. Welche Botschaft? Diese Nachricht, was Southwest Science Server
an den Client sendet, müssen
wir in dieser Basis anzeigen. So können Sie sehen, was das
Lernen der Socket-Programmierung betrifft. Dies ist also eine
Zwei-Wege-Kommunikation, die stattgefunden hat. So musst du rennen. Eine weitere Sache, die Sie
eigentlich erwähnen Wenn Sie noch nie
die Socket-Kommunikation
in Ihrem einzelnen Computer Rodin haben , derselbe Computer möglicherweise immer dann, wenn Sie diese neue ADA
schreiben, enden Sie die Portnummer, die Sie
möglicherweise als Editor erhalten. Eigentlich ist das
sehr wichtig, also bitte lade es
neu herunter. Möglicherweise erhalten Sie eine Berechtigung zum Bearbeiten , die
tatsächlich
verweigert wird, da tatsächlich
eine Firewall es tatsächlich
eine Firewall gibt, in der Sie
nicht kommunizieren können. Kann passieren. Es kann passieren. Es erlaubt, aber
wenn es nicht erlaubt, gibt es
Ihnen die
Erlaubnis verweigert. Eigentlich müssen
Sie in diesem Fall einige Einstellungen vornehmen. Ich habe gerade erwähnt, dass
du es
jetzt erwähnt hast, damit es für dich
hilfreich ist. Verpassen Sie also nicht dieses DOM, was sehr wichtig ist. Möglicherweise sind einige Phasen ein Problem, Sie können es einfach beheben. Du musst nur eine Sekunde machen. In diesem Fall müssen
Sie den Notizblock öffnen. Sie müssen tatsächlich nicht erlauben
, tatsächlich zu
kommunizieren,
und das ist ein Fehler, der sich tatsächlich mit dem
lokalen Host selbst verbindet. Daher müssen
Sie die Host-Datei ändern. Diese Host-Datei, Sie haben nicht die Berechtigung, sie als
bestimmten Speicherort des Präsidenten zu
ändern , an dem ich Sie
jetzt mit dieser Hostdatei informieren
werde, müssen
Sie eine
Zeile hinzufügen, die tatsächlich, also dass es sich
mit dem Host verbinden kann. Diese Host-Datei, die Sie an seiner Tür
ändern werden , hat
keine Erlaubnis, also
müssen Sie zuerst den Notizblock auf diese
Weise öffnen, Geld
zurückgeben,
Sie müssen schreiben, Läufer Administratoren
werden Sie fragen, wo möchten Sie zulassen? Ja. Dann mach ich es einfach. Alles klar. Diese
Zeile ist tatsächlich eins bis 7$ Punkt
eins und dann lokal. Dies ist das Format. Und
ich werde es retten. Hier. Ich werde es mit dem Namen
speichern wie mit, ST ist gezwungen. Was wird also der
Standort sein? Es wird C. Programm findet Liste sein. Ich muss zu C Windows-System
zweiunddreißig Treiber gehen . Dann EDC. Dies ist ein Tierarzt und ich
muss ihn speichern. Und dann ist das das, ich
muss es hier speichern, indem ich auf Speichern
klicke. Ich habe es schon gespeichert. Eigentlich
möchte ich nicht wieder speichern,
also ist es schon zu sehen, klicken Sie
einfach auf „Sehen“. Sobald Sie auf
Speichern klicken, werden Sie in diesem Fall auf
diese Weise ausgerichtet, werden Sie in diesem Fall auf
diese Weise ausgerichtet um das Problem der zahnärztlichen Erlaubnis
zu vermeiden. Dies ermöglicht es Ihnen zu fliegen. Es wird eigentlich kein
praktikables geben, sodass Sie
über diesen lokalen Host kommunizieren können. Dies ist nur die Einstellung
, die erforderlich ist. Jetzt zurück zur Präsentation. Jetzt sind wir
fast damit fertig. Also ja, wir sind
mit dieser
HTTP-Server-Neun-Kommunikation fertig , die HTTP-Apache
Serverkommunikation mit dieser
Browserskizze, die wir auf der Idee
gesehen und
hier ausgeführt haben . So können Sie sehen, wie die Kommunikation
stattfindet, und Sie können
sehr minimale Änderungen sehen , die in
Bezug auf
die TCP-Kommunikation erforderlich sind,
nur
an die wir die Nachricht vom
Server senden müssen Kunde. Im formellen Pedal haben
wir gesehen, wie,
wie das Format davon ist
und hoffen, dass Sie es aussenden. Welche Sitzung haben
wir gesehen? Wie können Sie, wenn Sie die URL in
dem Browser angeben , der sich in Chrome
befindet, jeden Browser,
Firefox, alles verwenden. Wie dieser Client
die Nachricht dann an den Server
sendet, bildet er einen Header. haben wir gesehen, indem wir es oben
gedruckt haben. Die Identität des Servers hat gesehen ,
wie serverseitiger Code geschrieben wird. Wir senden die Nachricht vom
Server an den Client in formeller Art, die Sie gesehen oder gesprochen
haben, um sie in einem beliebigen Programm zu senden. Und das ist keine Dumps davon. Und dann wird die Nachricht
, die der Server sie
sendet,
auf der Clientseite angezeigt. So findet die
Kommunikation statt und wir sind
mit dieser Sitzung fertig. Danke. Danke vielmals.
18. Socket Session11 ProgramExecution HttpApacheServerClientCommunication C: Hi, willkommen zu dieser neuen Sitzung. Polyphemus-Betriebssystem nicht, wir werden ein anderes Programm
für die
Kommunikation zwischen HTTP,
Apache-Server sowie
Browser-Clientkommunikation
mit der C-Sprache durchführen für die
Kommunikation zwischen HTTP, Apache-Server sowie . Zu Beginn dieser Sitzung haben
wir ein weiteres Programm
im Linux-Betriebssystem durchgeführt. Wir haben die
Programmierung mit C
sowie C plus plus für mich gesehen , ich habe die Kommunikation für
TCP- und Clientkommunikation durchgeführt . In dieser Sitzung werde
ich Ihnen
in dieser Sitzung erklären, wie Sie HTTP-Apache Server
beim Surfen der Online-Kommunikation
erreichen können. Also hier, was wir tun werden, das gleiche Programm, das
ich für
das
Windows-Betriebssystem mit C plus plus gemacht habe. Sie haben
diese Sitzung auch hier durchlaufen, je nach Auswahl, ob das
Betriebssystem Windows hat, Sie können diese Sitzung aufzeichnen und die
Codierung dafür schreiben. Sollte eine Partei mehrere
Wachstum sein , als
frühere Sitzung zu vermeiden. Wenn Sie das
Linux-Betriebssystem haben, können
Sie diese Sitzung verweisen, aber wir machen das gleiche Programm für das Linux-Betriebssystem. Was passiert an diesem Rand
, um Ihnen über Di Salvo, Rosa
Kundenkommunikation, ein Shuffle zu geben. Der Benutzer gibt
einen Link im Browser an. Browser kann alles sein, es kann die ruhigere
Box sein, die er wachsen kann. Was passiert in diesem Fall, da dieser Browser eine
Clientanwendung ist. Also
wird die Anfrage intern an den Apache gehen, irgendwie ungerade, wird in
Bezug auf den Header sein. Und dann sendet der Server eine
Antwort in Bezug auf den Header. Und dann wird diese Antwort mit der Nachricht da
sein, was auch immer der Server
an den Client senden
möchte , alles, auf der
Seite des Browsers angezeigt
wird. Wir haben also gesehen, dass
wir dieses
Verständnis des
HTTP Apache-Server-Browsers in
unserer früheren Sitzung dort gemacht haben , in unserem Verständnis
dieser Sitzung, aber in Island haben Sie
das Konzept was Der HTTP-Apache
Server-Browser beschreibt, wie dies der Client
eine Anfrage in Bezug
auf
das Parallelformat an den Server senden würde . Und wie Senden Sie dann eine Antwort
an die Klientin in Bezug sie, die alle Erklärungen verkörpert, die in einer Sitzung
behandelt werden. Diese Sitzung
können Sie auch für
dieses
Linux-Betriebssystem
und auch für das
Windows-Betriebssystem benötigen auch für
dieses
Linux-Betriebssystem . Und dann habe ich
einen anderen Chirurgen
für das Windows abgedeckt , in dem
wir haben, wir sind fertig mit der
Programmierung und Ausführung auf den Holzschnitt Jodfalten hier wird das für Linux tun, wird die Programmierung
Polynices machen und wir werden es ausführen. Aber Mobilteile, Verständnis der Konzepte,
die Sie
die vorherige Sitzung melden können , habe ich nicht getan. Ich habe ein grundlegendes
Verständnis dafür behandelt, wie Apache-Server und Client in Bezug auf das
Senden des Headers
kommunizieren und wie er auf die Seite unserer Geschenke reagiert. So können Sie
die Konzepte verstehen die die früheren Sitzungen
zurückgeben, die
sowohl für Windows als auch für Linux ungewöhnlich sind. Nun, fangen wir hier an. Wie ich Ihnen sagte, was wir hier tun
werden, werde
ich die
Quiet Box des Käufers als Browser verwenden. Und ich werde diesen Link geben. Dieser Link, den ich uns einfach
geben werde, können
Sie wissen, dass dieser
127$ Punkt 0 Punkt eins, es ist eine
Loopback-Adresse. Hab dir erklärt. Loopback-Adresse
bedeutet, dass sie sich auf
die IP-Adresse der
lokalen Hauben von Lucas bezieht . Das ist also mein Laptop, wo ich diesen
Link in meinem Browser geben
werde. Ich hatte jede Dimension, diese 127 Dollar Punkt, es wird an die IP-Adresse
meines lokalen Rechners von meinem Laptop gemeldet . Das bedeutet einfach, und dies ist die
Portnummer 80 in diesem Browser bedeutet, dass Sie eine Clientanwendung
verdienen. Jetzt wird diese Leitung mit ihnen
kommunizieren. Es wird also beschrieben, diesen Link an den Server an
den Server zu
senden , der jetzt Teil zwei Server
ist. Also habe ich in
dieser früheren Sitzung erklärt , dass ich die Konzepte vielleicht nie
erklären werde. Also habe ich erklärt, wie
dieser Kunde
diese in den Kopf schicken wird , was alle Dinge als nützlich
darstellen werden. Wenn Sie die Details
durchgehen müssen, melden
Sie bitte diesen Abschnitt. Und dann sendet der Server
eine Antwort an den Client. Sie werden also einfach
bekommen, dass
das, was der Server sendet, eine Nachricht darauf geladen
wird. Ich war bei Brown und sagte, das
ist auf dem Feuerball. Also haben wir auch
die Programmierung und
eine weitere Sitzung für das
Windows-Betriebssystem durchgeführt . Jetzt werden Sie hier für das Linux
sehen, das ist alles, was wir tun werden. Geben Sie diesen Link einfach auf
der Anwendungsseite
an, auf der Clientseite, die
sich auf der Browserseite befindet, einen Firefox. Und dann
wird intern die Anfrage von Client
zu Server in der Zelle selbst gesendet, ich werde ihnen
eine Nachricht in Bezug auf Verschiebungen im Dome-Top-Header-Format
und in welchem Körperformat geben. Und das wird in
Ihrem Browser geladen,
unabhängig davon, ob der Server eine
Hallo Nachricht sendet, die in Ihrem Browser
angezeigt wird , der sich auf der Clientseite befindet, unabhängig von der Nachricht oder ob
das Socket-Programm, irgendetwas, welche
Nachricht auch immer gesendet wurde. Es wird auf der
Seite angezeigt, Webseite Walmart. Das werden wir in unserem Programm
tun. Dann hier ist
dies nur eine Erklärung, was ich dir gesagt habe. In Bezug auf hohe Dosen können
Sie es durchgehen. Dann sendet die Linguale ein formales Produkt vom Client an den
Server. Und als Antwort werde ich Nachricht und
formelle Kredite und Gremium
vergeben. Wenn Sie
das richtige Format der Kopfzeile und
des Haupttextes melden müssen , auf die frühere Sitzung
Bezug genommen wird verstehen Sie das
Konzept des Programms. Programmierung für
HTTP-Server-Outline. Sie können einfach verstehen, diese Sitzung
durchlaufen, um das Konzept
genauer zu verstehen. Dann. Dies ist nur der Kopf, ein Format, das vom Server an
den Browser gesendet wird. Das ist also nur ein Format
, das ich gesendet habe, das ich hier angezeigt habe. Die Seitenleiste erkennt, was auch immer
diese Zeile absteigend ist, oder
Sie geben auf
der Clientseite eine URL an,
die vor Ort zertifizierbar ist. Dann wird diese
Anfrage dann
vom Client an den Server gesendet .
Die Farmen sind parallel. Dies ist es, was der Server eine Antwort auf den Abfall
sendet, und dies ist jede Antwort. Dies ist also der Antworttyp
des Kopf- und Körperformats. Hier können Sie sehen, dass ich Ihnen gesagt habe, dass
unterschiedlicher nicht in den
Haaren bestimmt Server an den Client sendet, möchte die Version des Protokolls aufrufen ,
das wir verwenden
das HTTP als den Status, ob es erfolgreich ist oder nicht, die Statusnummern, die
Statusmeldung. Dann gibt es Details,
also Datumsserver, und dann diese
Inhaltstypen des Inhaltstyps. Da
wir in unserem Fall in unserer Programmierung ein einfaches Textformat
senden. Wir senden eine einfache Nachricht senden das Bild nicht
vom Server an den Client. Als Antwort
erwähnen wir, dass ihr
Inhaltstyp Text-HTML ist, Lipid war ein Bild,
dann war es anders. Er hatte Wir werden einfach
Erkennungen als Antwort
vom Server zu Client senden . Das ist jedoch der Grund. Dieser Header,
der da sein und vom Server zum
Client
gesendet wird, wird Endoderm sein. Der
Inhaltstyp wird Text, HTML und die len sein, egal welche Datenbytes
jene Sedimentär egal welche Datenbytes
jene Sedimentär in
ihren Anleihen neigen , die wir hier erwähnen
müssen. Dann eine leere Zeile, die ein
bisschen ist und dieser Körper, dieser Text, werden wir
die Nachricht vom Server zum
Client senden , damit wir Belastung brauchen. Du kannst dich überholen. Du kannst
verstehen, dass es Wasser ist. Diese haben immer
an den Kunden gesendet. Und dann
wirst du die Seite geladen. Dann gehe ich zum nächsten Ding. Hier ist alles hier, wie in der vorherigen Sitzung auf diesem Linux-Betriebssystem. Wenn wir
die Kommunikation
für den TCP-Server-Client durchgeführt haben ,
was wird hier für den
HTTP-Server-Client benötigt, wenn Sie mit der
vorherigen Sitzung vergleichen und wir wurden thumbing Heiligkeit
Betriebssystem für TCP-Server-Linie. Es gibt keinen großen Unterschied
in diesem HTTP über digitale Kommunikation,
weil wir die Stolonen hinzugefügt haben. Wir müssen die Botschaft übermitteln. Wenn wir eine Nachricht senden, sollte
sie von diesem Typ sein. Das heißt, es sollte
den Hadean Haydn Körper enthalten. Sie können sehen, dass es den Header
enthalten sollte. Dieser Header. Dies ist
die diagrammatische Ansicht. Als ob es so aussieht. Die Version dann die
Statusnummer der Statusmeldung und
alle diese Details, Inhaltstyp, Inhalt, Lin, Leerzeile und dann Text. Also das müssen wir in uns unseren Code
schreiben. Also hier schreiben wir
nur den Servercode
während des HTTP-Servers, wir müssen
den Clientcode nicht schreiben. Während dies oder beim Programmieren. Nur Kunde müssen wir einen
Link auf dem Router geben und auf der Serverseite müssen
Sie
diesen Code schreiben und wir
müssen diese Nachricht senden. Und Farmer, ich habe nicht Körper, was ich
in diesem Diagramm erwähnt habe. Wenn der Service, das klettern
will , sollte es das wärmer
bedeuten. Dies ist nur eine Änderung. Wenn Sie dieses
Kommunikationsinstitut erreichen müssen, so gut geneigt,
müssen Sie diese Nachricht zusätzlich hinzufügen. Was wir im Vergleich zu der früheren Sitzung
für den TCP-Server-Client tun werden, was Sie trinken müssen, war einfach eine
Nachricht an den Server zu senden. Hier, was wird passieren? Wenn Sie dieses Programm mit
dieser HTTP-Nachricht in Bezug auf die URL mit dem
Server vergleichen . Und dann wird das intern
sein, es wird in Bezug auf
das Header-Format sein, es hätte
in der früheren Sitzung behandelt um
das Konzept davon zu verstehen. Dann sagte dieser Server aufsteigend
und sagte dann über verfügbar. Senden Sie also eine Nachricht in einem Video mit der Nachricht von
der verfügbaren Client-Site. Schreibe die Nachricht auch
auf den Socket. Das ist also unsere
Änderung und welche Nachrichten werden von diesem Typ sein? Das ist von diesem Format. Das ist die Dichte der
HTTP-Protokollversion, diese Zahl, Statusnummern, Statusmeldung und
dann Inhaltsland, wie viele Daten es von Solar
überträgt nahm Zeile, dann der
Inhaltstyp wo es gibt überschüssige GM und dann Körper. Dann kannst du einen
Schrägstrich sehen und das ist eine leere Zeile, ein Körper und ein Körper. Ja. Hallo, von was auch immer die
Nachricht lautet, dass alles, was Sie hier schreiben, als Antwort an
den Kunden weitergegeben wird. Dies ist also eine zusätzliche
Sache, die wir für den HTTP-Server oder
Client hinzufügen
werden , wenn Sie mit
der vorherigen Programmierung vergleichen , wobei
die FDA, PCP mehrere neun und alle Boote
unruhen. Dasselbe, wenn Sie verglichen haben,
in dem wir
in der vorherigen Sitzung gefolgt sind. Jetzt fangen wir an, Hässlichkeit mit
der C-Sprache wie ich zu
programmieren , um das
Linux-Betriebssystem zu erreichen . Unix-Betriebssysteme. Also hoffe ich, du hast diese Dominanz
gehabt oder wir wechseln einfach zu dem
Code, den ich bereits geschrieben habe. Der Code ist ein Code für
HTTP. Nur eine Sekunde. Lass mich Dinge mit Geschlecht machen. Dies ist Yard Board
für STDEV Server. Da ich dir gesagt habe, dass wir einfach
den Code schreiben
müssen , was nebeneinander ist, nicht für die
Kundenseite, clientseitig, geben
wir vermutlich einen Link. Das heißt, wie ich bereits erwähnt habe, ist am Ende
bedürftig 127$ Punkt eins und die Portnummer,
das ist eine 018. Es wird berichten, dass der
Client an
denselben lokalen
Hostcomputer berichtet , den ich auf
dem Server hatte , und
dieselbe Portnummernvariable. Was ist also auch meins?
Lass mich das aufmachen. Wie ich dir sagte, was
wird der Unterschied sein? Wenn Sie vergleichen, wenn Sie das Linux-Betriebssystem
gesehen haben , diese Header-Dateien mithilfe der
Modell-Socket-Programmierung. Dies ist eine Hauptfunktion
, die der Eintrag ist , um eine Ausführung
Ihres Programms zu starten. All die Dinge, die
sich wiederholen, das heißt wiederum,
sind im Linux. Ich habe Ihnen diese Socket-Funktion gesagt, die wir zuerst
aufrufen werden,
Beiträge und Argumente werden
diese Internetadressfamilie sein. Zweite Argumentstream-Daten
, die ein Typ des Sockets sind. Und die dritte,
Abnegationsgruppe in Ordnung, entspricht 0. Was wird es zurückkehren? Es wird das
Socket-Handle zurückgeben Lassen Sie uns Server. Und hier wird es vom Typ sein
und begann Fall von Linux. Dies ist, was Instructor Light
verwendet wird , um die Details zu füllen,
damit der Server wieder welche IP-Adresse und Portnummer. Also hatten wir das, unsere
Körper kaufen sich auch darin ein, insbesondere durch IP-Adresse und Portnummer,
und diese Struktur können
wir uns ein wenig zurück fühlen, Details IP-Adresse und Portnummer. Du hast ziemlich hier
in diesen drei Zeilen, du kannst diese sehen. Wo rufst du
meine Funktion auf? Sie übergeben dieses
Handle des Sockets , den wir hier haben, und wir
analysieren diese Struktur. Und dann rufen wir
Hör zu, hör zu. Ich habe dir gesagt, dass dies ein Socket
ist, ist ein Handle und das 0. Das bedeutet, wie viel Anzahl der Leitungsverbindungen in der Warteschlange stehen
sollte. Wir wollen
also nicht, dass etwas in der Lesung liest, die Sie
0 V Schaden angerichtet haben. Sie können je nach
Ihrer Anforderung und
der Bestellnummer multiplizieren , die es getan hat, mit Gründen, aus denen wir
X GTP empfohlene
Communication Boardmitglieder machen . Wir haben dies als meine
zu dieser Portnummer getan. Wenn Sie also über das BIP nach HTTP
sprechen, da ich Ihnen mitgeteilt habe, dass die
Extremität
in unserer früheren Sitzung von der Serverseite
gesendet wird . Da wir über
den TCP-Server und die Kommunikation berichtet haben, sind
nur jene Boards, die
unabhängig vom Kunden essen. So können Sie jede Komplikation machen , die ein
Chant-Kommunikationstool war, wo Sie
auch von der Sonne senden können ,
war von der Serverseite. Und Sie können auch auf Kundenseite lesen und
schreiben, rectus, je nach
Anforderung. Hier werde
ich, da was auch immer der Kunde eine
Nachricht an sie sendet, der Kunde eine
Nachricht an sie sendet, eine Antwort darauf geben. Und diese Antwort
sollte in Bezug diesen Header und Body sein. Also habe ich dir in
der Präsentation dazu erklärt der Präsentation und auch die Details
für Hybrid und mehr. Können Sie
die paar Sitzungen durchlaufen, die ich
zuvor gehört habe , in der ich darüber gesprochen habe was BIP ist,
mehrere Kundenkommunikation zu
verstehen. Sie können diese Sitzung durchlaufen. Das ist bei
Windows und Polynom üblich. Hier ist die Sache, die die Botschaft
nicht sendet, diese Botschaft von Gott, die mit diesem Wert
initialisiert wird. Das ist HTTP 1.1 kennt
den Status, die Anzahl des Status, Nachricht und dann Erfolg
eines On-Demand-Inhalts nicht. Wie lang ist es, 47 und dann
Inhaltszeit da ist es, es ist ein Mensch. Dann im Schrägstrich und
es gibt eine neue Zeile, es gibt eine leere Zeile, und dann übergeben wir diese Nachricht. Aber das ist
Bassdrum-Server auf Clientseite. Diese Nachricht hier,
was wir früher haben, wenn wir hier ankommen,
werden wir diese Nachricht später senden. Wir senden mir wie eine
einfache Verbindung von den Client-Site-Dateien wieder die Socket-Tangente und
dann diese Struktur. Und dann bekommen wir ein neues,
neues Socket-Handle, neuen
Socket-Deskriptor. Dieser neue Socket-Deskriptor wird also
mit dem
Lese- und Schreibvorgang in der Zeile betrieben . Während die
Socket-Einzelpersonen hier
zurückkehren , sich mit dieser Leitung
verbinden. Das ist also was, und dann die traurigen, was
auch immer
die Zeilen und die Nachricht liest ,
die es aufsteigend oder URL ist, das ist eins zu viele, 7,10$ Punkt eins und
die alten Zahlen, so dass Link, der ein lokaler oder die Reihenfolge mit
ihnen ist Link sendet uns eine Nachricht
wird tatsächlich in formale
Paradata konvertiert, und es wird berichtet, es wird
an den Server weitergegeben und Neffe und Sie werden hier in Nummer vier
sammeln, Sie können
diesen Puffer einfach auf
der Serverseite drucken , damit Sie alle Daten in
formaler Gutschrift
erhalten, auf der Kunden und Server-1 ich den
Link geben der Firefox. Aber auch dann in Pistole versa, die eine Antwort senden wird. Sie können also sehen, dass wir diesen zusätzlichen Code hier
geschrieben haben. Im Vergleich zum vorherigen
Code-Schreiben rufen
wir die
richtige Funktion von
der silbernen Seite auf, rufen
wir die
richtige Funktion von
der indem wir
dieses
Deskriptor-Handle auf dem Socket analysieren , diese Nachricht tatsächlich und
wenn eine optimierte Nachricht optimiert wird, Diese Botschaft ist dieselbe
Botschaft, die wir gesehen haben. Es gibt diese Nachricht, diese Nachricht steigt als Antwort
vom Server zum
Client ab. Sie können sehen, dass wir
daher
die richtige Funktion
von der serverseitigen Seite aufrufen die richtige Funktion
von der serverseitigen Seite das
Socket-Handle und diese Nachricht
verarbeiten. Und dann
suchen wir nach Fehlern. Dies ist verzerrt, wie die
Kommunikation stattfindet. Kompilieren wir also den Code
und lassen Sie uns einen Link
im Browser oder Firefox geben und sehen was auf
der Serverseite passieren wird. Lassen Sie mich das kompilierte Ergebnis posten von, da wir den
Code schreiben, der GCC
HTTP-Server Socket Dot c würde. Sie
können hier sehen, dass HTTP-Server Socket Dot c würde. Sie ein Dot Out erstellt
wird, führen Sie ihn einfach aus. So können Sie oben sehen, welche Idee es ist, auf eingehende Verbindungen
zu hören. Was ist das Hören auf
eingehende Verbindung? Was wir jetzt tun werden, müssen
wir unseren Server immer
veröffentlichen. Und dann haben wir Boo-boo diese Kommunikation auf
der Clientseite, das ist im Browser
hier, wir verwenden Firefox. Ich habe 127$ Punkt
eins und die Portnummer verlinkt. Und dann haben
Sie absichtlich hinzugefügt, was der Kunde, den wir auf der
Anwendungsseite,
clientseitig gemacht
haben , wird dieser
Kunde
eine Anfrage an den Bürgersteig
informiert saccades senden . Was auch immer absteigend
ominös ist, sendet eine Anfrage an den
Server, von dem wir auf dem Server lesen
werden . So können Sie die auf dem Server
gedruckte Nachricht sehen, welcher Client
in Formularen sendet Al-Qaida und der Server sendet eine
Nachricht an den Client. Und Sie können sehen, wie der Browser, die Seite
mit dieser Nachricht geladen wird, wie was als
Reaktion auf Ablehnen gesendet wird. Lass uns eins nach dem anderen sehen. Lassen Sie mich das zuerst öffnen. Sie erweitern auf Firefox auf
der Anwendungsseite. Sie können sehen, wie dieses
Nachrichtenspiel auf der Anwendungsseite, auf der Clientseite,
Wasser Bürgersteig Center. Gehen wir zurück zum Terminal und sehen, was alles auf beiden Seiten gedruckt
wurde. So können wir hier sehen, was
Post für sogenannte von
der Serverseite passiert ist , die wir haben oder wir haben diese
Serveranwendung ausgeführt. Run, wir haben R1, tut mir leid, die Serverseite, das ist das. Wir haben diese Nachricht erhalten,
die auf eingehende Verbindung wartet. Dann haben wir auf der
Kundenseite
diesen Link gegeben , der
127 Punkt ein Doppelpunkt ist . Also
war nichts tot und der Strand, es war nur dieses Durcheinander. Dieser Link, den wir gesagt haben, haben
wir auf diesem Firefox gegeben, das ist die
anwendungsseite, clientseitig, diesen Link, der
von dieser Nachricht stammt,
Gott, Gott, der vom Client an
den Server in formaler Anerkennung gesendet wurde. Und dann haben wir unsere Reha
auf der Serverseite gedruckt. Du kannst also sehen, dass das dunkel ist. Dies ist der Header
in neun Bundesstaaten. Das ist alles in Richtung. Dies ist ein Header welcher Client? Client zum Server. Das
ist also diesem Format voraus, das ist der Host-Benutzer-Agent und vorhanden und all
diese Details. Wenn Sie also dieses Detail
wissen müssen welche Header-Antwort
vom Client auf
das Server-Menü gibt, geben Sie einen Link zu auf
das Server-Menü gibt, geben Sie einen Link diesem Kampf oder falsch,
aber entgegengesetzt. Und Sie gehen zu der
früheren Sitzung, die
versteht, dass sticky
eine
Party-Server-Client-Kommunikation ist versteht, dass sticky , Sie durchlaufen
diese Sitzung, aber ein ungeklärter weiß, was alle Header enthält
von Regresses und von Client zu Site
und welche Antwort ist kein echter Client in
Bezug auf Header und Text. Sie können diese Sitzung also
durchlaufen. Ich hoffe, du bist
gegangen und du wirst alle diese Sitzungen nacheinander durchlaufen. Dies ist es, was Sie vom Client
erhalten, endet dann als Antwort
von der Serverseite, wenn wir die Nachricht
auf der Seite unseres Codes senden, wir haben sie geschrieben und sichere Lern-Socket-Programmierung, also wird das an den Kunden gesendet. Und das sehen wir das
Lernen von Socket-Programmierung. Das haben wir
mit dieser Mitteilung gemacht. Http-Client-Kommunikation. Wir haben in diesem
Linux-Betriebssystem
mit C-Sprachlesen durchgeführt mit C-Sprachlesen Sie auf
beiden Seiten unseres Boards schreiben müssen. Jetzt. Danke. Ich bin fertig für diese Sitzung.
19. Sockels Session12 Blocking Multi-Server: Hallo Freunde. Heute werden wir sowohl über
blockierende als auch
nicht blockierende Sockets sehen . Welche Vorteile hat die
Verwendung dieser Sockets? Sowie wir
die Verwendung von select sehen werden. Was dies auswählt und
welche Bedeutung ist wird diese
Dinge sowohl in der Kunstsitzung als auch wenn wir
sehen, wie man eine
mehrzeilige
Serverkommunikation in
Lenas mit der C-Sprache erreicht mehrzeilige
Serverkommunikation in . Fangen wir eins nach dem anderen an. Blockieren sowie die
nicht blockierenden Sockets. Blockierender und nicht blockierender Modus. Im Falle des Sockels. Der Socket kann sich entweder
im Blockiermodus befinden oder nicht blockierend bedeuten. Mehr über den Blockiermodus post Der Standardmodus des Socket-Aufrufs
blockiert Soul. In meinem Training habe ich dir
erklärt, wie
man Socket erstellt. Wir haben gesehen, dass,
wenn wir mehr
von dem
erstellten Socket finden , der Bucket sein wird. Das heißt was,
was blockiert? Nennen Sie das c.
Nehmen Sie also an , Sie
rufen Funktion auf. Dy dt blockiert also Kohle. Dann können Sie diese
Lesung auf Ihrem Socket durchführen. Immer wenn die Daten vorhanden sind, bin ich in
der Rechnung auf Ihrem Socket, dann kann ich den Lesevorgang nur vom Socket
aus
ausführen. Wenn das also kein Polizist ist, der
nicht auf dem Sockel ist, was passiert, wenn Sie eine Funktion
aufrufen? Offensichtlich muss
es warten,
bis Daten auf den Socket gelangen
, damit sie
den Lesevorgang ausführen können. Das sind also Männer, es muss nicht warten. Dann machen Sie den Support für die
Anrufblockierung. Es ist Vergewaltigung. Es wird warten, bis
die Daten auf den Socket gelangen, damit der
Lesevorgang erfolgreich
ausgeführt werden kann . Es kehrt nicht sofort zurück. Es geht darum, Code zu sperren. Das heißt,
in Ihrem Programm kämpfe
ich gegen
Anweisungen und Sie führen
einige Patienten durch und dazwischen
rufen Sie eine Funktion auf. Es wird überprüft, ob die Daten
auf dem Socket verfügbar sind. Ja, dann liest es
aus der Steckdose und es wird vor dem Schlafengehen selbst zurückkehren. Wenn jedoch keine
Daten auf dem Sockel vorhanden sind, wird
es auf das Medikament warten. In dem Moment wird dies das blockieren, was
in Ihrem Programm funktioniert hat. Das ist mit
dem Blockierungscode? Dies ist also eines der
Beispiele, die ich Ihnen
erklärt habe , bei dem es
um einen blockierenden Anruf geht. Das Beispiel, das gleiche Beispiel
, das ich Ihnen gegeben habe, das ich
Ihnen jetzt ausführlich erklärt habe. Das heißt, wenn Sie
das Leseklopfen durchführen, es erst zurück das Rindfleisch, wie es auf
der Steckdose verfügbar ist, rot war. Hier dreht sich alles um
den Blockiermodus. Lassen Sie uns also sehen, was
der nicht blockierende Modus ist, ist die Definition einer einzigen Neun-Zeile. Das heißt, diese Funktionen es sofort
im nicht blockierenden Modus
geritten, und Sie rufen
die Lesefunktion auf. Was passiert also, wenn keine
Daten auf dem Socket vorhanden sind? Trotzdem wird es nicht warten. Es wird sofort zurückgegeben
, also Daten, dann liest es die Daten und
gibt eine Totzeit zurück. Unabhängig davon, ob Daten
auf dem Socket vorhanden sind. Es Funktionalitäten,
es wird nicht warten. Eigentlich gibt es keine Daten, sie werden sofort zurückgegeben. Dies ist, wenn Sie machen, ist
Ihr Socket
nicht blockierend. In diesem Fall wird es sofort
zurückkehren, ohne auf die Fertigstellung
einer sogar zu warten. Dies ist unser Form- und
Nicht-Blockiermodus. Sie haben also
den Blockiermodus und den
nicht blockierenden Modus verstanden . Lassen Sie uns nun sehen, wie Sie eine mehrzeilige
Serverkommunikation erreichen können. Und so werden wir alles
abdecken, was wir in der
allerersten Folie angegeben haben. Wie erreicht man
Multi-Cloud-Server-Kommunikation. Was wir also
tun, wie wir wissen,
der einfache Weg, mehrere Kunden zu multiplizieren, besteht
darin , einfach einen neuen Trick hervorzubringen. Aber jeder neue Client ist
mit dem Server verbunden, da wir wissen, dass es nur einen Server und dann
auf mehreren Clients gibt. Also der Arzt mit
einem einzigen Server, dass es eine beliebige
Anzahl von Clients sein kann. Im Falle
mehrerer Clients ist
die einfache Art und Weise, wie wir
die Kommunikation zwischen dem Server und
dem Client durchführen müssen, was wir tun. Wir haben Thread für jeden neuen
Client erstellt, der verbunden ist. Was kann also das Problem
mit diesem Ansatz? Das Erstellen eines neuen Threads für
jeden einzelnen Client, der
versucht, sich
mit uns in Verbindung zu setzen, und wir sind eines der
Probleme, kann auftreten. Sehen wir uns das Detail
in der Urinzelle an. Dieser Ansatz wird aufgrund der
folgenden Entscheidungsgänge nicht empfohlen. Der allererste Nachteil beim Erstellen
des Threads für jeden
Client-Beschränkungen für die Verbindung mit dem Server besteht vor allem darin, dass
wir im Falle der Bedrohungen wissen sie
auch schwer zu codieren sind, als Debug, und manchmal haben sie
unvorhersehbare Ergebnisse,
wenn alles um die Bedrohung geht. Dann ist dieses Problem das, oder was führt, Kontexte zu
erreichen. Was heißt es also? Es bedeutet, dass
Sie es mit einem Thread zu tun haben
und jetzt müssen Sie sich
zu diesem Zeitpunkt mit einem anderen
Thread beschäftigen. Sie müssen also von
einem Thread zu einem anderen
Thread wechseln , find x, also gibt es einen Overhead. Es wird also eine Zeit benötigt , um von einem
Thread zum anderen zu wechseln. Dies ist also der zweite Nachteil
der Verwendung des Rasters. Der Gedanke oder die Nachteile , dass es
für eine große Anzahl
von Pflanzen nicht skalierbar ist sind
, dass es
für eine große Anzahl
von Pflanzen nicht skalierbar ist oder wenn es in diesem Fall
tatsächlich eine
beliebige Anzahl von Zeilen gibt, dies wird nicht ein
sichtbarer Weg genug
, um einen Thread für jeden einzelnen
Kunden zu erstellen, damit eine Kommunikation
zwischen diesem Oval hat. Und auch das Problem
kommt auf Deadlock. Deadlock bedeutet, dass immer
mehrere mehrere Bedrohungen gleichzeitig
dieselbe Sperre wünschen mehrere mehrere Bedrohungen . Und das ist der Deadlock passiert. Das ist also an, dies sind die
Nachteile bei der Verwendung der Fäden auf jeder Ebene die mit der Zellwand kommuniziert. Das ist der Grund, warum
wir unser Ziel für
diesen Ansatz kennen , für jeden einzelnen
Kunden
einen Thread zu erstellen . Was ist das Nächste
, was wir
mit diesem Thread
tatsächlich überwinden können ? Während diese Nachteile beim
Betrieb des Threads sind, wählen Sie als Nächstes
nicht con, um einen ausgewählten Anruf zu tätigen. Und was ist das Select Goal? Was ist der Zweck
und die Verwendung? Lassen Sie uns alles im Detail über den Select-Anruf sehen. Und später
wirst du sehen wie man Monica einen Anruf auswählt. Und wir werden auch das
Programm sehen und n ausgeführt. Also besserer Weg, um
dieses Film-Thread-Problem zu überwinden ist die
Auswahlfunktion der Kollegen. Sehen wir uns also an, wie die
Select-Funktion verwendet wird. Wir müssen also eine Reihe
von Sockets auswählen , von denen wir lesen
möchten,
je nachdem, wie der
Timeout-Parameter sie sind, alle. Wenn Sie fast
sofort mit einem Satz dieser Sockets
fertig sind, können Sie gelesen werden. Was bedeutet das? Was bedeutet diese Definition? Was wirst du tun? Es gibt also eine Select-Funktion. Sie rufen
eine Select-Funktion auf. Also werde ich Ihnen im
Voraus ausführlich erklären, wie Sie
diese Auswahlfunktion nutzen können,
wird das Setup übergeben, die Sockets, von denen wir
nicht gelesen werden. Dies ist also eine Prüfung
, die angenommen wird, dass Sie den Lesevorgang
an verschiedenen, verschiedenen Sockets
durchführen möchten den Lesevorgang
an verschiedenen, verschiedenen Sockets
durchführen . Sie haben also die Liste
tatsächlich Modellsockets auf dem, was alle Sockets vorhanden sind,
wobei Sie den Lesevorgang
auf beiden Sockets
ausführen müssen . Sie übergeben also die Liste
dieser Sockets und wählen
keine Funktion aus. Sie werden auch das Timeout
erwähnen. Worum geht es bei diesem Timeout? Diese Demo ist wie,
angenommen, Sie beschreiben einige
Zeit in diesem Timeout. Diesmal
wird
die Select-Funktion tatsächlich werkseitig sein, denn unsere n überwacht alle Sockets, die Sie
im Select-Funktionsmonitor angegeben haben . Bis zu dieser Auszeit. Ob dazwischen
kein Zeitrahmen bekommen hat. Sockets haben an jedem Tag
einige Daten
erhalten, die auf einem der Sockets , die Sie in
dieser Auswahlfunktion angegeben haben. Dann wird es tatsächlich
mit all den Sockets zurückgegeben ,
die Sie erwähnt haben und deren
Daten gelesen werden müssen. Diese Demo wird also hier gegeben
, bis das Hausaufgabenklima warten
muss. Angenommen, Sie geben das
Timeout von dreißig Sekunden an. Sie
geben diesen Socket tatsächlich im Analysebaum der
Auswahlfunktion an. Also alle Arten von Sockets,
bei denen Sie
einen Lesevorgang ausführen möchten und die Timeout-Sekunden
angegeben haben. Innerhalb dieser Partysekunden es 40 Sekunden,
maximal dreißig Sekunden. Und es wird
tatsächlich sehen, welche
dieser Sockets
einen Datumspatentzeitrahmen erhält. Innerhalb dieses Frames werden mehr Daten empfangen, dann werden sie zurückgegeben. Dieses Timeout tritt ein. Aber zwischen diesem Timeout, vor 30 Sekunden selbst, einige der Sockets
Daten empfangen, so dass es tatsächlich zurückkehrt,
wenn ein Timeout stattfindet, es wird mit
all diesen Sockets zurückgegeben was auf diesem Sockel schwer ist,
damit er gelesen werden kann. Also hoffe ich, du hast verstanden
, was ich erkläre. Sobald es mit all
den Sockets zurückkehrt, bei denen die Daten auf dem Socket
vorhanden sind. In diesem Fall können Sie
sofort eine Aktion ausführen. Sie können sofort einen Lesevorgang
ausführen, da wir wissen, dass
Daten auf
diesem Socket verfügbar sind , sodass
Sie nicht lesen müssen. Dies ist der Zweck
der Select-Funktion. So erreichen wir die Seele. Und das Detail zu dieser Auswahlfunktion Omics
ist auch hier. So machen Sie das
Detail, wie man es benutzt. Was alle Argumente hat diese
Select-Funktion. Bisher ist es schwer. Alles, was wir haben VI
, anstatt die drei Sätze aufzuladen. In dieser Verwendung
habe ich Ihnen
nur erklärt, dass die tatsächliche Verwendung des Selects
Weekend Pass die drei wir
die drei Sets laden können. Ein Satz wird für den anderen
Satz für das Recht sein,
und die Analyse wird
für den nächsten Abschnitt erfolgen. Also was ist das für Sets? Dies sind die Sets, das heißt dies sind die Dateideskriptoren. Man kann einfach sagen, dass die Sets die Liste
stärkere Deskriptoren bedeuten. Sie können die
Liste der Deskriptoren löschen , in denen Sie
den Lesevorgang ausführen müssen. Wer kann die Liste
der Deskriptoren erstellen , die Sie hatten,
und Sie müssen
die richtige Operation und
die Liste der Deskriptoren
für die Ausnahme ausführen die richtige Operation und . Also also Platz. Angenommen, Sie
haben fünf
Sockets tatsächlich
Deskriptoren auf den
Dateideskriptoren erwähnt , wenn Sie den
Lesevorgang ausführen müssen.
Sie müssen überwachen dass
der Lesevorgang
in einem dieser Rohrsteckdosen, jeder von ihnen muss zwei von ihnen täuschen
, die bei jedem von ihnen
das Datum erhalten haben , damit Sie dies ausführen können. Du predigst nicht wie lese nur die beschriebenen
Führer in diesem Problem. Weil Sie erwähnt haben
, dass Sie die richtige
Operation am Socket ausführen müssen. Und ein weiterer Teiledeskriptor für die Ausnahme
festgelegt. Wenn Sie
diese drei Sätze in
Ihrer Select-Funktion übergeben , werden
wir im
Programm selbst sehen, es wird Sie dazu bringen,
wie Sie sie verwenden. Dies ist nur eine Beschreibung,
bevor Sie das Programm starten, das Programm schreiben
und ausführen.
Wir suchen nur, dass mehrere
Dinge benötigt
werden, die Sie
die Select-Funktion aufrufen. Und es ist ein sehr wichtiger
Faktor, um
eine mehrzeilige
Serverkommunikation
zu erreichen eine mehrzeilige
Serverkommunikation um eines Tages eine breitere
Entscheidung zu erreichen. Das Erstellen eines Threads für
jede Clientverbindung
wird also auf die Seele wirken. Dies sind die drei Dinge
, die erforderlich sind Resets. Das nächste, was über das Select
erwähnt wird, es wird diesen
Socket testen, es ist was auch immer. Was Sockets angeht,
bekommst du diese drei Sets. Es wird Sockets mitteilen und es wird Ihnen
melden , welche für diese Operationen
bereit sind. Das bedeutet, dass
Sie mit welchen Sätzen Sie Ihre Select-Funktion
überprüfen können. Diese lesen, schreiben eine Ausnahme. Sie geben also die Liste
der Socket-Deskriptoren in denen Sie
diese Vorgänge ausführen möchten , und
Sie geben auch ein Timeout an. Es wird sehen, dass dies
innerhalb dieses Timeouts stirbt, wenn einer dieser Sockets für den Lesevorgang
bereit ist und die Sockets, die Sie im
Deskriptorsatz
erwähnt haben , bereit sind, oder? Ist bereit für Ausnahmen. Also endlich, die Select-Funktion, kommen
wir
mit diesen Sockets zurück. Ich bin bereit,
diese Operationen durchzuführen. Ich hoffe, Sie haben diesen
Punkt verstanden und dies wird
Sie klarer machen , sobald wir
anfangen, ein Programm zu schreiben, dann
ist das Nächste an
der Select-Funktion und diese Informationen können
wir dann verarbeiten
Sockets, die bereit sind ja, und ignorieren den Rest der Zeit. Was heißt das? Es bedeutet, dass C, Sie eine
Socket-Liste der Deskriptoren analysieren. Socket-Deskriptor soll Lesevorgänge
ausführen, z. B. die Phi-Reihenfolge des Sockets. Die Socket-Deskriptoren, die
Sie analysieren, richtige Operation und Sie
übergeben nichts für die Ausnahme, vorausgesetzt, Sie übergeben null. In diesem Fall. Sie erwähnen auch, dass ich in einer Minute
draußen bin. Innerhalb dieser einen Minute, der alle
Deskriptoren fertig sind. Wenn ich über bereit spreche, bedeutet das, dass dies
eine Leseoperation ist. Dann
sollte es offensichtlich Daten auf dem Socket geben. Der Socket, wir werden
bereit sein, ihn zu lesen. Das Timeout, das Sie
erwähnt haben, tatsächlich die
Vorlaufzeit , es wird tatsächlich
alle diese Deskriptorensätze überwachen. Ich bin bereit für den Lesevorgang. Wir haben bereits
Schreiboperation, also hat es nicht jeder auf ihnen und es wird tatsächlich
Informationen zurückgeben. Also sprechen wir über dasselbe, dann meinten wir, dass
Informationen wir dann die Sockets-Informationen
verarbeiten können , welche zum Lesen,
Schreiben bereit ist und alles in
beiden zu Hause endet der Betrieb von ihnen endlich
abschreiben zu lesen, also heißt es das. Verarbeite die
bereits und ignoriere das. Lasst uns zeichnen und wir müssen
den Rest ignorieren , der bereits erledigt ist. Durch selektive
Verarbeitung werden die Sockets nicht einmal nie blockiert. In diesem Fall werden wir also
nicht blockiert, weil er selektiv
nur die Sockel ausgewählt hat, die bereits die Polarform haben. Wir müssen also nur
auf die Zeit warten, wenn Sie in diesem Timeout
in Ruhe der Select-Funktion
erwähnt haben wenn Sie in diesem Timeout
in Ruhe der Select-Funktion
erwähnt , wir werden das Detail bis zu
diesem Zeitpunkt sehen , nur Sie
müssen tatsächlich warten, und was auch immer es
den Deskriptoren gibt ,
die Sie
bereits ausführen müssen. Sie müssen es tatsächlich tun und vermeiden, den Thread zu verwenden, was ein großartiger Overhead
mit dem Thread ist , den wir in der vorherigen Folie
gesehen haben . Dies ist ein Knoten, der Ihnen liegt, also ist das ein Timeout-Parameter. geht also um
die Auswahlfunktion auf gibt es eine Demoed, aber im Falle der
Auswahlfunktion durch diese nach Durchmesser nachgestufte ist erforderlich und wählen Sie Funktion. Ist erforderlich, um
die Zeit zu steuern , die für die Aktion
gelesen werden muss. Support Socket ist
bereit zum Lesen. Dies bedeutet, dass im STI-Modus in der Auswahlfunktion
nach Durchmesser erforderlich ist. Es wird nur benötigt,
damit Sie
so lange warten müssen. Die Deskriptoren, die Sie Ihrem
Deskriptorsatz
gegeben haben, den Sie ihm geben, müssen
Sie tatsächlich warten
bis zu dem Timeout, den Sie nicht erwähnt
haben, und
Sie haben wahrgenommen, ob einer von ihnen ist
bereit. Bis zu diesem Zeitpunkt gibt
es einen Grund, so
wichtig zu bleiben. So steuern Sie tatsächlich, wie
viel Zeit Sie nach dieser
Auszeit warten müssen . Also was wird es
die Liste Thrombus zurückgeben. Das Drehbuch weiß,
welches schon quadratisch ist, welches ich bereits gelesen habe
und all diese Details. Dies ist die
eigentliche Definition
der Select-Funktion,
wie man sie benutzt. Das ist also, dies ist nur eine
Deklaration hier, in der Sie
int select sehen können und diese
Argumente sind hier vorhanden. Was ist also der
Erste und ein Mensch? Sie können in den Mitteln sehen, dass es sich um
einen Datentyp ganzzahlige n MDS handelt. Hier habe ich die
Details beschrieben, die wir hier sehen werden. Wie ich dir gesagt habe, sind
beschreibende Sätze für Deskriptor festgelegt. Das ist FD eingestellt. Dies ist der Datentyp, der tatsächlich
auf den Typ leer hinweist. Diese beschreibende Erfüllung
für Lesezwecke. Dieser beschreibende Satz
dient dem Schreiben, und diese beschreibende Menge
ist ein Ausnahmezweck. Und dies ist der
endgültige Timeout-Wert ,
den Sie zurückgeben müssen, um wie viel Zeit es braucht, um zu lesen und tatsächlich zu schützen , welche der Deskriptoren dieser Sets tatsächlich sind
bereit für die Operation. Lassen Sie uns nun eins nach dem anderen
über diese Argumente sehen , die Sie übergeben müssen. Details zu Ihren Datenargumenten sind vorhanden. Der erste ist also int und MDS, das ist dieser, MPS. Das ist es,
was eigentlich der höchste
Zahlendateideskriptor in einem
dieser drei Sätze plus
11-Wert ist, den er haben wird. Das ist also zuallererst, da ich Ihnen
das Linux-Betriebssystem erkläre ,
weil Selektoren, die für das Linux
verwendet werden, auch für
die Windows-Schaltfläche verwendet wird. Im Falle des Linux werden wir
tatsächlich
dieses zusätzliche Argument haben ,
bei dem NDF und NMDA getroffen wird. Es bedeutet tatsächlich, welchen
Wert es haben wird. Da mussten Sie diese Liste
dieser Deskriptoren zum Lesen der Deskriptoren für die IT haben. Und lasst uns dieses
Skript erste Ausnahme anstoßen. In diesem Fall haben wir
einen höheren Wert plus einen.
Sie werden dir das geben. Und der NMDA ist Dateideskriptor. Also was es sagt, die höchste Zahl
des Dateideskriptors in einem der drei
Sätze plus Mark. Die übliche Sache, dass
Sie die
FD Set-Größe nur als Wert
dieses Arguments übergeben können , da dieses Makro
Ihnen den gesamten Wert gibt
, der eine große Anzahl von
beschreibenden besagten plus eins ist. Es geht darum,
wie ich Ihnen sagte, dies ist für das
Linux-Betriebssystem, dieses zusätzliche Argument ist da. Im Falle der Fenster wird
dieser Parameter jedoch ignoriert. Das sind n HDFN NSAIDS.
Warum wird ignoriert? Da es sich um
die beschreibenden Sets handelt, ist
der Satz der Datentyp
FDI-Unterstrich sec. Im Falle der Fenster setzte sich
diese FD selbst ein, dann die Hälfte der Sockets sowie die
Anzahl der Sockets. Eigentlich.
Da dieser leere Satz im Falle von Windows
die Details über die Anzahl
der Sockets hat und daher
dieses Argument, das
nicht so sein wird , wenn sie in denen sind, ist es das
nur im Linux. Denn im Falle von Linux wird
nur dieser Wert aufgrund
des leeren Satzes
beibehalten ,
was wir zumindest sehen werden, was
das macht, und dies ist der Datentyp
des beschreibenden Satzes. Dies wird nicht ihre
Angaben zur Anzahl der Sockets enthalten. Im Falle von Linux, das nur
Funktion auswählen
wird , hat dieses
Detail tatsächlich hier. Aber im Falle der Fenster können
wir das ignorieren. Mensch wird ignoriert, weil
die Anzahl der Sockets
in jedem Satz tatsächlich beschrieben wird. In diesem Detail werden wir
einen Kopf sehen. Das ist eine Verteidigung. Sie würden sich daran erinnern,
dass dies im Falle von Linux das Argument, zusätzliche Argument, aber das MBSR-Fenster ist, dies ist nicht vorhanden. Ich meine, zurück zu diesem Argument. Wir sind also mit
dem ersten Argument fertig. Lasst uns den anderen Menschen sehen. Mensch macht jeden gesetzten Zeiger, den Zeiger auf die Mitte Für Mensch macht jeden gesetzten Zeiger,
den Zeiger auf die Mitte
der Sockets, die auf Lesbarkeit
überprüft werden sollen. Ich sehe jedoch eine Option
in Punkt. Denken Sie also immer
daran,
dass Sie diesen Wert nicht übergeben müssen. Außerdem muss man diesen Wert
übergeben, man muss diesen
Veranstaltungsort passieren, damit er es kann, es ist eigentlich kein Zwang. So kann es tatsächlich passieren, Sie haben mit diesem Wert auf diesem Skript verpasst
wird , das erfüllt ist, und Sie müssen auf den Lesevorgang
überwachen. Dieser Wert kann vorhanden sein, aber das ist eigentlich nicht. Und das ist auch Schmelzen und
das kann tatsächlich passieren. Also kann selbst das eigentlich null
sein. Und Sie können den Wert
der Anzahl der Deskriptoren haben, wenn Leute ans
Licht kommen , dies wird null sein. Diese beiden Dinge können da
sein und dieses Hot Pink und deshalb sind
sie gleich. Dies ist eine optionale Sache. Einer von ihnen
sollte tatsächlich eingestellt sein. Man kann sie nicht als „keine“ ausdrücken. Das ist also die Sache. Dies ist, was ein optionales auf eine Reihe von Sockets hinwies, die
auf AWT überprüft werden sollen, da
ich dasselbe sagte, dass Marionetten und optionaler Fettzeiger
auf einen Satz der Sockets überprüft werden
können Körper. Welche Liste der Sockets, die
Sie überprüfen möchten, oder? Die Fähigkeit wieder, Ausnahme, ich weiß 10 es waren Setup-Sockets , die unter
außergewöhnlichen Bedingungen überprüft werden sollten. Letztes Argument
, das ist Timeout. Das ist diese Struktur, der Zeiger darauf,
das ist Zeit o. Was ist der Zweck davon? Wie ich Ihnen sagte, die
Höchstrate oder Null oder Blockierung oder Patient. Aber es heißt also angenommen wie viel Zeit du warten willst, eigentlich die Select-Funktion, ich muss bis zu diesem Zeitpunkt warten. Es wird tatsächlich warten und
die Deskriptoren überwachen. Diese Deskriptoren,
die Sie erwähnt
haben, überwachen Sie, ob das
Ereignis eintritt. Das heißt, wenn ja, überwachen
wir den Lesevorgang, wenn es sich um
einen idealen Monitorport handelt, oder? Wenn es unterstützt wird,
überwache Popcorn. Aber bis zu dem Zeitpunkt, den Sie in Ihrem Timeout
erwähnt haben, nach Abschluss dieses Timeouts zurückkehren, wird
es
nach Abschluss dieses Timeouts zurückkehren, wenn
es bis zu diesem Zeitpunkt kein gibt. Wenn es keine Deskriptoren gibt,
wissen Sie Sockets, die
für eine jährliche Dysfunktion bereit sind, und es ist abgestuft oder
was sie zurückgeben wird. Null-Wert. Es wird zurückkehren und sagen, dass keiner
von ihnen bereit ist, und dann wird es zurückkehren. Es geht darum. Wenn Sie jedoch bestehen, geben Sie
keinen Wert an, wenn Sie es direkt sind, im Falle des Timeouts, den Sie
gerade als null angegeben haben. Das bedeutet,
dass es einfach
sein wird , weiter zu
warten , wenn Sie dieses
Menü als analytisch übergeben, lesen Sie
einfach einen
dieser Deskriptoren,
diese Sockets sind bereit
für einen der -Funktionen. Es kann also auch
Einzug, unbestimmte Zeit,
unendliche Zeit sein , wenn keine
Daten auf dem Socket vorhanden sind, nichts auf den Socket zu schreiben, nichts, keine solchen Dinge. Es wird also weiter lesen und
lesen , wenn Sie
diesen Wert als null übergeben, aber wenn Sie
einen Wert und diese Zeit übergeben, wird es
bis zu diesem Zeitpunkt wieder zum und dann wird es ein Timeout geben. Aber wenn Sie als null übergehen, wird
es weiter warten. Das ist es also, was
es hier sagt.
20. Sockels Session12 Socket 2ndHalb: Gibt es die Details über die Select-Funktion
und was gibt sie zurück? Das Gleiche wie ist,
was kehrt es zurück? Also ein akustischer Ton. Was bedeutet das?
Die Gesamtzahl der Sockets, die bereit sind. Wenn es also ein
Audit mehr als eins zurückgibt, bedeutet
das, wie viele Fußballdeskriptoren bereit sind? Wie viele Anzahl von
Sockets sind bereit? Eigentlich wird es diesen Wert
geben. Wenn es 0 zurückgibt,
bedeutet das, dass das Zeitlimit abgelaufen ist und bis diesem Zeitpunkt keine Sockets für die
wir bereit sind. Es gibt minus eins zurück. Das bedeutet eine Bearbeitung, eine Karte wischen einige Zeichenflächen
bearbeiten, dann wird sie minus eins zurückgeben. Das sind also die
Dinge, die es
zurückgeben kann , und das
ist eine Möglichkeit, aber jeder von ihnen kann
man Ihnen entsprechend sagen. Sie können das Fenster in Windows
im Windsockel einchecken , dieser
Rückgabewert ist Socket. Verwenden Sie die zutreffende Funktion
, um den tatsächlichen Fehler zu identifizieren. Im Falle von Windows wird
dies von diesem Typ
Socket und dem quadrierten Fehler sein, dies ist nur um zu
unterscheiden, dies ist einer, in dem ich
beschreibe und nur
unterscheide, wann nicht Windows Ich habe
geschrieben, um es zu extrahieren, falls alle Fenster
dieser Editor tot sein wird. In können Sie auch diese
Funktion aufrufen w und sagen
Letzten Fehler abrufen , um
die Details über die
Bearbeitung zu erhalten , es gibt einen Fehler zurück. Okay, also hat diese Orgel den Editor in Windows
verstanden. Um nun über die
Details darüber zu sprechen, jede Unterstrich-Sekunde, verwenden wir
hier eine
vollständige Voreinstellung. Sie können hier sehen, dass diese Ansicht WAR, ist der Datentyp-Zeiger auf den MPI Unterstrich
gesetzt dieser Writer VS auch Datentyp zeigt wird auch einen
Ausnahmezeiger auf Fettleibigkeit
gesetzt. Was ist das jemals
Unterstrich Sekunde, wie ich es auf Ihren
Desktop-Dateideskriptoren tue. Mal sehen wir uns Details darüber an. Jetzt. Im Falle des Unix, im Falle der FD gesetzten Minuten
, die anderen binären Wirbel. Das ist im Falle
des Windes, Windsong. Das bedeutet, dass im Falle von
Fenstern diese Steckdosen im Falle der Fenster diese leere Menge
die anderen Strukturen bedeuten. Im Falle von Windows enthält Papa
den Bereich
der Sockets sowie Anzahl
der Sockets,
wie ich Ihnen in
den vorherigen Folien gesagt habe, wie ich Ihnen in
den vorherigen Folien gesagt habe tatsächlich dass, wenn
Sie die Select-Funktion aufrufen, das erste Argument
betrifft dieses Argument. Nsaids, bei denen Sie im Falle der Fenster nicht
übergeben werden, ist
dies nicht erforderlich, da diese gerade die
Anzahl der Sockets erwähnt wird,
da dies im Falle eines
Windows-Arguments nicht
erforderlich ist,
da die Grund dieses FD-Set, das heißt, wir werden haben, haben wir die Struktur
, die den Bereich
der Sockets enthält , und es wird die
Anzahl der Sockets
enthalten. Dieser Parameter, der die
Anzahl der Sockets ist, ist also bereits in
diesem leeren Satz vorhanden falls die
Windows-Anstrengungen nicht erforderlich sind. Wenn Sie diese
Select-Funktion aufrufen. Im Falle des Linux sind
dies die Sets, die
einfach ein binäres Arrays sein werden. Das heißt, im Falle von Windows. Es wird die Struktur sein, die Antennensteckdosen enthält und die
Anzahl der Sockets und Papa enthält. Gute Dinge, wenn wir uns präsentieren. Dies ist der Unterschied
zwischen dem Unix und den Fenstern im Falle
von Bordeaux und Reset. Und das
habe ich hier erwähnt. Zählerwerte aus diesem Grund Vibe in Salt ignoriert den ersten
Parameter dieser Auswahl, was ich Ihnen gesagt habe, dass im Falle eines Devin-Sockets
das erste Argument, nämlich dass die
Auswahl ignoriert wird, das benötigt nicht,
weil Sie sich in einem Reset befinden. Es wird unter tief in ihnen
gespeichert erwähnt, sagte er, was ich, wissen
Sie, Details erklärt habe. Diese Linie, diese drei
Zeilen States stapeln. Sehen wir uns jetzt mehr über
die Details
dieser leeren Sets an. Dies sind die Makros, mit denen ich
früher mit diesen Sets gearbeitet habe. Also erkläre ich Ihnen
all diese Dinge eigentlich weil ich das Programm nicht wirklich mit
der Select-Funktion
geschrieben habe, was sehr
wichtig ist, wie ich Ihnen sagte
, um es zu überwinden
diesem Multithreaded-Atrial bevorzugen
wir die Auswahl. Wir müssen nicht
lange auf das Timeout warten. Viele müssen wir
lesen und es ist sehr sichtbar, weil es ihre Zeit erfüllen
wird. Und Sie können verstehen, warum
die Definition darin steht, da wir all
diese Dinge in unserem Programm verwenden werden,
den Kern, der ein Programm schreibt. Ich erkläre Ihnen
jedes Argument in dieser Folie selbst. Das nächste Ding, wenn wir
anfangen, das Programm zu schreiben, wird
es sehr viel Z. Und das ist nicht die Mondbilanz, bevor es jetzt den Beweis
beginnt. Dies sind die Mikroben, die mit den leeren Sätzen
verbunden sind . Dieses Makro, auf das Sie
stoßen werden , wenn Sie ein Programm schreiben, wir werden sehen, dass ich
all diese Makros verwende. Dann werden Sie
wissen, ob ich
Urin-Details erkläre , weil
wir Menschen sind, die emittiert werden, nutzen Sie es tatsächlich, indem Sie die Select-Funktion
aufrufen. Was setzt diese leere eingestellte Größe zurück
, die Sie
mit ihnen verwenden werden. Es ist der Wert dieses
Makros ist die maximale Anzahl von Dateideskriptoren, die das leere Set-Objekt in der Landwirtschaft abrufen
kann, indem es die
Informationen dazu gibt. Wie ich dir hier selbst gesagt habe, dass dieses falsche Argument in dir
auswähle, was es sein wird. Es wird die maximale Anzahl
der Deskriptoren aus
diesen drei Deskriptoren sein, welche hat
Maximalwert plus eins? Diese FD hat die Größe festgelegt. Das wird Ihnen vollständig
die Details zu diesem geben. Das ist was? Es gibt
Ihnen vollständig eine maximale Anzahl von Dateideskriptoren, die das
leere Set-Objekt setzen kann. Das ist es, worüber
das Makro in Bezug auf leere Sets spricht . Was mehr Makro kann man Bezug auf einen der
Sets F D Unterstrich 0 sehen. Das heißt also was? Du übergibst dieses leere Set. Dieses Makro initialisiert die Dateien eine beschreibende Menge,
zwei leere Menge. Sie initialisieren also einfach
Ihren beschreibenden Satz auf 0 und verwenden daher
diesen Makro-FDA-Unterstrich 0 und E. Dies sind die verschiedenen
Makros innerhalb der Sets, die leere
Unterstriche B
sind. Lassen Sie uns CLR F, D unterstreichen. Es richtet eine Post-Op ein, all diese Makros
, die es gibt. Der Zweck dieses leeren
Sets besteht darin, dass Sie
diese
Dateideskriptorliste der Distributed hinzufügen . Da wir wissen, dass
alle gesetzten Zeiger gesetzt werden, bedeutet dies, dass
es die Liste
der Deskriptoren und
Fußballdeskriptoren gibt. Und Sie möchten
diese Funktion aufrufen und
zeichnen, Sie möchten dies hinzufügen,
könnte
diesen Deskriptor gesetzt haben. In diesem Quartal
rufst du dann M-Pesa an. Um diesen Deskriptor hinzuzufügen würde eine Liste in
diese Deskriptoren investieren. Konzentrieren Sie sich auf das und CLR,
das bedeutet, dass Sie dieses beschreibende, von Ihnen erwähnte Deskriptiv
löschen müssen. Sie müssen diesen Deskriptor einfach
entfernen diesen Sortierdeskriptor
aus diesem Skript
entfernen. Ich sagte, das ist ein Grund, warum
Sie den
MPI-Unterstrich aufrufen , wird CLR-Code gesendet. Es bedeutet, dass Sie prüfen
müssen, ob diese beschreibende, die
Sie nicht erwähnt haben, ist es nicht in dieser
Deskriptor-Set-Liste auf diesem beschreibenden Wissen Sie
den endgültigen Unmenschlichen der Auswahl dieses Timeouts diese eine, diese eine
Select Funktion. Also lasst uns das sehen. Diese Auswahl wartet
die angegebene
Zeit auf das Eintreffen der Details, und dann wird sie schließlich
aufgeben und mit
dem Socket-Status zurückkehren. Wie ich dir das gesagt habe, wird
es auf das Timeout warten. Sie haben
Gewicht und Monitor erwähnt. Wenn Sie das Skript
angegeben haben, geht es tatsächlich zum Lesen oder für einige Deskriptoren zur
Überwachung des Denkens. Es könnte ein Beitrag sein.
Es überprüft alle Deskriptoren, die
Anbieter des Radios sind oder nicht bis dem Zeitpunkt, den Sie in dieser Demo
erwähnt haben. Wenn nicht, wird es sich entsprechend
verhalten. Hier sind zwei Zustände, die nun bemerken, dass der Select-Port vor dem Timeout
zurückkehrt. Eingebettete Daten, es ist
nur peinlich keine Daten zu haben, als es
die ganze Zeit dauern wird ,
bevor sie zurückkehren. Ich sehe das, sobald die Daten zurückgegeben werden, auch wenn Sie erwähnen
, dass ich 30 Sekunden lang bin. Aber wenn select etwas Gutes
bekommt, einige der Sockets, die tatsächlich bereit
sind ,
in diesem Fall nicht die ganze Zeit
warten. Oh, ich habe die Industrie
erwähnt, dass sie
zurückkehren kann , bevor diese
Zeit abgelaufen ist. Wenn jedoch keine Daten vorhanden sind, gibt es
in keinem der Socket Aktivitäten. Es wird den vollständigen
Timeout-Wert für sie lesen , und sie brauchen keine Staaten. Wenn Sie sagen, dass
Timeout 0 ist, wenn Sie ihnen den Wert 0 geben. In diesem Fall
wird diese Auswahl sofort
mit diesen Daten zurückgegeben. Wenn Sie die Nullen in
ihrem Tarnwert in
der Select-Funktion erwähnt haben, das letzte Argument, das 0 fordert, und das bedeutet, dass
Sie nicht warten müssen, möchten Sie nicht warten. Du musst einfach sofort
zurückkehren. Also wird es einfach überprüfen Rufen Sie einfach die
Auswahlfunktion auf, um fortzufahren. Ritual. Deskriptoren sind bereit wenn nicht wirklich nicht warten werden, eigentlich einfach
nicht sofort. Das bedeutet, dass wenn Sie den demoed Parameter
an die Null
senden,
in diesem Fall einfach weiter
warten wird , bis
kein Ereignis B gefunden wird. In diesem Fall würde es nicht zur Unabhängigkeit
führen, aber ich bin auch, es kann sein, es kann auf unendliche
Zeit warten, wenn es keine,
nichts, keine Aktivität gibt , diese Knotendaten. Wenn Sie Skript-Voreinstellungen
zum Lesen
hinzufügen möchten , wenn
Sie schreiben möchten, gibt es nichts, was Sie können keine Daten direkt
auf dem Socket befinden. Es wird weiter
lesen und lesen. Dies ist der Ort als Null. Und wenn Sie
die Demo verlängern , werden Milliliter
ungleich Null sein. Wenn Sie einen positiven Wert angeben, der Wert ungleich Null ist, dann
wählen Sie die Option aus, die nicht 0 ist. In diesem Fall wird es auf die Zeit
warten, die Sie erwähnt haben,
und es wird für Death Match
blockiert , wenn das Timeout
vorbei ist, es wird zurückkehren. Dies ist, was ist dem Timeout-Parameter im
Falle einer Funktion zur Auswahl von Punkten. Was hat dieses Timeout
eigentlich im Detail. Ich habe erwähnt, dass auch
das Timeout diese Dinge in
Sekunden und Mikrosekunden
haben wird . So benutzt man sie nur. Dann
lehnt das Letzte, was kein blockierender
Socket
ist , um sie zu erreichen, die Serverkommunikation ab. Anstatt die
Select-Funktion zu verwenden, können
wir den Socket
als nicht blockierend gestalten indem wir der
anderen Funktion folgen. Was bedeutet diese Seele, wie ich dir gesagt habe, dass
es zwei Modi für die Socket-Blockierung
sowie nicht blockierende Modi gibt. Ich hoffe, Sie haben verstanden
, dass die Blockierung bedeutet, dass es gelesen wird und dass
das Ereignis stattfinden wird. Zum Beispiel haben wir im
Falle der roten Funktion gesehen, dass wenn wir die Lesefunktion aufrufen
, wenn der Socket als
blockierender Socket ist, und wenn wir in diesem Fall
tatsächlich Essen hinzufügen, wenn er nicht den Daten, es wird einfach gelesen. Die Daten befinden sich auf dem Socket. In diesem Fall
bleibt
Ihr gesamtes Programm fest, weil
Sie
eine Funktion aufrufen und es
immer noch darauf
wartet , dass die Daten in den Socket gelangen
. Die Vorbereitungs- und Anlaufzeit Ihres
Programms wird gestoppt. Reden, hörte auf. Es
wird tatsächlich in dieser Sitzung gesehen haben, dass
die Posterhalle, um die
PICC-Liniensegmentkommunikation zu erreichen, für
jede Ebene einen Thread erstellen , der sich
tatsächlich mit dem Server verbindet. Dies wird sein oder was
aufgrund der Nachteile weh tut. Es sollte
gesehen werden, dass der Vorstand, um diese Nachteile zu vermeiden, bevorzugen
wir keine Bedrohung. Wir rufen die
Select-Funktion auf. Sie haben gesehen, was der
Zweck der Select-Funktion ist. Geben Sie sofort die Liste der
Deskriptoren an, die wir wollen. Wirklich überwachen Sie tatsächlich
Tilde den Timeout-Wert und es wird tatsächlich
mit den Deskriptoren zurückgegeben ,
die bereit sind, je nachdem,
welche Abteilung gelesen werden kann, die zum Schreiben
all dieser Deskriptoren bereit sind Retouren
wurden ausgewählte Sockets, es wird tatsächlich zurückgegeben, die zur Verarbeitung bereit
sind. So wird es lange nicht
wirklich gelesen. So haben Sie eine Kontrolle über das Baden. Dies ist nicht eine, die wir
tatsächlich verwenden. Eine andere Möglichkeit ist, dass Sie verlieren, ich mache den Socket
nicht blockierend, also ist dies eine andere Sache, um sie zu
erreichen und
mehrere Kommunikation
und die Details zur Verwendung
des
nicht blockierenden Socket abzulehnen mehrere Kommunikation
und die Details . Was ist der Zweck von
nicht blockierendem Socket? Was passieren wird und wie diesen Monat
erreichen können, lehnen Sie die
Serverkommunikation mit nicht blockierendem
Socket ab, den wir in anderen Sitzungen
sehen werden . Du siehst auch das Programm. Jetzt habe ich Ihnen erklärt wie das Detail über
die Select-Funktion ist, wie Sie sie nutzen können. Und da schreiben wir
ein Programm und führen es aus. Also dieses Wissen über
die ausgewählte Funktion sowie welche
Argumente erforderlich sind, Details darüber sind notwendig, es gibt hier einen Grund, Kohlenstoff zu
haben. Wir werden auch sehen, dann wollen wir sehen, was mit
dem nicht blockierenden Socket ist, wie wir
diesen Montag die
Client-Server-Kommunikation erreichen können . Und wir werden auch das
Programm dafür schreiben, lassen Sie uns zusammenfassen, was
alle Themen eigentlich sind, schauen wir
uns an, was unsere
Themen wir in der nächsten Sitzung
behandeln werden . Zunächst schreiben
Sie Programm und führen es
mit
der Select-Funktion aus. Also dieses Framing, diese Sitzung ist sehr wichtig
für Sie, denn in der nächsten Sitzung werde ich erklären, dass Sie ein Programm
unter Linux schreiben
werden und wir
es ausführen werden mit der Select-Funktion. Da mehr daran gearbeitet habe, habe
ich in dieser
Sitzung erklärt, dass es damals nützlich
gewesen wäre . Sie müssen sehen, wie
jemand ablehnt. Mehrere
Kommunikationen werden erreicht, wir werden sie ausführen und wir werden
sehen, wie diese Kommunikation in der nächsten Sitzung unter Linux
stattfindet. nächste Sitzung wird für Sie
sehr einfach sein. Wenn Sie
diese vollständige Sitzung
mit der Select-Funktion durchlaufen haben. Dann
werden wir als
Nächstes behandeln, was
der nicht blockierende Socket hat,
wie Sie erreichen können, lehnt die
Serverkommunikation ab. Dann werden wir auch
den Unterschied zwischen
diesen beiden Ansätzen sehen , die sich den Ansätzen zur Erreichung einer mehrzeiligen
Serverkommunikation nähern. Das ist der Unterschied zwischen der Select-Funktion
, in der ich dir jetzt gezeigt habe. Der Unterschied zwischen
dem nicht blockierenden Socket, denn dies ist auch
die andere Möglichkeit, meine ablehnende
Serverkommunikation zu erreichen. Sobald ich diesen
nicht blockierenden Socket fertiggestellt habe, werden
wir Sie über den
Unterschied zwischen ihnen und welchem wir
bevorzugen sollten. Sehen Sie, welches ist,
welches Sie verwenden sollten, wenn
Sie entweder einen nicht blockierenden Socket auswählen , der alle Führungskräfte in
der nächsten Sitzung enthält. Wie man einen Socket erstellt
, blockiert nicht alle Details und ein
Programm und schreibt ein Programm und wird mit einem
nicht blockierenden Socket ausgeführt ,
um Multi-Cloud
- und Server-Kommunikation zu erreichen. In den nächsten Sowjets
sehen Sie auf Solvenz das Programm,
das das nicht blockierende Programm verwendet, wodurch der Socket
nicht blockiert wird und
es unter Linux ausgeführt wird, Danke, Wir werden abdecken. Ich hoffe also, dass Sie
die vollständige Sitzung verstanden haben, in der
wir all diese Details
über die blockierenden
und nicht blockierenden Sockets gesehen über die blockierenden
und nicht blockierenden haben
, die Sie
zur Auswahl gespeichert haben und wie
Sie es erreichen können sie. Antiklinien-Serverkommunikation mit wählen Sie alle Dinge aus, die wir über
ein v hinzufügen , haben tatsächlich
die nächste Sitzung verschlungen,
was bedeutet, dass das Programm
die Auswahl verwendet und sehen Sie, wie diese mehrzeilige Zeile
erreichen können
Serverkommunikation, Schreiben des Programms und
Ausführen in C-Sprache. Und danke für den Moment. Danke viele Freunde.
21. Session13 Program&Execution Execution UsingSelect MultiClientServerCommunication 1st55-: Hallo Freunde. Heute werden wir das Socket-Programm mit
der Select-Funktion schreiben ,
um eine
Magnetleitungs-Serverkommunikation zu erreichen, wir werden
es unter Linux unter Verwendung
der C-Sprache ausführen . Ich hoffe, Sie haben
die vorherige Sitzung durchlaufen und ich
habe Ihnen die Details erklärt,
die Notwendigkeit, die Auswahl zu verwenden , um
die
Multi-Client-Server-Kommunikation zu erreichen. Wir haben zwei Errungenschaften gesehen, die Client-Server-Kommunikation
in erster Linie, es kann mit dem
Ansatz gehen, der den Thread
erstellt, der
jeder der damit
verbundenen Clients genannt wird den Thread
erstellt, der
jeder der damit
verbundenen Clients genannt , es gibt mehrere Clients dann mehrere Threads, wir können es sehen. Aber was war das Problem, das wir in der
vorherigen Sitzung
besprochen haben ? Es gibt verschiedene, verschiedene
nachteilige Verwendung beim Erstellen des Threads für jeden Client, der sich
mit dem abgetrennten verbindet. Also habe ich
alle Punkte,
alle Nachteile
und die Audiositzung behandelt . Es wird nicht empfohlen, den Thread für
jeden Client zu
erstellen , der versucht,
sich mit dem Server zu verbinden. Und das ist der Grund, warum wir uns nicht für den Ansatz entscheiden, einen Thread
zu erstellen. Stattdessen
verwenden wir die Select-Funktion. Die Details der
Select-Funktion liegen also. Die Select-Funktion ist erforderlich. Was ist Select-Funktion? Wie rufe ich die Select-Funktion auf? Was alle Argumente müssen Sie in der Select-Funktion
übergeben. Alle Details, die ich in der
früheren Sitzung angegeben
habe, und es ist sehr wichtig um Leistung Rückgang
abgetrennte Kommunikation. Sehen wir uns also nur eine kurze
Beschreibung der Auswahl hier an, und fangen wir an, das Programm
zu
schreiben und
es unter Linux auszuführen. Sprechen Sie nur über
die Select-Funktion. Was ist der Zweck
der Select-Funktion? Es ist,
die Anzahl
der
Socket-Deskriptor-Sockets zu überwachen , die Sie in dieser Auswahlfunktion
angeben. Wenn Sie die
Sockets für Lesezwecke überwachen möchten, wenn Sie jemandem
mitteilen möchten, dass die Sockets für, denke
ich, die gesamte Liste dieser
Deskriptoren in
dieser Auswahlfunktion angeben kann . Und deshalb
sagt diese erste Zeile das Gleiche aus. Das heißt, wir müssen Resets
laden. Das heißt, schreiben Sie
eine Ausnahme mit den Sockets, die wir
wollen Sokrates, die Sie für
all diese Funktionen testen möchten . Wir
können diese Lektüre geben wird
die Set-Liste
des Fußballs sein die Set-Liste
des Deskriptoren
, die Sie kaufen können. Ich denke, Lesbarkeit. Sie können eine Liste des
Socket-Deskriptors zum Testen angeben. Und dann wird es die beschreibende
Seg-Fehlerausnahme geben. Also all die Dinge, die ich dir in der
vorherigen Sitzung
erklärt habe , das ist nur eine
kurze Beschreibung. Was dann? Diese Auswahlfunktion,
dann kehren wir zurück. Hier geben wir der Select-Funktion also alle Arten von Timeout-Parametern an
. Was ist dieses Timeout nach
Durchmesser, das ich beschrieben habe, ist der Zeitrahmen
, in dem Sie alle Sockets testen müssen . Wir müssen testen, welche
der Sockets
für die Lesbarkeit bereit sind. Welche der Sockets sind bereit? Viertel-Zoll-Stabilität. All diese Sockets, die tatsächlich
innerhalb ihres Zeitrahmens liegen, die einer von ihnen bereit
ist, werden die Liste
dieser Sockets zurückgeben , wenn
das Timeout abgelaufen ist und keine Sockets oder
Lesbarkeit oder Wiederholbarkeit. Es wird also
keine der Sockets geschrieben. Hier geht es also darum,
die Select-Funktion zu verwenden. Und wenn Sie
die Details durchgehen müssen , um
die vorherige Sitzung zu durchlaufen, werden
Sie
alles über die
Select-Funktion verstehen . Lasst uns also anfangen,
das Programm mit dieser
Auswahl zu schreiben das Programm mit dieser
Auswahl Angelinos
mit C-Sprache
auszuführen. Auch Freunde, diese
Sitzung, die ich dir
gebe, ist das
Windows-Betriebssystem. Um
das Programm zu schreiben und unter dem
Linux-Betriebssystem
auszuführen, musste
ich die Oracle VM-Box installieren. Sie können das Gleiche auch tun. Es ist sehr einfach,
es
herunterzuladen und zu installieren , damit Sie es auch für ein anderes
Betriebssystem
versuchen können . Und wenn Sie das
Linux-Betriebssystem haben, können
Sie
das Programm direkt mit
mir schreiben und Sie können als nächstes ausführen. Oft aber haben wir
Schlitze geöffnet das Linux. Starten wir das
Betriebssystem und das Radioprogramm der Einheiten. Das ist mein Terminal
des Linux. Ich werde Ihnen die
grundlegenden Befehle kennen, wenn Sie anfangen, das
Programm unter Linux zu schreiben. Dies ist das Auseinanderziehen bei
dem ich im Home-Ordner
habe, ich habe dieses Folio erstellt , das
Linux mit select programmiert. Hier habe ich das schon
geschrieben. Lassen Sie mich die Ausgabe hier löschen. Ich war vor dir
und dann werden wir sehen, lass mich einfach
diese Akte öffnen. Lasst uns. Socket mehrere,
mehrere client.read. Also habe ich dieses Programm bereits
geschrieben. Lass mich das öffnen und das
mache ich fest. Anstatt
jeweils 98 Anweisungen
aus dem Lager zu schreiben , dauert die
Kündigung viel Zeit. Also habe ich das
Programm bereits geschrieben und erkläre Ihnen dann zeilenweise Anweisungen
, die verwendet werden. Die meisten Dinge
, die ich in
diesem Programm behandeln werde , die ich
bereits in
meiner vorherigen Sitzung behandelt habe , habe
ich erklärt, wusste, wie man
die Select-Funktion benutzt , und das ist sehr hilfreich. Wenn Sie diese
vorherige Sitzung durchlaufen, wird
diese Sitzung sehr viel sein. Also. Ich empfehle Ihnen,
vor Beginn dieser Sitzung
zur vorherigen Sitzung zu gehen . Starten Sie den Server. Dies ist also ein
Sidebar-Bericht, der an die Gesellschaft versucht wurde. Sobald ich jede
Line-up-Anweisungen erklärt habe
, führen wir sie aus. Sobald wir den Solver ausgeführt haben, wird der
Solver gestartet. Dann starten wir den
Client von einem anderen Terminal aus. Sobald wir also
einen Client starten , der versucht,
sich mit dem Server zu verbinden
, sendet der Client die
Verbindung an den Server. Der Server akzeptiert
diese Verbindung und sendet eine
Bestätigungsnachricht. Bei der Bewerbung. Diese Nachricht wird auf
der Konsole auf dem Client gedruckt . Sie werden sehen, wie der Bürgersteig diese
Nachricht an den Kunden sendet. Das Rot ist also die Kommunikation zwischen dem Server
und dem Client. Das zweite, was wir in
diesem Programm sehen
werden , dass
alles, was wir eingeben, die Nachricht, der Client, der
Select-Funktion an den Client
selbst zurückgegeben
wird mithilfe der
Select-Funktion an den Client
selbst zurückgegeben
wird. Wenn ich also
eine Nachricht eintippe, sag hallo, an
, wird diese Nachricht angezeigt, wieder auf der
Client-Konsole erscheint und Hallo sagt. Dies alles verwendet
die Select-Funktion. Wir werden sehen, wie die
Select-Funktion tatsächlich funktioniert. Und wenn wir dann versuchen, den zweiten Client zu
starten, wenn wir dies wiederholen, ist dies eine weitere Nachricht
dazu in dieser Zeile. Zweiter Client wird es dieser
zweiten Zeile selbst
angezeigt. All diese Dinge
werden wir auf diese Weise behandeln. Wir werden auch sehen, wie
der Server mit dem Client spricht und ob wir die Nachricht
beim Ablehnen selbst widerspiegeln können ,
dieselbe Ebene selbst, welche Nachricht wir dem Kunden
gegeben haben, diese Nachricht wird auf der roten Linie selbst über Dinge
erscheinen, die wir in dieser Sitzung
behandeln werden. In diesem Programm. Ich werde Ihnen erklären,
was alles
ist, was alle Anweisungen
benötigt werden ,
um dies zu erreichen. Beginnen wir also mit dem Satz der Header-Dateien
, die Sie falsch machen müssen. Deklarieren Sie es nicht, bevor Sie das Programm
starten. Ich hoffe es. Sie haben auch
die vorherigen Setup-Sitzungen durchlaufen die vorherigen Setup-Sitzungen , die ich
für die Socket-Programmierung behandelt habe. Du weißt also, der B6, der Sockel. Wie kommuniziert der Server
mit dem Client? Was ist die Pilze
eigentlich, wie der Server an den Port
gebunden wird und wie der Client
sich mit demselben Port verbindet und wie diese
Kommunikation durchgeführt wird. Alle Details, die ich
erklärt habe das Stapeln der
Sitzung in diesem Kurs. Ich werde Ihnen sagen, wie Sie Schritt für Schritt
nachgehen sollten . Fangen wir an. Die Da dies eine C-Sprache ist, aber die Ausführung Ihres Programms beginnt
immer mit
der mittleren Funktion. Das ist also unsere Hauptfunktion
, dass ich den Code, diese Select-Funktion
bisher, unterstützt habe. Dies ist die Hauptfunktion. Dies sind die Erklärung
, die ich abgegeben habe. Also lasst uns eins nach dem anderen sehen. Sie können sehen, dass diese Variable da
ist, die ich initialisiert
habe. Sehen wir all diese
Dinge, die benötigt werden? Das ist also der, das
sind die Variablen
, die Master-Socket sind. Diese ADD LN
Zeilenunterstriche Socke. Dann können Sie ein Array
im Client-Socket sehen, das n Elemente enthält. Diese Variable max Klein's, die hat, die mit dem Wert zehn
initialisiert wird. Dann all diese
Variablen,
die ich deklariert habe. Ich werde Ihnen erklären, was der Zweck
jedes variablen Monats
ist wir mit der zeilenweisen
Anweisungserklärung beginnen. Ich erkläre Ihnen, was
ist der Zweck jeder einzelnen deklarierten
Medienfähigkeiten? Schätzer für variable maximale Unterstriche des Datentyps int. Dies ist maximal oder dies könnte jene
Dateideskriptoren haben, die tot sind. In der vorherigen Sitzung.
Außerdem habe ich Ihnen das über die Details
des Avy-Unterstrichs Sek erwähnt. Also nochmal,
sagte die Schule tatsächlich, Sie wissen, dass es
drei Sätze von
FDI-Unterstrich-Zellen gibt , das heißt zum Lesen, zum Schreiben und ausnahmsweise. Welcher Wert dieses
Maximums und Steve wird es haben, wird das Maximum
haben. Welche drei von ihnen
haben den Maximalwert. Sie können hier sehen, dass
die Struktur, gehorsam ist,
als Adresse
benannt wurde , die vom Typ Struktur
Socke, DDR und der Schule ist. Ich hoffe, Sie sind sich
dieser Struktur bewusst. Dies ist der
Struktur-Socket, in dem wir beide Elemente
mit den Details
erfüllt haben . Der dritte wird
versuchen, sich daran zu binden. Wir müssen die Portnummer angeben, wir müssen die
Adressfamilie um den Socket geben. Also alle Details zur Socket-API bereits
in
der Startsitzung des Kurses. Also bitte geh es durch. Wir werden abdecken,
der Schwerpunkt liegt auf Verwendung der Select-Funktion
in der Socket-Kommunikationsplatine. Jede Kommunikation zwischen molekularer und
zellulärer Kommunikation. Also lass uns sehen. Wir
verwenden tatsächlich einen Puffer, also werden wir sehen, wie
wir ihn nutzen können. Ich hab's gehört. Und Sie können sehen, wie FD eingestellt ist. Also verwenden wir
auf der Seite hier, da wir in unserem
Programm sind, überwachen
Sie jedoch Sockets zum
Lesen, Schreiben, können
Sie je nach
Ihrer Anforderung
auch
Schreiben nennen nur Jungen bekommen,
lasst uns mit ihnen reden. Ich werde es verarbeiten. Also habe ich hier die
FDA-Oberfläche des Datentyps gelesen. Auch hier können
Sie diesen Codesatz sehen. Aber hol dir einen Punkt.
Die Nachricht, das heißt, dies ist eine Nachricht, die von
der Seitenleiste auf neun Laufwerke gesendet
wird , um eine Verbindung zum Server herzustellen. Wir würden diese
Nachricht davon senden, ich werde dieses Programm selbst ausführen. Sie werden sehen, wie Sie diese Nachricht
nutzen können, August sendet diese Nachricht. Dann können Sie in diesen drei
Anweisungen
sehen, was
wir hier machen. Sie können sehen, dass es eine For-Schleife ist. Und hier nehmen wir
die Schleife beginnend mit 0 Wert, maximalen Unterstrichenzeilen. Was ergibt das Sinn? Coole Clients, es wird auf zehn
initialisiert. Da ich also zehn Clients will, kann er zehn Clients
mit dem Server verbinden, also habe ich es als zehn angegeben. Und daher
wird diese neue und daher diese Schleife von 0 nach n iterieren. Was
mache ich
zunächst, was ist
dieser Bereich über den Client-Socket? Es ist eine Reihe dieser
Fußballdeskriptoren. Wir wissen also, dass sobald
der Socket in Ordnung ist, Socket erstellt wird, ein Socket-Deskriptor
zurückgibt. Wir hatten den
Socket-Deskriptor in
diesem Hinzufügen beibehalten , der als Kunde
und Schulfußball benannt wurde. Und anfangs, da
kein Client verbunden ist ,
das wäre, initialisieren
wir alle
zehn Socket-Deskriptoren des Clients werden 0 sein. Sobald der Client versucht, sich mit seiner Seite zu
verbinden
, werden diese
Add-Elemente einzeln gefüllt. Socket, es wird
es vom Client abziehen ,
der
versucht eine Verbindung herzustellen. Sie werden also sehen, wie tief diese Dinge in diesem
gesamten Programm selbst sind. Was wir dann machen. Da es sich um ein
Sidebar-o-Programm handelt, erstellen
wir
den Socket nebeneinander. Wie
erstellt man den Socket? Wir wissen, dass wir
einfach die Socket-Funktion auf diese Weise müssen. Und das sind die Einrichtung Menschen, die wir innehalten
sollen. Das ist dieses erste Argument, das zweite Argument und
dieses Teilargument. Dies ist die Adressfamilie. Wir haben die Details
darüber in einer früheren Sitzung gesehen, die Art der Sockets, und wir werden die Socket-Kommunikation mit
dem Stream-Socket-Markt Bagram durchführen Socket-Kommunikation mit
dem . Also habe ich den
Typ des Sockets auch
die Details dazu
in der Startsitzung erwähnt . Diese 0 wird hier übergeben. Sobald der Socket auf der serverseitigen Seite
erstellt wurde, wird er zurückgegeben. Wenn es erfolgreich ist, wird dieser
Master-Socket zurückgegeben. Prüfen Sie tatsächlich, ob
es erfolgreich ist oder nicht, definitiv
ist diese Bedingung so gegeben. Hier wird dieser Master-Socket der Socket-Deskriptor in
der Sidebar sein, den wir bekommen haben. Sobald dieser Socket
erstellt wurde, dieser Master-Socket, werden
wir versuchen, diesen Master in
Umlauf gerufenen Server-Socket
an die Portnummer zu binden , und wir werden versuchen, die Portnummer zu
hören. Ich werde versuchen, die Verbindung einfach zu
akzeptieren. Wenn wir versucht haben,
den Client von einer anderen
Seite von einem N-Terminal aus zu starten den Client von einer anderen
Seite von einem N-Terminal , akzeptiert
der Server, sobald
er zuhört, die
Verbindung vom Client. Wenn der Client eine Verbindung mit
demselben Port herstellt, taub für alle Dinge, die wir hier auf der Server-Site
sehen werden . Wie man bindet, wie man
zuhört, wie man akzeptiert. Jetzt ist die nächste Setup-Anleitung, die da ist, der Sockel von OPT
gesetzt. Dies ist also auch optional und der Master-Socket, um
ihnen ethisch eine Verbindung zu ermöglichen. Es gibt also die
verschiedenen Optionen die
Sie
hier in dieser Anleitung abgeben können , die erledigt ist. Der nächste Sektor von Anweisungen,
die Sie erhalten, wissen
Sie, Sie können es sehen. Das
machst du, wie ich dir sagte, wie lautet diese Adresse? Es sind die Arterien des sowjetischen
Sockels, die bereits
in den Grundlagen der
Steckdose zu sehen sind. Wie füllt man. So ist diese äußere
Säule, diese Variable, jedes Element dieser
Variablen einzeln, mit dem Vorstandsmitglied
der Familie. Und bei all diesen Dingen müssen
wir beschützen. Der Destruktor ist
kein Mitglied von. Alles, was alle Mitglieder in
dieser Videorechnung
haben, ist , dass dies die Familie ist, mit der
wir leben müssen. Familie des Sockels. Du willst Ben? Dass alle Details
der Socket-Zeit Sie
in der Startsitzung erklären, gehen
Sie bitte auch durch, ich habe mich auf diesen
eisernen ADR und die Punktzahl konzentriert. In der früheren Sitzung
des Sockets
gehen Sie es bitte durch. Dann habe ich diese Portnummer, die ich
Ihnen eine Sportnummer geben werde, ich habe sie einfach auf viermal
acht
definiert , damit Sie die
Zahl für eine der
Berichtsnummer definieren können , kein Problem. Denken Sie jedoch daran, wenn Sie versuchen, sich vom Client aus zu verbinden, dass
Sie sich mit
derselben Portnummer
der Seitenleiste verbinden müssen , was
Ihnen gibt, wenn Sie mir
eine andere Portnummer geben ,
die Server-Site. Und Sie möchten, und
Sie möchten, dass der Client eine Verbindung herstellt, um
dieselbe Portnummer anzugeben, was auch immer Sie hier
auf der Serverseite angeben. So kann dieser Rückgang dann entscheiden, was dann die Verbindung
akzeptieren kann. Es ist an
diese Portnummer gebunden. So binden wir die
Sideway-Socket-Portnummer und
geben die Details der
Listen-Familientasche für mich an. sich also alles
neben dem Programm. Drucken Sie einfach die Nachricht hören Sie die Portnummer an. So erhalten Sie diese
Anzeigemeldung auf der Konsole mit den plötzlichen Elementen,
die wir versucht haben, ihren Cyber
zu starten. Und dann bekommen wir, wir müssen die
Hörfunktion aufrufen. Das bedeutet, wie viel der
ausstehenden Verbindung je nach
Verbindung V1
auf geteiltem Socket zwei
des Clients tot sein kann auf geteiltem Socket zwei . Deshalb geben wir
diesen Zuhörern auch. So können Sie je nach Anforderung eine beliebige
Anzahl ausstehender Verbindungen
auf dem Client angeben. Das nächste, was
wir tun, ist, dass wir diese Nachricht
einfach
auf der Konsole drucken und auf die Verbindung
warten. Der Server
wartet auf eine Verbindung. All diese Nachricht werden wir auf
der Server-Site sehen , da dieses Programm für
die Silver-Site bestimmt ist. Und dann können Sie
hier sehen, dass wir
eine Schleife machen , die die hohe Schleife ist
und wir machen es wahr. Sie können also verstehen,
ob wir eine Schleife machen und dann diese Schleife
weiter iteriert, dann kehren Sie nicht
irgendwo in Ihrem Blog zurück. Sie müssen, um nur die Endlosschleife zu
vermeiden, je nach
Ihren Anforderungen von
diesem Arzt zurückkehren je nach
Ihren Anforderungen von
diesem Arzt und
Sie müssen zurückkehren. Sie müssen erwähnen, dass
dies eine Schleife ist,
die kontinuierlich weiterläuft. Hier sehen wir also, was
wir genau machen. So können Sie diese
Anweisungen sehen, die uns gegeben werden, das ist der FDE-Unterstrich 0 wieder, VSCO hat all
diese Dinge eingerichtet , die ich
Ihnen in meiner vorherigen Sitzung erklärt habe. Diese Dinge sind extra und
Sie verwenden die Select-Funktion. Denken
Sie also immer daran, wenn Sie eine Select-Funktion verwenden, Sie sollten all diese
Gleichheitsfunktionen verwenden und all diese
Dinge auf die gleiche Weise initialisieren müssen . Dies sind die Details
dazu , die ich Ihnen in
der vorherigen Sitzung gegeben habe. Was ist der Zweck
des FDA-Unterstrichs 0? Da wir einfach das Read f ds
verwenden, möchten
wir, dass die Software den Lesezweck auf dem Board
überwacht. Also müssen wir es zunächst
immer auf 0 initialisieren. Und deshalb nennen wir
diesen AVG-Unterstrich 0. Also das ist ,
was ich erklärt
habe und startete Sie mit unserem Programm. Sie können also sehen, dass Sie hier nur einen
nehmen, der gesagt hat, dass wir es sind. All diese Dinge werden
wir also benötigen und wir rufen die Select-Funktion auf. In Italien
neutralisieren wir einfach alle Listen listen alle Beweise auf 0 auf. Dies bedeutet, dass wenn Sie diese Funktion
aufrufen, entscheiden Sie, welches ist, welches ist, was die Zeit ist,
hier aufzurufen und
den Moskauer Sockel zu analysieren. Und was? Diese Funktion, diese Funktion, wenn
Sie einen Reset aufrufen, bedeutet
dies, dass jeder
Socket-Deskriptor Sie hier angeben, tatsächlich in dieser Liste hinzugefügt
wird. Socket-Deskriptor. Dies ist also das spezielle Problem des
einzelnen Socket-Deskriptors, das man ausdrückt. Angenommen, Sie müssen
drei Socket-Deskriptoren überwachen. Sie haben das Ziel dreimal, beide haben den Unterstrich gesetzt. Im ersten Argument müssen
Sie diesen
Socket-Deskriptor übergeben und
diesen Socket-Deskriptor hinzufügen. Sie müssen diese Liste des Socket-Deskriptors hinzufügen,
der von FDA gelesen
wird, da
Sie
diesen Socket-Deskriptor
auf Lesbarkeit überwachen möchten . Und deshalb
geben Sie das besagte AN weiter. Angenommen, Sie wollten, dass der Socket-Deskriptor zu Schreibzwecken
überwacht. Und wenn Sie
anfänglich oder
richtig FBS deklariert haben , geben Sie den Socket-Deskriptor als gegensätzliches Argument an
und Sie können
als zweites Argument die richtige
MVS-Adresse angeben oder f ds schreiben. Aber da wir in diesem
Programm den
Socket-Deskriptor zum Lesen überwachen wollen oder müssen. Und daher habe ich gegeben, ich diesen
Socket zu dieser Liste des
Socket-Deskriptors hinzufügen muss , damit der Server-Socket für
Lesbarkeitszwecke überwacht
werden kann . Dafür
nenne ich diese Funktion. Was mache ich dann. Sie können hier sehen Max, wie ich Ihnen bereits erklärt habe, dass wir
dies als SB maximieren lassen. Auf diese Weise wie d zu
Beginn dieses Programms. Was ist der Zweck davon? Was wird dieses
Handyvideo haben? Es wird das Maximum
des Socket-Deskriptors festgelegt haben. Er sagte von diesem
Socket-Deskriptor, da wir hier
tatsächlich einen Socket-Deskriptor bei mir haben. Wir erstellen keinen 23-Socket-Deskriptor
mit viel Staub, maskieren die Sockets oder was auch immer der
Zeilensocket-Deskriptor vorhanden ist. Da wir es
jedoch geschafft haben, erstellen wir, bis jetzt haben wir
nur einen Socket erstellt und es gibt Burma Satz von
uns Socket-Deskriptor zurück. Also werden wir das erwähnen. Wir werden
dieses Maximum als David initialisieren, Wert, das ist redact variable Master
Unterstrichen-Socket. Dann drucken wir einfach
die Nachricht hier, um diesen Master-Socket zu erhalten, den wir haben, hängt davon ab, ob Sie ihn drucken
müssen oder nicht. Diese for-Schleife habe ich genommen. Was ist also der Zweck
dieser for-Schleife? So kannst du hier schon sehen
, dass das eine While-Schleife ist. In dieser
While-Schleife müssen
wir zunächst all diese Dinge initialisieren. Respekt vor dieser Tat der FDAs. Und dann ist das eine For-Schleife. Schon wieder. In dieser for-Schleife mache ich
genau nach der Operation. Sie können hier am
Anfang dieser Sub-Y-Schleife sehen, ich füge einfach den Server hinzu, einen Socket zu dem bis dahin Sie
nur einen Socket-Deskriptor verstehen können. Ich habe kein
beschreibendes Lesegerät im Bett hinzugefügt,
der zu
Auditzwecken überwacht werden soll. Aber ich möchte auch, dass eine
Liste der Zeilen zum
Socket-Deskriptor hinzugefügt wird. Deskriptor wurde festgelegt, um zu Auditzwecken zu
überwachen. Denn wenn man annimmt, dass etwas an den Client weitergegeben
wird und in diesem Fall ich auch überwachen
muss ,
wollte ich tatsächlich aus
dem Client-Socket lesen. Ich möchte, dass der Client-Socket
auch überwacht wird,
wenn Aktivitäten
stattfinden und gestoppt werden. Bisher wird nur der
Master-Server-Socket zu
Lesezwecken überwacht , wenn
ich alle hinzufügen muss und Clients tatsächlich auf Monica
handeln Jede Lesevoraktion ist
im Nachhinein durchzuführen. Ich kann diese
Client-Sockets auch zu dieser
BSL-Rate hinzufügen , damit Dinge auf diesem Client-Socket
gelesen werden sollten. Dann kann ich es
tatsächlich lesen, sobald ich
tatsächlich mit dem leeren Set hinzufüge . Wenn Sie also zuerst überwachen möchten, müssen
Sie auch den Client,
die Sockets des Kunden, zu
dieser Menge hinzufügen . Sie können also hier sehen, dass es einen Grund
gibt, warum ich diese for-Schleife hier
genommen habe . Diese for-Schleife ist, dass
Isaac gleich 0 I weniger als max
Unterstrichen-Clients und dann habe ich
plus max Clients
fest codierten Wert zehn. Dies ist eine Desktop-Anzeigemeldung. Jetzt können Sie nur
diesen Client-Socket sehen. Wie ich Ihnen sagte, ist dies eine
Liste dieses Bereichs, der verwendet wird, um den Bereich des
Client-Socket-Deskriptors
beizubehalten. Also haben wir anfangs gesehen, wir alle Dance
Off the Client-Deskriptoren auf
0 initialisiert Off the Client-Deskriptoren auf haben, da wir
keinen Client für einen aktiven haben,
eigentlich einzeln. Sobald der Client mit dem Server
verbunden ist, wird
jedes Element gefüllt. Eigentlich wird dieses
Bereichselement mit diesem
Socket-Deskriptor vom Client
gefüllt. Daher können
Sie zunächst hier sehen, ich nehme jedoch den Wert
dieses oder dieses Client-Sockets
ab. Seit wenn ich gleich 0 ist, Line-Socket-Bereich der Nullen so
sein, dass G selbst 0 sein wird. Denn seitdem ist immer noch
kein Client verbunden. Und es hätte diesen Zustand
überprüfen können. Bedingung ist, dass, wenn dieser
Socket-SDS größer als 0 ist, nur
Sie
diesen Client-Socket-Deskriptor
in früheren Videos hinzufügen
sollten . Worum geht es bei dieser drei Unterrichtszeile
? Es geht einfach darum. Ich überprüfe
nur diese for-Schleife , ob mein
Client verbunden ist. Seit ich dir das gesagt habe. Wenn der Client verbunden ist, was passiert
in diesem Fall? Wir werden versuchen,
diesen Bereich mit diesem
Socket-Deskriptor des Clients zu füllen . Angenommen, nur ein Client verbindet
sich mit dem Server. Also bekomme ich den
Socket-Deskriptor auf dem Client und fülle diesen
Eddie, Eddie Nullen,
dann den zweiten Client aus, den ich versucht habe,
eine Verbindung zum Server herzustellen und dann den anderen
Socket-Deskriptor von der zweite Kunde bei
jedem Tippfehler dazu. Da in jedem Allel keine Clients verbunden sind, überprüfen
Sie die Bedingungen. Offensichtlich ist das mehr
verbunden und echo dieser SD oder 0 wird 0 selbst sein. Und daher wird diese
Bedingung in ihrem Code nicht erfüllt
sein. Ich werde den
Socket-Deskriptor nicht hinzufügen, obwohl er monatelang
zurückgegangen wäre und x zum Server hat, dann können wir
diesem Leser-VS2-Monitor zu
Auditzwecken nur direkte
Leitung hinzufügen . Anfangs können Sie hier
nicht sehen , dass diese Bedingung nicht erfüllt sein
wird. Dies ist auch
eine weitere Bedingung. Das heißt, wenn SDS
größer als Maxes ist, wussten
Sie noch nicht,
dass Max SD das ist was es tatsächlich ist,
Server-Socket-Deskriptor. Ich überprüfe tatsächlich, ob diese
11 größer ist. Offensichtlich haben wir bis
jetzt keinen Aufstieg und
keinen aktiven Rekord. Diese Bedingung wird
auch nicht erfüllt sein. Nur das wird nicht zufrieden sein. Also haben wir das nicht, wir lassen
diese Anweisung nicht ausführen. Der for-loop-Thumb IV
wird implementiert. Es wird eins für die
Anwendung von Socket eins. Sie können sehen, da keine
Client-Sockets angeschlossen
sind, ist dieser Wert
daher wieder 0 und daher
wird diese Bedingung nicht erfüllt sein. Das wird also einfach, diese Iteration wird von
Isaac geschehen , während bis 0 ich weniger als. Dann weil wir den
maximalen Client auf zehn initialisiert haben. Da an diesem Ausgangspunkt kein Client
verbunden ist und dieses
Programm selbst
gestartet wird,
initialisiert PM alle Clients
durch Deskriptoren auf 0. Und deshalb werden
diese beiden Dinge jedes Mal nicht zufrieden sein. Und daher nein, keiner
dieser ockeren Deskriptoren
wird hinzugefügt und Deskriptoren werden
dem beschreibenden Satz hinzugefügt , da wir keinen
Client verbunden haben, daher deren Bereich -Element
ist eigentlich nicht angepasst, wir haben keine
Socket-Deskriptiven für diese Zeile. Dies ist also zur Startzeit, dies wird ausgeführt. Jedes Mal, wenn die
Schleife tatsächlich geht, können
Sie sehen dass dies
jedes Mal wichtig ist, wenn dieses Militär
jedes Mal, wenn diese Schleife ausgeführt wird, wird
dies erneut ausgeführt.
22. Session13 Program&Execution Execution: Dann wird die nächste
Anweisungszeile ausgewählt. Dies ist
jedoch eine sehr wichtige Anweisung. Was wird also passieren? Jetzt? Wir rufen die
Select-Funktion auf. Wir geben all
diese Argumente weiter. Aber ein entsorgt
Argument wird haben. Die Details zum Aufrufen
der Select-Funktion und
welche Argumente darin enthalten
sind, werden alle in
der vorherigen Sitzung behandelt. Bitte gehen Sie es zuerst durch, wie ich bereits erwähnt habe, um es vielleicht abzulehnen, da das erste
Argument das
Maximum für den
Socket-Deskriptor
hat Maximum für den
Socket-Deskriptor der über dem drei
Deskriptorsatz plus eins gesetzt
ist, dies beschreibende Seite,
Seite acht MDS, oder? Ja. Und Ausnahme. Und er hat gesagt, wer von ihnen hat also
den höchsten Wert plus eins? Seit diesem hat Max dv. Jetzt ist nur ein
Socket-Deskriptor vorhanden. Sein Wert, was auch immer der
Socket-Deskriptor des Master-Servers schlecht ist, nach dem Aufrufen
der Socket-Funktion mit Wert
plus eins verschwunden ist, wäre schlecht. Wir müssen dies im Falle
des Linux-Betriebssystems fragen , dass alles, was ich Ihnen auch beschrieben
habe. Im Falle des
Windows-Betriebssystems rufen Sie die
Select-Funktion auf. Das ist eigentlich nicht gegeben, ich habe dir auch erklärt warum. Weil dieser Parameter in
der Schule enthalten
ist , sagte Also
alle Dinge sind abgedeckt und
geben keine Sitzung. Bitte geh es durch. Dann. Sie können hier
das zweite Argument sehen, wir übergeben es als
Adressoperator VSO. Wir wissen bis jetzt, dass wir einfach der
Yvonne-Socket-Deskriptor-Branche ihre Ideen
hinzufügen Yvonne-Socket-Deskriptor-Branche ihre Ideen ,
und das ist auf einem
Server-Socket-Deskriptor, aber keiner der
Client-Socket-Deskriptoren, die
wir hinzufügen, kennt
derzeit in dieser Phase, sogar später
tatsächlich, sobald das Programm ausgeführt wird,
sobald wir versucht haben, das
Deadline-Szenario des
Austauschs tatsächlich zu starten , werden wir den Client auf
dem Client-Socket unterstützen deskriptor
ich führe in diesem Video. Im Moment, da kein Client
verbunden ist oder nicht, besteht keine Frage,
das M & M später hinzuzufügen. An wird der eine Socket
, der
Server-Socket-Deskriptor ist, in diesem Video
hinzugefügt. Und dieser Wert, wie heißt
das Argument? Wir wissen, dass dies
einer ist. Das ist ein leeres Set. Dies dient zu Schreibzwecken. Dies ist der Ausnahmezweck, und dies ist ein Timeout-Wert. Also sind alle Dinge
in der vorherigen Sitzung verschwunden. Das gehen wir als
keine für das Schreiben des Büros weil wir vorerst nicht auf das Schreiben überwachen
wollen. Wenn Sie Aktion wünschen, können
Sie sie auch in Ihrem ändern, wie ich schon sagte, Sie können ein Viertel hinzufügen, oder? Und lass los und was auch immer. Sokrates, wenn du
willst, kannst du es hinzufügen. Du weißt, wie man bearbeitet. Ich habe erklärt, dass du das gehört hast. Sie können Ihren Code
je nach
Anforderung für meinen Fall ändern . Ich möchte auf
Auditing achten und deshalb analysiere ich das nicht. Ich verstehe dafür, dass ich IS
null schreibe und der Gedanke ist menschlich. Und dieses vierte Argument
hier ist eine Ausnahme. Ich mache mit ihnen,
um auf
Ausnahme zu überwachen , wenn ich es übergebe da das letzte Argument der Timeout-Wert
ist. Ich werde auch
neue Details erklären ,
welcher Timeout-Wert, wenn es sich um einen Wert ungleich Null handelt, bedeutet das, dass er viel bedeutet das, dass er viel Zeit überwacht
, die ihn tatsächlich
außerhalb des Sockels wahrnimmt Deskriptoren
und diese Notwendigkeit von VS lesen bereits öffentlich. Da der Veranstaltungsort also
der Wert null ist, bedeutet
das, dass Sie es sind, müssen Sie es tun. Diese Auswahlfunktion
wartet weiter. Stellen Sie tatsächlich eine Aktivität auf
den Master-Socket ein. Es wird keine DWT zurückgeben, keine Erkennung auf
diesem Master-Socket. Dies hängt davon ab , welchen Wert Sie
dem Timeout geben. Also alle Dynamiken erklären dich
in einer vorherigen Sitzung. Wenn Sie also einen Wert ungleich Null angeben um eine bestimmte
Zeit wie zehn Sekunden,
30 Sekunden bis zum
nächsten Mal zu geben , wird es tatsächlich aufgezeichnet und die Aktivität
hat einen Code auf dem Bürgersteig. Und wenn nicht, dann
wird es was zurückgeben? Und wenn wir keine Zeit hatten, wenn sich eine Aktivität widersetzt, wird der
Index-Socket-Deskriptor zurückgegeben. Und Sie können die
Zucht durchführen. Hängt davon ab, tut mir leid, dass
Sie die Kontrolle über die Select-Funktion haben,
abhängig von diesem Wert des Timeouts, sie wird
die Obdachlosenzeit steuern. Sie möchten Ihr Auswahl-Tool. Dies ist kontrollierbar, daher ist
dies der Grund, warum
dies an einem Tag ist. So können Sie parallel auch
mit anderen Aufgaben bearbeiten. So wird
Ihre ursprüngliche Funktion nicht lange blockiert , in der Zeit,
Sie haben erwähnt, dass
viel Zeit sie gebloggt wird,
da es falsch sein wird. Medium mit Verarbeitung unter
Task nach diesem Timeout. Dann ist dies eine
weitere Zeilenmeldung , die zur Auswahl stark
ansteigt. Das erklärt
dir einfach das Wort. Und er sieht
hier offensichtlich, wie der Fluss läuft. Jetzt prüfen wir mit dem Additiv einige
Deaktivieren, er wird zurückkehren. Dies ist eine Rückkehr, tatsächlich wird
es einen Wert zurückgeben, also überprüfen wir ihn tatsächlich. Wenn es weniger als 0 ist, genial. Auf diese Weise drucken
wir den Fehler. Wir überprüfen
einige Metalle, die durch Aufrufen
der Select-Funktion
aufgetreten sind. Immer. Seit gekauft. Jetzt, in diesem Stadium. Und wenn wir nur eine
Seite eines Sockets
haben, überwachen wir dies, wenn eine Aktion
auf dem Server-Socket ausgeführt wird. So können Sie
tatsächlich verstehen, welche Aktion auf dem
Sidebar-Socket von Besley ausgeführt werden
kann. Bis jetzt, was wir
getan haben, was wir gekauft haben, wir erreicht, was wir in getan
haben Entsprechend sind
wir einfach verbindlich. Wir haben es geschafft,
den Sidebar-Socket an
die Portnummer zu binden den Sidebar-Socket an
die Portnummer zu , und
wir sind fertig, sie zu bieten. Es hört tatsächlich zu. Und wenn es einmal ist, welche
Aktivitäten bei dieser
Server-Socket-Aktivität auftreten können, kann auftreten als würden wir versuchen, die Startfrist zu
erfahren. Offensichtlich wird es neun tun, wenn ich versuche, mich mit
der Seitenleiste zu verbinden , und dann muss der
Diener es akzeptieren. Das ist also die Aktivität, die die
Verbindung des Clients akzeptiert. Das ist eine Aktivität
, die Mechaniker auf der Seite der Augenhöhle
ocker ist. In diesem Fall wird tatsächlich der
Server-Socket
aktiv , weil der Client eine Aktion
sendet , um
seitwärts zu sortieren. In diesem Fall
wird die Seitenleiste aktiv. Und da Sie Ihren Server nicht bereits zu
Lesezwecken
überwachen, Deco, müssen Sie diese Optionen
tatsächlich überprüfen. Diese Option über sie ist erforderlich. Ich habe auch erklärt, dass Sie diesen Block sehen
können, den ich nach der
Select-Funktion gemacht
habe. Wir haben coole Einrichtungsanweisungen um zu überprüfen, dass einer der
Fußballdeskriptoren
tatsächlich in Ihrem
Deskriptor-Set festgelegt wurde . Es bedeutet was? Da welche
Select-Funktion zurückgegeben wird, wird sie
tatsächlich
mit dieser Zahl zurückkehren. Und dies könnte etwas
Deskriptoren mit der ID haben der Vorgang
am besten funktioniert , wenn Sie tatsächlich
weiter ticken müssen, der
Socket-Deskriptor bereit ist. Denken Sie also auch daran, dass dieser
Lesevorgang nach
der Select-Funktion tatsächlich
geändert wird . Seitdem passieren Sie, dass
Sie
nur einen Socket hinzufügen ,
wird in der Tat
offensichtliche Menüauswahl Funktion lassen . Dies wird mit
dem Wert der
Fußballdeskriptoren geändert . Kehre zurück. Ja. Dieser Block
gibt es also
nur so viel,
warum dies erforderlich ist. Dieser Block, den ich
gerade hier hervorgehoben habe, besagt einfach, dass nach
dem Aufruf der Select-Funktion
offensichtlich, wenn er zurückkehrt, um zu sehen, dass der tote Deskriptor
in Ihrer Rate von Lektionen Ich habe Ihnen gesagt, dass der Status
von VS geändert wird, nachdem Sie die Select-Funktion
anfangs aufgerufen haben, was diese
Rate von VSS
hat, mit der Liste der beiden
Socket-Deskriptoren bei Ihnen ist. Du willst, dass sie überwacht werden. Im Falle der gelesenen FDAs fügen
Sie auch all diese
Ihrer Kreativität hinzu. Sobald diese Select-Funktion ausgeführt aufgerufen
wurde, kehrt
sie zurück richtig? Nach der Rückkehr
wird dies geändert. Dies wird
damit auf der Liste der Deskriptoren stehen, die
für diese Funktionalität bereit sind. Es wird nicht den
ältesten Socket-Deskriptor haben. Es werden nur diese
Socket-Deskriptoren bereit sein, um
den Lesezweck im
Falle dieses beschreibenden Satzes auszuführen . Und deshalb müssen Sie dieses hervorgehobene Ding
verlieren, diese Anweisungen,
um den tatsächlich Walk - oder Socket-Deskriptor zu überprüfen,
da Sie nacheinander den
WSUP-Check erhalten . Aber jeder Socket-Deskriptor ist in diesem Lesegerät von ds vorhanden. Wenn es in diesem Video vorhanden ist, bedeutet
das, dass der
Socket-Deskriptor tot ist. Socket ist für
Lesezwecke bereit , da diese nach Auswahl der Modulmengen geändert
werden. Invaliditätsrückgabe
hat den Wert jener nur Sockel einen verzögerten,
bereiten Koordinierungszweck. Wenn es einen
Socket-Deskriptor hat
, den Sie für
wiederholtes Lesen überwachen und nur
zwei davon sind bereit. Die
Select-Funktion wird also aufgerufen. werden nur zwei des
Sockets hinzugefügt. Lies FDAs und du weißt es nicht. Du musst eins nach dem anderen überprüfen. Alle zehn tatsächlich, wenn Sie überprüfen möchten,
welche von ihnen in Ihrem Deskriptorsatz
vorhanden ist . Und offensichtlich sind zwei von ihnen diese Bedingung, da
dies in unserem Fall unten jetzt nur den Master-Server-Socket überwacht. Und deshalb bin ich einfach, ich denke, der Code für
viele Semester usw. Augenhöhlendeskriptor
an seinem Master-Socket ist in 3D von ds vorhanden. Wenn es vorhanden ist,
bedeutet das, dass dieser Socket
für Benotungszwecke bereit ist. Diese Bedingung
wird erfüllt sein. Dies ist der Hauptzweck der Verwendung des
FDA-Unterstrichs wird gesagt, Sie sollten verwenden nachdem die
Select-Funktion aufgerufen wurde. Und deshalb wird
es in dieser Zelle, wenn dies zufrieden ist , zufrieden. Das bedeutet, dass ich die
Exit-Funktion aufrufe, von der ich Ihnen mitgeteilt habe , dass Sie
die Verbindung
zum Server unter derselben Portnummer
zuweisen , und dann müssen
diese Verbindung jemals
akzeptieren. ich gesagt. Ich nenne diese
Auszug-Funktion. Und dann fünf,
wenn wir sehen, dass der Master Sokrates
möchte, dass es sich um einen Server-Socket handelt, analysieren wir
die Details, persönliche Adresse sind,
und all diese Dinge. Aber ich meine, es tut es,
wenn es zurückkehrt, wird
es den
Socket-Deskriptor
der Buchzeile zurückgeben , der verbunden
wird. Wir haben diese Phase. Diese Bedingung ist erfüllt. Das heißt, zu diesem
Zeitpunkt gibt es eine Linie, die gestartet wird. Bis jetzt hatten wir keine. Aber sobald wir versucht haben, Dark Line zu
starten, versucht der
Kunde, sich nach dieser Auswahl mit dem Solver im Bett
zu verbinden .
Die Select-Funktion. Wissen Sie, es wird
tatsächlich in unserem Fall warten, es wird auf
gleichgültige Nachtzeit warten , bis es eine Verbindung
vom Client bekommt. Sie können hier sehen, dass
ich das ausdrucke, bevor Sie auswählen, wann Sie den Server
starten. Und Sie können hier sehen, dass
Sie die Nachricht erhalten bevor Sie diesen Punkt auswählen. Dieser Server
wartet tatsächlich, da er hier erwähnt hat. Das heißt, all diese Dinge wären eigentlich nicht
zufrieden,
dass man nicht lügt, weil
diese Bedingung nur dann der Fall ist wenn der Client versucht dem Server
zu verbinden,
und es gibt einige Aktivitäten. Der See I beim Abstieg
der Verbindung, dann sind wir es nur. Diese Bedingung
wäre nicht erfüllt wenn dies die Sache ist. So können Sie definitiv hier sehen, sobald ich versucht habe,
den Server auf Neu zu starten, können
Sie die lokale
Auswahl der Standardauswahl sehen. Sie werden das Protokoll
dieser Auswahl nicht sehen , weil plötzlich
das tatsächlich wartet, weil Sie hier nicht angegeben haben. Sobald wir Dark Line starten, wird
es versuchen, sich mit
dem Lösungsmittel zu verbinden, und Sie
erhalten , dass all diese Nachricht gedruckt
wird. Und Sie erhalten auch
diese Nachricht, die bei dieser neuen Verbindung
ausgedruckt wird . Eigentlich bedeutet das, dass die Bewerbung eine in die
gleiche neue Verbindung
erhalten hat. In diesem Video wird nur
ein Client verbunden. Wenn der Client
eine Verbindung hergestellt
wird, sendet der Server die
Nachricht. Was ist dieser Kunde? Dies ist also der Socket-Deskriptor oder der Client, der eine Verbindung
gebracht hat. Da diese
Auszugsfunktion sie zurückgibt, geben Darkline-Socket-Deskriptor von der
Serverseite
zurück , die wir senden. Sie müssen auf diesem
Sockel eine Nachricht schleifen, wie ich Ihnen sagte, was ist der
Zweck dieses Programms? Was wir tun werden, werden wir
versuchen, den Server zu starten und dann zu lesen, um eine Verbindung mit derselben Portnummer
aus der einfachen Sicht herzustellen. Dann wird es das tun. Dies alles wird
erscheinen, die sich auf niedrig verschobenen IV befinden,
werden auf der Serverseite angezeigt. Sie erhalten diese Nachricht, eine neue Verbindung für alle. Der Server sendet auf diese Weise eine Nachricht
an den Client. Diese Botschaft, was es da ist. Jetzt kommt die Verwendung
dieser Nachricht. Da ich
diese Nachricht bereits auf diesen Wert aufgenommen habe, können
Sie hier sehen, dass dies
eine Katzenzeigernachricht ist. Und ich bekomme diese Nachricht bestätigt wird Bestätigungsnachricht vom Server
gesendet wird. Also hier senden wir
die Nachricht auf
der Clientseite auf diese
Weise, den Client-Socket. Und dies dient nur dazu, die
Nachricht auf der Serverseite anzuzeigen, Bestätigungsnachricht wird
erfolgreich von ihnen gesendet. Mehrere. Nun, das ist eigentlich eine mehr als Schleife, diese
Bedingung selbst. Also all diese Dinge,
bei denen ich
es erwähne , wenn ich
diese
Anweisungen wie in diesem Zustand gelesen habe , ist
dies die Bedingung und
Sie müssen Socket meistern, das sind Anbieter unsere Sokrates die Verbindung
vom Client abrufen. Das bedeutet, dass der Client tatsächlich vorhanden
ist n. Nun, was
Sie tun, versuchen
Sie, die Verbindung
von der Serverseite aus zu beenden. Und noch eine Sache, die du tun
solltest,
kannst du einfach raten. Je mehr was
benötigt wird, ist noch jetzt. Sie können in unserem Programm sehen
, was wir getan haben. Wir haben im Array für den
Client-Socket-Deskriptor, anfangs
beginnt es
auf 0 zu initialisieren , da
keine Anwendung verbunden ist. Aber jetzt,
wenn diese Bedingung erfüllt ist, bedeutet
das, dass sie
die Verbindung wieder akzeptiert , dann
kann sie die Verbindung akzeptieren. Und es gibt eine Client-Anfrage , sich mit dem Server
zu verbinden, dann kann der Server diese Verbindung
akzeptieren. Das bedeutet, dass es einen Kunden gibt
, der gestartet wurde. Was ist unsere Rolle eigentlich, was wir tun sollen, wir diesen Client
tatsächlich in den Deskriptor
hinzufügen, der zum Lesezweck
festgelegt wurde. Dieser Vater im Filter passiert
etwas auf
diesem Client-Socket. Zum Lesen können wir einfach tatsächlich
überwachen und wir
können die Aktion ausführen. Daher ist diese Logik
erforderlich, tatsächlich hier können Sie diese Schleife
sehen und Sie können sehen, dass ich eine Schleife
von 0 nehme, ich weniger als die maximale Unterstrich
Zeile I plus plus. Ich überprüfe diesen
Zustand. Eigentlich. Warum dieser Zustand überprüft wird, weil Sie zunächst den
gesamten Bereich sehen können und die Menschen dieses Client-Sockets auf 0
initialisiert werden, nehme ich an. Wir wissen also zunächst, dass
keiner von ihnen gestartet wird. Jetzt
wurde bei diesem 0,1 auf dem Rückgang gestartet und nur
ein Client ist verbunden. Deshalb füllen Sie einfach Socket-Deskriptor
der einen Zeile aus. Damit füllen Sie es
als Nullmitglied
dieses Bereichs des Client-Sockets aus. Dies hat die Liste des
Neun-Socket-Deskriptors. Also nur das 0te Element dieses Arrays,
dieser Client-Socket-Deskriptor wird
mit dem Lieferanten- und
Socket-Deskriptor gefüllt , den Sie gekauft haben. Das Innere würde die Verbindung
akzeptieren. Warum diese Bedingung
zum Beispiel vorerst erforderlich ist , da wir jedes Mal
tun, wenn der Client
mit dem Server verbunden wird, sie
im Socket dieses
Clients hinzufügen sockel hier. Und deshalb
haben wir es in
diesem Fall seit dem ersten Mal bereits hinzugefügt. Es ist hier. Und zum zweiten Mal kommt die Verbindung
wieder auf. Ein anderer Client versucht sich
mit dem Server zu verbinden. Was passieren wird,
offensichtlich wird das 0te Element dieses Arrays
ungleich Null sein, weil Sie, Sie füllen
bereits selbst,
der
Client-Socket-Deskriptor in dieser Einstellung sind . Daher
kann diese Bedingung tatsächlich nicht erfüllt werden, und bevor ich eine
werde,
überprüft
Ihr Client-Socket-Handbuch, ob es 078 ist 0. Einfach um diesen
Client-Socket zu sagen, werde ich nur 0 sein, wenn Ihr Scheck tatsächlich beginnt
, dass er hinzugefügt werden soll. Ich hoffe also, dass Sie tatsächlich
verstehen
, was wir versuchen zu tun. Also jedes
Mal, wenn wir versuchen, dieses Array einzeln zu füllen, indem wir einfach
prüfen, ob es 0 ist. Eigentlich bedeutet das,
dass wir diesen Client-Socket-Deskriptor
an dieser Position selbst haben. Wenn es bereits
einen Wert hat, bedeutet
das, dass unser
Socket-Deskriptor an dieser Position bereits hinzugefügt wurde. Wir sollen
mich tatsächlich um eins erhöhen, und wir haben eine
andere Biotech-Position,
ob dieser Wert 0 ist oder nicht, es ist Pause Maya erneut angewendet, wir müssen nicht
tatsächlich nehmen, weil wir bin an den Punkt gekommen
, an dem wir diesen Socket erstellen müssen, ist
Client-Socket-Deskriptor im Array, und deshalb
müssen wir herauskommen. Und dieser Punkt.
23. Session13 Program&Execution Execution: Die jetzt, die nächste Anweisung
wird tatsächlich ausgeführt weil all diese
Anweisungen, die in Ihrer Zeit vorhanden
sind, wahr, obwohl wahr,
die wir gegeben haben. Hier. Dies ist ein ganzer Block des
Codes, der tatsächlich vorhanden ist. Daher liegen die nächsten Anweisungen , die tatsächlich da sein werden
, außerhalb dieser. Also jedes Set. Jetzt in diesem FD-Set haben
wir gesehen, was
alles vorhanden war. Eigentlich, was wir tun
sollen, höre
ich auf alles, was Sie brauchen, um die Verbindung vom Client und
dem
Client-Socket zu
akzeptieren , den
wir bekommen, wir müssen einfach nicht Eddie tatsächlich
auf diesem Client-Socket hinzufügen hat
diese Aktivität, die wir machen müssen. Und wir senden
die Nachricht auch länger, um diese
Dinge
abzulehnen, die wir tun diese
If-Bedingung nach
außen zu extrahieren. Das ist eine weitere for-Schleife. Eigentlich wusste ich es nicht. Das ist im Allgemeinen der
Khonsu, was wir tun. Diese for-Schleife wird
einfach verwendet, um zu überprüfen, tatsächlich zu lesen, ob es Operationen online gibt. Jetzt wissen Sie, dass
Ihr Client
gestartet wurde , der tatsächlich
mit dem Server verbunden ist. Jetzt können Sie
Ihren Client tatsächlich
dem Deskriptor hinzufügen , der zu
Lesezwecken festgelegt wurde. Sowie Sie
einfach
das Gleiche überprüfen können , was Sie für
die Savoir-Seite überprüfen, das ist ein v gleich
nach der Select-Funktion gesetzt. Das ist das Gleiche, was
Sie tatsächlich überprüfen können Pod Auch der
Client-Socket tatsächlich. Jetzt
wird diese for-Schleife tatsächlich nur verwendet, um zu überprüfen , dass
tatsächlich, wenn es eine Aktivität gibt , der
Input-Output-Vorgang läuft, wenn einige IO-Operationen auf den
Client-Sockets ausgeführt
werden. Moment haben wir
nur einen Client-Socket, Im Moment haben wir
nur einen Client-Socket,
aber jetzt sind wir es nicht,
wir haben diesen Client-Socket immer noch nicht in
ihren Deskriptorsatz
des Read Up ds hinzugefügt ihren Deskriptorsatz
des , damit wir ihn
nicht überwachen können, oder? Das Ding
gibt also Olivia aus, um
diesen Client-Socket
auch im MDS hinzuzufügen auch im MDS tatsächlich sogar den
Kopf zu sehen, den wir hinzufügen müssen. Denken Sie daran, dass
diese for-Schleife tatsächlich
verwendet wird , dass diese
for-Schleife gerade verwendet wird. Es kann hier sehen, ich habe
genommen, ich bin gleich 0, ich bin weniger als max Kunden, oder jetzt
haben wir zehn Kunden. Eigentlich macht ihn ein Mechaniker. Leitungen können da sein.
Das ist, dass jetzt dieser Client-Socket von Nullen
in Italien I gleich 0 ist. Anwenden von Socket in diesem Kurs, OK, und z auf was es ist. Aber nur wo man seine Frist sehen
kann , was
mit dem Server verbunden ist. Wir fügen hinzu, diesen
Socket-Deskriptor dieses Clients im 0ten Element
der
Client-Socket-Restaurantbarriere zu füllen 0ten Element
der , und
der Offline-Socket
für Menschen ist 0. Und deshalb können Sie sehen, dass Ihr Client-Unterstrichen-Socket der Tiefstellung 0 Ihnen jedoch geben
wird. Guter Deskriptor des
ersten Clients, der fährt
, der authentisch ist, hat dem Solver
tatsächlich getan. Und deshalb lässt man
die SD tatsächlich einen Wert machen. Und deshalb ist dies in
diesem Fall das,
wenn das alles ins Menü geht oder versucht,
die Leitung
zu starten,
nicht wenn Sie heute Abend nur den Server
starten, wenn Sie geantwortet haben, um den Client zu starten und verbinden Sie sich mit demselben Pol, dann werden nur all diese
Dinge passieren, die n Dann
überprüfen wir auch tatsächlich, dh wenn der Client dem
Socket verbunden
ist und dieses SDK einige haben
wird
Wert, es wird nicht 0 sein. In diesem Fall überprüfen
wir tatsächlich nur
den Zustand. Und D wird gesagt, ist das, was es
skizziert ist Socket tatsächlich beschreibend, wenn er jedes Jahr
in dieser Lektüre ansässig ist. Wenn diese Funktion ihn also nach der Auswahl nur bei neutraler Überprüfung
aufruft, können
wir diese Funktion
bei einem Sowjet verwenden und prüfen ob der Client-Socket in dieser Stadt vorhanden
ist, der MDS-Aufwand ist nicht vorhanden. Das bedeutet, dass dieser
Socket-Deskriptor zum Lesen bereit
ist. Wenn es vorhanden ist, bedeutet
das, dass auf
diesem Client-Socket einige Aktivitäten für den Lesezweck vorhanden sind
und wir die Aktion
ausführen müssen ,
wir müssen sie lesen. Dies ist es, was
anfangs nichts in dieser Bedingung
erfüllt sein wird ,
weil
wir zunächst nicht wirklich hinzufügen, wir haben es nicht immer noch als
d hinzugefügt. Eigentlich in diesem Video davon um zu überwachen damit wir nach
der Select-Funktion überprüfen können. Dies wird also nicht ausgeführt. Selbst wenn diese for-Schleife bis zu diesem Zeitpunkt
ausgeführt wird, da Ihr
Client-Socket anfangs einen Wert hat, wird
diese Nachricht
durch diese Bedingung nicht
erfüllt sein , da wir es nicht
sind füge das hinzu. Wir fügen den Socket nicht hinzu,
ist der Client-Socket-Deskriptor. In der Tat FDAs
wird diese Bedingung nicht erfüllt sein. Also nochmal, was wird passieren? Welche Bedingung ist, dass dies ein ganzer vollständiger bedingter
Knoten mit diesem Ganzen abgeschlossen ist, wenn
die Bedingung nicht erfüllt ist. Was wird dann passieren? Auch hier
wird die for-Schleife um eins erhöht. Auch hier werden wir
diese Bedingung überprüfen, wenn sie
kleiner ist als mein Client, dann wieder Client-Socket von einem als d. Also jetzt, da d 0
sein wird,
weil wir nur das 0te
Element dieses Arrays habe den ersten Socket-Deskriptor
des Kurs-Clients, aber der Client-Socket von mn ist nichts, was eigentlich nur
ein Client verbunden wurde. Eigentlich wird dies 0
sein, diese for-Schleife tatsächlich
wird es bis zehn
Mal iterieren , weil dieser Wert, den
Sie als zehn angegeben haben, dies zehnmal iteriert wird. Können Sie auch eine Pause anwenden? Wenn dieser Wert tatsächlich 0
ist, können
Sie einfach eine Pause anwenden. Sie können diesen Code
auch hinzufügen, um eine unnötige
Iteration der for-Schleife zu vermeiden. Was wird dann passieren? Sobald diese eine Schleife vollständig iteriert
wurde, geht das Steuerelement
wieder in
die erste Zeile in die erste Zeile dieser While-Schleife, weil
Sie angegeben haben, während true. Daher wird es weiter iterieren, bis ein
Analyst nicht zurückkehrt. Also nochmal, die Steuerung
geht tatsächlich hierher. Was wird jetzt wieder passieren? Denk immer an eine Sache. Durch dieses Ding. Diese Sache ist, dass ich den Start
der While-Schleife
angegeben habe , weil
Sie Ihren Editor immer
initialisieren
oder einen VS mit
0 Wert lesen müssen Ihren Editor immer
initialisieren
oder einen VS mit
0 Wert lesen , weil Sie wissen, dass
nach der Select-Funktion diese dy dt ds wird mit
den Deskriptoren modifiziert
, die für
Lesezweck oder Sinn bereit sind . Es wird
nach dem Aufruf
der Select-Funktion mehr oder geändert . Daher kommt
dieses Steuerelement jedes Mal am Anfang
dieser While-Schleife und
Sie müssen das Gleiche erneut überprüfen. Sie müssen es immer
tatsächlich löschen, damit Sie den früheren Wert
nicht erhalten. Daher wird Ihre 12 am Startpunkt
dieser While-Schleife auf
0 gesetzt,
und dann stellen Sie es am Startpunkt
dieser While-Schleife auf
0 gesetzt, ein. Also hier was wird passieren? Auch hier ist diese
Soulmaster-Sockel schon da. Dies wird sein, da
Sie klären, ist
die Geschwindigkeit von B. Andererseits fügen Sie
diesem Vds diese Art von Augenhöhle
hinzu diesem Vds diese Art von Augenhöhle , weil Sie es
sind, Sie haben es gelöscht. Und dann ist dieses Maximum
D der Fleck. Was wird jetzt passieren? Mal sehen, wie die
Dinge laufen werden. Wir denken darüber nach, dass,
obwohl wir einen Client mit
derselben Portnummer verbinden, eine Verbindung zum Server herstellt. Wir überlegen also, dass
wir einen Kunden haben. Wenn Sie das in
diesem Fall bedenken, was wird passieren? Auch hier
wird diese for-Schleife ausgeführt. Das heißt, Sie können sehen, dass zeilenweise
Anweisungen ausgeführt werden. Welche Anweisung gibt es als Nächstes? Es ist eine for-Schleife, die
iss gleich 0 ist, bis ich weniger als zehn gleich 0 ist, daher Client-Socket oder 0. Was? Wir wissen, dass
wir, da ein Client bereits
verbunden ist, daher ein Client bereits
verbunden ist, daher das 0te Element des Client-Sockets mit
dem Socket-Deskriptor
des ersten Clients sortieren können Client-Sockets mit
dem Socket-Deskriptor . Daher wird ein Wert ungleich Null
zurückgegeben. Dies wird einen positiven
Wert haben, es wird nicht 0 sein. Und daher
wäre diese
Bedingung, die größer als 0 Jahre
ist, größer als 0 Jahre
ist,
diese Bedingung erfüllt. Und Yard ist der Punkt
, an dem Sie
Ihren Client-Socket in der roten
Festplatte hinzufügen , lesen Sie beschreibende Sekunde. Alles klar, ich hoffe es. Die Logik tatsächlich gab es
keinen Client, den ich
Ihnen gesagt habe,
dass wir zunächst auf dem
Client-Socket-Deskriptor auf 0 initialisieren. Eigentlich haben wir in Verdi gesehen, aber diesen Schuldenpunkt als
wir diese Anweisung ausgeführt hatten, hätten
wir gesehen, da alle Array-Elemente 0 sind, und daher
wird dies nicht erfüllt sein. Wir haben gesehen, aber
seit wir Betracht ziehen, dass ein
Kunde verbunden ist. Und wenn diese
Anweisung ausgeführt wird, das 0te Element des
Arrays den Deskriptorsatz des ersten Clients. Und daher wird dies ein Wert ungleich Null
sein. Und deshalb bedeutet
das, dass
Sie tatsächlich einen Client haben, den Sie
den Deskriptorsatz hinzufügen
sollen den Deskriptorsatz hinzufügen
sollen und daher rufen Sie auf. Und wir sagten, und
dieser Deskriptor setzt
diesen Deskriptor, der
Client-Socket-Deskriptor ist, das ist SD, den Sie
in dieser Liste von Leads hinzufügen. Was haben Sie in der Tat die Haltung der FDA, während
Sie
diese Art von Sockel haben , die Master und seine Co-Sockel
ist. Und Sie haben auch Ihren Client, den Sie in
Betracht ziehen, verbunden ist Daher haben Sie
diesen Socket-Deskriptor
dieses Clients in dieser Lesung von Deus zu Socket-Termdeskriptoren Sie haben jetzt das, was
Sie hier tun, prüfen
Sie, ob Schuldenbuchse
als D größer als maximal ist. Anfangs war dein Maximum als d
der Master-Unterstrichen-Socket. Jetzt überprüfen Sie
tatsächlich, ob der SDI, das ist der
Socket-Deskriptor des Clients. Angenommen, Sie erhalten, dass der
Socket-Deskriptor
des Clients größer ist als die Masse pro Socket-Deskriptor, dann überprüfen Sie
diesen Fonds jeweils. Und tatsächlich, wenn er größer
als dieser maximale Unterstrich ist als dieser maximale Unterstrich wird
Stephen
mit diesem beschreibenden Wert geändert. Das ist es, was du tust. Heile. Dann wieder wird ich
inkrementiert, ich werde eins. Daher
überprüfen Sie diese Bedingung, wenn sie kleiner ist als
Mexiko und er es ist, dann werden Sie hier sehen, dass der
Client-Socket tiefgestellt ist. Was es zurückgeben wird
,
denken wir jetzt in Betracht, dass nur ein
Kunde verbunden ist. Und daher
hat dieser
Client-Socket-Index den Wert 0 und auch die restlichen
Bereichselemente haben den Wert 0, da nur
ein Client verbunden ist. Daher hat nur das 0te Element
dieses Arrays
den sakkadischen Deskriptor
der ersten Zeile und
die restlichen Array-Elemente
haben Nullen,
also ist den sakkadischen Deskriptor
der ersten Zeile und
die restlichen Array-Elemente
haben Nullen, dies 0 und keiner
von ihnen wird erfüllt sein. diese Weise
wird diese Schleife Auf diese Weise
wird diese Schleife bis zu maximalen
Unterstrichen fortgesetzt und
diese Bedingung wird
nicht von einem bis zum maximalen Unterstrich
Kunden auf dem erfüllt sein, es wird zunächst zufrieden sein,
dass Isaac gleich 0, dann fügen Sie diesen Fall nur
bei Gericht hinzu, der
später von der Iteration
der for-Schleife zufrieden war. Es wird nicht zufrieden sein, sobald diese for-Schleifeniteration
abgeschlossen ist. Und was ist schlimm? Einfach eine Anzeigenachricht
tatsächlich repos auswählen. Jetzt rufen wir die
Select-Funktion hier auf. Jetzt in dieser
Auswahlfunktion von Ich beneide Call, tatsächlich
übergeben wir diesen Wert. Dieser Wert wird geändert
max als t hier verstanden. Dann führt dies zu DSO VR, Lead FDA sagt, dass ich jetzt zum Deskriptor
gekauft habe, das heißt einen, den Server-Socket, beschreibende Zeilen,
Hyper-Sockets. Es gibt also zwei Deskriptoren
in dieser Urkunde von DSB beide zu Lesezwecken überwachen
wollen. Und dieser Wert null, null und dieser letzte Wert null. Das heißt, Sie müssen
weiter warten, bis Sie einen
Deskriptor-Socket bereit haben. Also musst du warten und warten. Daher
erhalten Sie diese Null. Sie steuern tatsächlich wieder, abhängig von dem Wert, den Sie hier angeben,
kann er gesteuert werden. Deshalb wird es hier
tatsächlich weiter warten. Angenommen, es gibt
einige Aktivitäten auf diesem Client-Socket, die
Sie eigentlich nicht waren, in diesem Fall
wird er tatsächlich auswählen, wird tatsächlich
dieser Deskriptorsatz zurückgegeben. Dieses Beispiel habe ich gewählt weil ich angenommen, ich
schreibe ein paar Augen, ich habe eine Nachricht
auf der Leitungskonsole. Das bedeutet etwas,
das ich auf diesen
Line-Socket schreibe, oder? Und das wäre, diese Nachricht sollte daher
tatsächlich gelesen werden, da wir in
unserem Programm zu Lesezwecken überwachen , daher
schreibe ich etwas auf den Kunden, damit
wir können es lesen.
24. Session13 Program&Execution Execution: Daher gibt es
etwas, das einige Daten auf dem Client-Socket gelesen
werden bis wir diese eine Zelle
gesehen haben. Was ist das eine Kunde? eine Verbindung akzeptiert,
wurde tatsächlich eine Nachricht von Server zu Client
gesendet. Als Nächstes, was
wir tatsächlich tun werden, werden
wir versuchen,
etwas über den Kunden zu schreiben. Sobald wir etwas
auf den Client geschrieben haben, bedeutet
das, dass einige
Leseaktivitäten durchgeführt werden
sollten, da
wir auf
den Socket für den Client schreiben und einige Daten dort auf diesem Line-Socket schreiben, die
angeblich gelesen zu werden. Und deshalb wird in diesem Fall dann select-Funktion
tatsächlich mit etwas zurückkehren. Dann schreiben wir etwas
auf den Kunden, dann wird es tatsächlich zurückkehren. Und dann müssen wir
noch einmal die Bedingung überprüfen , wo die Zeile, Sie müssen jeden
ihrer Inzidenz überprüfen hier gibt es zwei Deskriptoren. Das ist einer für den Server,
einer für das Klima. einige Aktivitäten auf
der Server-Site wahr. Besuchen Sie diese Bedingung ist überprüft. Wenn wir die
Nachricht jetzt in diese Zeile schreiben, wird
keine Aktivität für den Master
durchgeführt, daher
wird diese Bedingung nicht erfüllt sein. Was wird dann passieren? for-loop befindet sich außerhalb
der Spitzenbedingung. Daher
wird diese Bedingung überprüft. Bakterien, dieser Zustand, den ich dir
gesagt habe, dass dies Doumani ist, dies ist für Input IO
Betrieb auf der Clientseite. Also hier bin ich gleich 0. Und wieder wird der
Client-Socket von 0 sein, wissen
Sie, dass dies
bereits ein Client ist, der verbunden ist. Daher wird ein Wert ungleich Null
zurückgegeben. Daher überprüfen
Sie erneut, dass dieses 0te Element
dieses Arrays den ersten Deskriptor des Postal ist
Client tatsächlich hat. Da ich also etwas schreibe
, schreibe ich
eine Botschaft über das Klima,
sehe, wie ich tatsächlich eine Seite
erreichen
und das Programm sichern werde . Du wirst es erklären, du wirst es besser
verstehen. Es wird dir sagen, dass du verstanden hast,
was wir tun. Wir sind diese Seite, wo ist ihr Kunde, senden
ihre Server
Nachrichten an diese Leitung? Angenommen, wir schreiben die
Client-Konsole ist hallo. Deshalb ist hallo VR. Wir schreiben auf
den Client-Socket. Daher gehen wir davon aus, dass
es einige Daten auf dem Client-Socket gibt und
wir sollten ihn lesen. Und sie werden in diesen
Fall gebracht. Wieder überprüfen wir es. Wir haben gesehen, dass
select-Funktion aufgerufen wird und sehen, ob
Aktivitäten und ja, tatsächlich durchgeführte
Aktivitäten sind
auf dem Client-Socket einige Daten verfügbar , die
gelesen werden sollen. Und daher ist diese
Bedingung Wilczek. V ist gleich gesagt, das
ist der Rückgangsockel, ob es
in diesem Leader VS vorhanden ist. Ich habe dir nach der
Select-Funktion gesagt, dass sie geändert wird. Da wir den Aufruf der
Select-Funktion hinzugefügt haben, die sich hier befindet, rufen
wir die
select-Funktion auf. Und da ich
etwas auf den Client geschrieben habe, gab es einen Datensatz
, der auf der Konsole gelesen werden sollte , und daher
wird dies für
diesen Leader geändert . VS wird den
Socket-Deskriptor haben oder wird
tatsächlich keinen Socket-Deskriptor des
Masters haben , da wir nichts über die Behinderung des
Master-Officers
tun das am Oktett
geändert wurde. Select-Rücksendungen in jedem Allel. Dies hat zwei Deskriptoren auf einer Seite,
schreibe die Nachricht, auf der einen Seite
schreibe die Nachricht auf
einer Seite, schreibe die Nachricht auf schreibt alles
in den Client-Socket. Dies wird in der
Deskriptorenzeile haben, nicht auf einem Bürgersteig. Und deshalb wird der Grund, warum dies tatsächlich nicht erfüllt sein
wird, das ist dieser in diesem
Socket-Deskriptor von Servern. Beachten Sie dann nicht da, da wir die Aktivität für
die Leseaktivität des Kunden ausführen , die
wir auf dem Client ausführen müssen. Und das Board hier. Da dieser
Wert ungleich Null ist und ja, bin ich fertig. Ich habe eine Nachricht auf
den Client-Socket geschrieben , die gelesen werden
soll. Und daher hat die
Geschwindigkeit von VS tatsächlich
nur den Socket-Deskriptor
dieses Clients, und daher
ist dieser MV gleich gesetzt, ja. Und was wir jetzt tun
sollen, drucke
ich einfach
eine Nachricht, die auf
der Konsole angezeigt
wird, und ich sollte sie tatsächlich im
Socket-Deskriptor
des Clients lesen , und ich werde es lesen
und es wird sein, ich werde
alles sammeln, was ich von
diesem Socket-Deskriptor des Clients lese diesem Socket-Deskriptor des ,
den ich
auf diesem Puffer sammle. Dies ist die Verwendung des Puffers. Ich sagte dir, ich habe
erklärt, dass dieser Puffer ein EDI tatsächlich
außerhalb von Charakteren ist. Du siehst hier. Dies ist gepuffert, diese Nachricht, was auch immer ich
auf den Client-Socket schreibe , den ich tatsächlich
lesen wollte
, damit ich
im Puffer sammeln werde. Eigentlich die Fehlerüberprüfung. Dies ist die Fehlerprüfung. Wenn
während des Lesens einige Änderungen auftreten wird
diese Bedingung erfüllt sein. Dieser Block wird ausgeführt. Aber wenn die Lektüre erfolgreich
ist, werden
diese Eds
ausgeführt und verlassen. Und das ist seit dem,
was ich gesagt habe, dass alles, was ich
auf dem Client-Socket schreibe, wir sehen werden, wie ich
es stehlen kann. Nachdem wir
diese Anweisungen erklärt
haben, führen wir das Programm aus, Sie werden verstehen, was wir tun. Angenommen, ich gebe eine
Nachricht auf den Client-Socket ein, wir sollten sie lesen. Deshalb ist diese Lektüre erledigt. Wieder habe ich gezogen, da
wir dieselbe
Nachricht im Flugzeug vorbringen werden. Wenn ich also verpasst habe,
ist Hallo abgenommen. Sockel Dann die nächste Sache
in der nächsten Zeile, ich bekomme nur Hallo, weil ich dasselbe freispreche. Also wie bekomme ich das Hallo der nächsten Zeile durch dieses Ding. Als Bedingung habe ich wieder dieselbe Nachricht
gesendet, die Nachricht, bei
der es sich um Bilder handelt, die im Puffer
gesammelt wurden. Eigentlich sieht man, dass
ich wieder
die zweite Funktion aufrufe. Ich rufe
dieselbe Funktion auf und übergebe den
Line-Socket-Deskriptor selbst. Und ich übergebe diesen Puffer, ich tatsächlich
aus
dem Client-Socket gelesen habe. Das nur das Gleiche, was ich gegen
den gesamten Client-Socket
übergebe, werden
Sie sehen, dass das
Gleiche tatsächlich gedruckt wird. So läuft der Flow. Also werde ich absorbieren, dass du
diesen Punkt wirklich verstanden hast. Lassen Sie uns das Programm ausführen und dann werden Sie es klarer
verstehen. So sind wir mit der Codierung
fertig. Dieser Socket tatsächlich und
schwach auf diese Weise, können
wir in
ungerade Anzahl von Leitungen starten ,
wir können immer noch nicht nur
portabel überschreiten und Clients können verbunden
werden, da wir hier
als Client-Socket schreiben, Der maximale Kunde sollte je nach
Anforderung
zehn sein . Wenn Sie
Antiklinien-Sockets verwenden
möchten, können Sie diesen Wert als
trendy angeben oder absichern und diesen Wert
definieren. Lassen Sie uns nun das Programm ausführen und sehen, wie es ausgeführt wird. Das ist also eigentlich mein Domino. Nur eine Sekunde. Ja. Sie können hier sehen, dass ich dieses Programm
habe, das ich Ihnen gezeigt habe. Jetzt werde ich kompilieren, da wir ein
C-Programm auf den Lena's kompilieren müssen, haben
wir die
Möglichkeit,
den Befehl in dieser
Eingabeaufforderung tatsächlich auszuführen . Wenn es sich also um eine C-Sprache handelt, verwende ich
daher
einen GCC-Compiler
, der
bereits im System installiert war. Ich muss es nicht
explizit installieren. Dann werde ich erwähnen , welche Datei das
GCC-Compiler-Tool kompiliert werden soll, Cross-Compiler-Tool, das verwendet wird um den C-Sprachrahmen zu programmieren. Sie können also hier sehen, Sie können hier keine
Fehlermeldung sehen. Lassen Sie mich anfangs über diese eine C-Datei
gehört haben. Jetzt nach dem Kompilieren
gehe ich darauf einen Punkt heraus. Das ist meine Seite, dass ich
jetzt meine Sidebar starten oder
ausführen lasse , indem ich das
einfach ausführe. Nun, weißt du, als ich
versucht habe, den Server zu betreiben, mal sehen, was passieren wird. Sie können hier sehen, was ich mir selbst
bekomme , während ich diese Nachricht
erhalte , die ich auf
dem Salvo's Side
Listener auf Port 888 gegeben dem Salvo's Side
Listener auf Port 888 die Verbindung
warte. Welche Nachricht ich auch immer auf der Serverseite
gegeben habe, ich habe alle Dinge. Wert des
Master-Sockets ist drei. Das ist also nur, sie
wissen nur, was der
Socket-Deskriptor von
Master-Socket an einem Server-Socket ist . Also habe ich gerade diesen Wert gedruckt
und es sind eigentlich drei. Und jetzt das, all diese Zeilen, die sich in vier
Schleifen befinden, um einen untergeordneten Socket hinzuzufügen. Sie können also hier sehen, da es keine Clients gibt,
Socket, der
tatsächlich hinzugefügt wird, weil es
keinen Client gibt , den wir
gestartet haben, aber keinen von ihnen. Wir werden Bereich sein,
Bereich des
Client-Sockets wird alles sein, es wird alle
0-Socket-Deskriptoren haben ,
weil keiner von ihnen ,
wir haben
keinen der Client-Socket gestartet . Und das ist vor der Zellauswahl. Sie können hier vor
der Auswahl tatsächlich sehen ,
dass diese Anzeige wir haben. Drucke es jetzt aus. Sie können hier sehen, wie die Kontrolle
wartet. Das heißt, unsere Steuerung steckt fest
und die Select-Funktion. Warum sie bei
der Select-Funktion angefangen haben, weil wir
das Timeout auf null erwähnen. Wir wissen, wann wir die Auszeit
geben, um Wissen zu sein, wird auf sie
warten. Einige Aktivitäten, um ehrlich zu sein,
tatsächlich Weihrauch auftreten, an dieser Stelle fügen
wir einfach
den Master-Sockel in ungerade
Reihe hinzu , lesen leeren Satz. Daher wird überwacht, ob einige Aktivitäten fortgesetzt
werden, auf dieser Seite, welcher Sockel es geben wird, kein Lösungsmittel
erhalten. Welche Aktivitäten
können auf
dem Server-Socket stattfinden , wenn wir
versuchen, die Frist zu starten. Ich bin mit derselben
Portnummer auf dem Socket verbunden. Dann wird es nur etwas Aktivität
geben. Dann wird es, dann
erhalten wir die Nachricht nachdem Sie tatsächlich gedruckt ausgewählt dann wird diese Auswahl nicht gelesen. Aus diesem Grund
zeige ich diese Nachricht an. So wie ich, damit du genau das
kriegen kannst, was ich mache. Also lass mich es dir zeigen. An dieser Stelle haben wir nur überlebende
Startnullclines gestartet. Sie können hier auf
diesem
Client-Socket-Deskriptoren sehen , dass es sich zehn Client-Sockets handelt, die wir nehmen, und
alle Skripte, die aber all diese
zehn Zeilen Sockets anfänglich 0 sind, weil keiner von
ihnen, während wir gestartet werden,
wir starten
keine auf sie. Und dieser Socket ist
für die Serverseite, den Master-Socket
, den ich hier einfach drucke. Eigentlich. Ich hab's eigentlich gehört. Und
dann siehst du hier. Sie können hier sehen, dass all diese Nachrichten auf dem Port
auf der Serverseite
abhören und auf die Verbindung auf
der Serverseite
warten . Dann wird diese While-Schleife
durch diese Endlosschleife geschleift. Und es hängt davon ab, wann
Sie zurückkehren, wenn Sie
von Ihrem Kunden verlassen, dann wird dies tatsächlich zurückkehren. Also diese Dinge
geben wir Ihnen das ab
und Sie können hier sehen. Md 0, all diese Dinge. Was passiert also? Jetzt? Welche Nachricht bekomme ich
hier, wenn Sie hier sehen können, bekomme
ich diese Nachricht in for-loop, um die Gelenkbuchse zu schweißen. Das ist es, was Sie
hier
sehen können , dass ich den Wert
des Master-Sockets drucke. Hier. Sie können hier sehen, dass ich
den Wert des
Masters Sokrates drucke . Die nächste all diese Zeilen, die zehnmal gedruckt werden, ist diese. Das drucke ich. Anfänglich sind also
keine Kunden da. Daher
wird diese Bedingung nicht erfüllt sein. Und daher, da
dies
nur ein Ereignis erfüllt ist, das
eine Clientverbindung und dieser Wert größer als 0
sein wird. Aber da jetzt ein organisierter
Kunde eine Verbindung herstellt, wir
keinen Kunden ins Leben gerufen ihn
daher nicht wirklich
befriedigen wird. Und deshalb
bekommen wir
jetzt das Zehnfache dieses Sprint und wir bekommen,
diesen Moment bekommen wir, bevor wir uns tatsächlich aussuchen. Sie können sehen, dass die
Select-Funktion aufgerufen wird. Aber wir
bekommen diese Botschaft nicht. Warum erhalten wir
diese Nachricht nicht, weil sie unendliche Zeit wartet. Eigentlich wird es warten und
Sie versuchen, die Frist zu starten. Der Client stellt eine Verbindung mit
derselben Portnummer-Zeit her. Eigentlich wird es
weiter warten und Sie werden diese Nachricht
nicht gedruckt. Je nachdem, wie Sie es
verwenden, wenn Sie es erhalten, sind
Sie nur
dreißig Sekunden lang, dann
wird es sehen, ob Sie bis zu
diesem Zeitpunkt einen Kunden
gestartet haben, wenn Sie kein Wissen haben
und Timeout ist abgelaufen, Partysekunden oder vorbei, dann wird es einfach tatsächlich
zurückkehren, von diesem Zeitpunkt an wird es
tatsächlich nicht gelesen und Sie werden
diese Nachricht gedruckt. Aber da ich erwähne dieses letzte Argument eigentlich null
ist, wartet es
und wartet, bis es eine Clientverbindung bekommt. Daher können Sie
den Grund sehen, warum ich diese Nachricht
angezeigt habe , um Sie
einfach erklären zu lassen. Kommen wir jetzt auf diese Dominante. Jetzt lasst uns den
Kunden tatsächlich starten, das ist, ich weiß nicht, ich soll unser
Kundenprogramm I Insulin nicht schreiben. Um eine Verbindung
zum Server herzustellen. Du weißt, wie man sich verbindet. Ich werde tatsächlich ein neues
Terminal öffnen, und dann werde ich Ihnen
sagen, dass Sie tatsächlich die Portnummer
machen. auf dieser Seite Was hört sich auf dieser Seite
die Portnummer an? 88884 mal acht.
Und deshalb werde ich, auf der nächsten Dominante, einfach Telnet auf
derselben Portnummer. Das bedeutet, dass der
Kunde tatsächlich eine Verbindung zum Seitenlicht herstellt. Dann sehen wir mal, sobald die
Client-Rechte zur Verbindung mit dem
Server hergestellt werden, was passieren wird. So können Sie hier sehen, dass wir diese Anzeigenachricht
erhalten. Also lass mich noch einen öffnen. Dominant. Dies ist anders
oder Militanz als Dominanz. Dominanz ist ein mögliches
Zeichen und eine dominante, ich werde versuchen, mich mit dem Server
zu verbinden. Das wird also diese Linie sein. Deshalb können Sie hier sehen, und was ich tun werde, ich werde diesen lokalen Gastgeber erwähnen. Hier. Ich gebe Ihnen die Umfragenummer. Angenommen, ich gebe dir so. Telnet soll sich tatsächlich mit
dem lokalen Host verbinden, da wir
diese Kommunikation
auf demselben System selbst durchführen diese Kommunikation
auf demselben System selbst und daher
nicht für
Laptops verwenden und eine Verbindung herstellen auf demselben Host-Computer verwenden. Und deshalb habe ich
die Schleife gegeben und geht Diabetes wird derselbe
sein, da der Kunde die gleiche IP-Adresse
hat und wir hören uns diese
viermal acht tatsächlich an. Und deshalb rho,
diese Portnummer , die ich diesem
Sportknoten selbst gebe. Sobald ich versucht habe, mich
tatsächlich von der Clientseite zu verbinden, habe
ich auf
der Line-Konsole einen bis 7 Punkt
versucht, einen bis 7 Punkt
versucht, einen mit
niedrigem lokalen Dienst verbunden und mit dem lokalen
Host verbunden ist mit dem Server verbunden. Weil mein Silber
auf dem lokalen Gastgeber ist. Und diese Bestätigungsnachricht , die vom Server gesendet wird. Diese Regel hatte diese
Nachricht nebeneinander gesendet. Mal sehen, was
auf der Serverseite vor sich geht. Du siehst hier. Jetzt hatte
ich bis zu diesem
Zeitpunkt tatsächlich eine Steuerung bekommen, und dann versuche ich oft, mich von der Clientseite aus zu
verbinden. Ich lasse all diese Nachrichten auf der
Seite unserer Seiten
drucken. Was passiert jetzt,
da wir versuchen, den Client
zu starten und versucht,
eine Verbindung zum Server herzustellen. Deshalb das ist dies. Da es also eine gewisse Aktivität auf der Masse pro
Sockel dieser Platine gibt, hat
die Select-Funktion
die beschriebene richtige modale Masse
pro Sockel zum Lesezweck zurückgegeben die beschriebene richtige modale Masse . Und deshalb gibt es
eine neue Verbindung, die wir bekommen haben, mit welcher Botschaft ist das? Du siehst hier. Wir haben diese Nachricht nach
Select tatsächlich erhalten, und diese Bedingung ist erfüllt. Das heißt, diese Bedingung ist
erfüllt, da dies festgelegt ist.
Dieser Server-Socket ist traurig, Dieser Server-Socket ist traurig weil ein Client
versucht, eine Verbindung herzustellen. Deshalb
werden wir ausstellen und wir
haben den Socket-Deskriptor
des Clients bekommen. Und dann drucken wir
diese Nachricht einfach auf der silbernen Seite, es ist eine neue Verbindung, eine neue Verbindung Online-Sockets. Also drucken wir diese
Nachricht und
senden diese Nachricht
tatsächlich in diese Zeile. Diese Nachrichten, welche? Diese Botschaft dafür ist diese
Botschaft, die ich dir erzählt habe. Danksagungen. Und von denen, wie
Sie hier sehen können, senden
wir diese Nachricht
hier von der Serverseite aus. Dann drucken wir diese Nachricht serverseitig
auf dem Boden. also gerade
zur Konsole zurückkehren ,
können Sie hier sehen, also diese Nachricht, das
ist nur print f, die ich auf
der
Bestätigungsnachricht der Server-Site gegeben habe . Und dann ist dies die Botschaft
, die dies bereits sendet. Wenn wir dieselbe Funktion
vom Serverprogramm aus aufrufen , wird diese Nachricht an die Clients
gesendet. Auf der Clientseite können
Sie also die empfangenen
Nachrichten sehen. Sie können sehen, wie die Seite, während die Kommunikation
mit dieser Zeile, wie die Nachricht, die wir von Daten
auf dem Clientserver erhalten haben, gesagt hat ,
jetzt das zweite, was
wir sehen werden, jetzt haben
wir einfach legen Sie den Deskriptor des
Server-Sockets in die Datenbank. Und lassen Sie uns Aktivitäten
auf dem Client-Socket durchführen. Lassen Sie uns tatsächlich
eine Nachricht schreiben und sehen
wir uns
jetzt an
, wie
der Socket-Deskriptor
des Clients zum Lesen von Ideen hinzugefügt wird der Socket-Deskriptor
des an
, wie
der Socket-Deskriptor
des Clients zum Lesen von Ideen und wie wir ihn
tatsächlich zu Lesezwecken überwachen. Was wir tun werden,
egal welche Botschaft wir hier auf Kundenseite
geben, ich sagte, ich will, ich werde auf den Kunden selbst
drucken. Angenommen, ich gebe hier, also nanny, diese Nachricht, sobald ich eintrete, wird
diese Nachricht tatsächlich auf die Kundenseite gesendet. Eigentlich stehen daher einige
Daten auf
dem Client-Socket zur
Verfügung , die gelesen werden sollen. Angenommen, ich drücke die Eingabetaste, du kannst sehen, dass ich Tsunami habe, einen Code auf derselben Client-Site. Das
wollte ich Ihnen also erklären, dass ich eine Nachricht
auf den Client-Socket schreibe. Auf der einen Seite schreibe ich die Nachricht nur auf den Client-Socket. Was wird passieren? Lass uns herkommen. An dieser Stelle. Sie können hier sehen, sobald
das Steuerelement hier ist, tatsächlich wieder kommt
das Steuerelement hierher, da
diese Bedingung anfangs nicht
erfüllt ist, da wir den
Client-Socket
nicht zum Lesen hinzufügen FDAs. Aber wir haben tatsächlich diesen Wert bekommen, aber tatsächlich gibt es
Clients sind 0 werden Socket-Deskriptor
vor seinem Client
haben es wird
ungleich Null sein Wert für diese Bedingung wird
erfüllt sein und wir sind Hinzufügen dieses Line-Socket tatsächlich Deskriptors
in diesem Lese-IVS. Und deshalb können wir jetzt tatsächlich
überwachen, weil wir diesen Line-Socket
auch über
Socket-Deskriptor
in diesem Reader hinzufügen . Sobald diese
Select-Funktion
tatsächlich gewartet wird ,
haben Lese FDAs zwei Socket-Deskriptoren, einen Socket-Deskriptor für diese eine
Socket-Deskriptor-Produktlinie. Jetzt, da wir, sobald wir
die Nachricht tatsächlich auf
der Clientseite schreiben , tatsächlich
getippt werden und
die Nachricht auf dem Kunden als Wissen darin
wird passieren. Etwas ist im
Client-Socket tot. Wir haben etwas Seltsames geschrieben, ich denke etwas auf
dem Client-Socket das
eigentlich als Deko ist, wir sollten es lesen. Es gab einige Aktivitäten netto der Leitung, Versorgungszweck, und daher wird diese
Auswahlfunktion tatsächlich zurückgegeben. Daher wird diese Bedingung,
sobald sie überprüft wird, jeder Satz, dieser Socket-Deskriptor in diesem Video nicht
gezüchtet, wie ich Ihnen nach der
Select-Funktion gesagt habe, die er aufgerufen hat, dann in diesem Fall
es wird nur mit den Deskriptoren zurückkehren, die bereits zum Lesen
bereit sind, müssen jetzt nichts
auf dem Server-Socket tun. Wir schreiben auf den
Client-Socket und einige Daten sind die auf dem Client-Socket, der rot sein
soll. Und ich sage, dass diese Bedingung nicht erfüllt sein
wird. Ja. Was wird dann passieren? Dann ist diese for-Schleife außerhalb dieser
Bedingung
tot und deshalb überprüfen
wir erneut, dass diese for-Schleife tatsächlich iteriert,
es wird for-Schleife tatsächlich iteriert,
es wird so viel Zeit dauern. Daher ist dieser
Client-Socket von Nullen, so dass wir wissen, dass nur
ein Client vorhanden ist, und daher wird dies einen Wert ungleich Null
sein. Und deshalb
prüfen wir, ob FD eingestellt ist ob Sie überprüfen, ob einige Aktivitäten,
ob dieser
Client-Socket-Deskriptor Präsident
ist, lesen Sie einen VS. Ja, es ist tot bei dieser Frau, weil du es
bist, du hast Recht. Sie haben etwas
auf diesen Line-Socket geschrieben , der rot sein
soll. Daher
wurde dieses Video zurückgegeben. Eigentlich ist es n. Dieser Wert wird mit dem
Socket-Deskriptor
geändert oder angewendet, das bedeutet dies. So sind blinde Fußballdeskriptoren in diesem in VS tatsächlich
vorhanden, da dies nach dem Aufruf
der Select-Funktion mit
den Deskriptoren
geändert der Select-Funktion mit wird, die zum Lesen
bereit sind. Da jetzt die Aktivität
auf dem anwendbaren Niveau durchgeführt
wird , sind
nur Schulden Kunde aktive Bakterien und dies wird wahr sein. Und in diesem Fall erhalten Sie Kunden von
Qualitätsbewertung wird gesagt, dass diese Nachricht Sie
auf welcher Seite bekommen und was Sie
hier tatsächlich tun. Sie hatten diese Nachricht gelesen, Sie rufen
die Lesefunktion auf. Welche Botschaft du auch hast. Also habe ich ausschließlich
wie auf dem Client-Socket geschrieben. Diese Nachricht wird also lauten, dass ich auf den Puffer
sammle. Eigentlich wird das
mit dieser Botschaft enden. Und seit dem Mandat erfolgreich
sein. Wenn sonst Bedingung
erfüllt sein wird und diese einzige
Nachricht, die ich zu senden versuche. Sie können also sehen, dass ich
dieselbe Funktion aufrufe und dies ist der
Socket-Deskriptor für diese Zeile. Ich sende dieselbe Nachricht
tatsächlich an diesen
Client-Socket. Ich schicke diesen Tsunami weiter. Da diese Nachricht, die ich aus dem
Dark Line Socket lese sammle
ich im
Puffer und analysiere dieselbe Nachricht, indem ich dieselbe Funktion
aufrufe. Das ist der Grund, warum ich wiederhole. Deshalb
rufe ich dieselbe Funktion auf. Das bedeutet, dass ich die
gleiche Nachricht an den Kunden sende und diese zweite
Nachricht hier gedruckt wird. Ich hoffe, du hast
die ganze Logik verstanden. tatsächlich die
Select-Funktion verwenden, wie Sie ein Steuerelement haben können, wie viel Zeit es sein muss. Wenn Sie
nur zehn Sekunden und
dreißig Sekunden warten möchten , können Sie diesen Wert
einfach ändern. Dies soll Ihnen nur erklären, wie
Sie die Möglichkeit haben können,
die Zeit zu ändern, wie Sie tatsächlich
die Zeitspanne kontrollieren können. Die Auswahl. Warte noch mal, wenn
du Partysekunden willst, kannst
du auch auf diese Zeit warten. Obwohl es sich bei der Zielprogrammierung
alles um. Also werde ich es tun. Du wurdest also alles gefressen. Wechseln wir auf „Ja“. Wir sind fertig mit dem gesamten
Schreiben des Programms und führen Englisch aus, um eine
multi-Cloud-Mobilfunkkommunikation zu erreichen . Auch noch eine Sache von Freunden. Lassen Sie mich auch zeigen, dass Sie starten, starten Sie ein anderes Terminal
tatsächlich nur eine Sekunde. Ja. Dies war nur ein Kunde oder nehme an, ich versuche eine Verbindung herzustellen. Ich eröffne das dritte Terminal. Und wieder das Gleiche. Das ist auch das ist auch, ja, das ist, ich versuche einen zweiten Client zu
starten. Das war es, was Dichter Kunden. So können Sie drei Terminals
oder Terminal-Portserver sehen, ein kommunaler Zweck-Client und ein zweites
Domino sind möglich. Die zweite Pulmonale wird vor seinem Kunden
und für das zweite Flugzeug
gebildet . Nehmen wir an, ich
mache diese Quelle. Auch hier wird es versuchen zu senden, dieser Client
sendet
erneut eine Anfrage, Verbindungsanfrage
an den Server, sodass er seitwärts akzeptiert
wird. N sendet eine Bestätigungsnachricht
an den zweiten Client. Eigentlich können Sie eine Bestätigung
sehen die vom Server
gesendet wurde. Und nehme an, ich Nachrichten, hallo, Nachrichten ,
hallo, gute Nacht-Nachricht wird wieder ein
Code für den Kunden sein. Wir tippen sie, sage ich, hallo. Sie können sehen, wie
viele Leute ich kannte. Jetzt kommt es. Jetzt sind wir damit
fertig,
das Programm zu schreiben und
mit der Auswahl auszuführen. Um eine mehrzeilige
Serverkommunikation zu erreichen, können
Sie sehen, wie das
möglich ist. Jetzt, in der nächsten Sitzung, werden
wir diese Dinge
tatsächlich sehen , was
wir behandeln werden. Nur eine Sekunde. Ja, wir werden abdecken, was der nicht blockierende Socket
ist. Also sollten
wir, wie ich Ihnen sagte, nicht für
den Ansatz entscheiden,
einen Thread für jedes Flugzeug zu erstellen, welches Rights Clinic,
wir haben gesehen, wie sie in
der vorherigen Sitzung eine Seite
entschieden hat. Stattdessen können wir die Select-Funktion
verwenden. Ich habe auch
das Programm geschrieben, das
auch eine andere Möglichkeit ist , sie
zu erreichen, ich lehne die
Satellitenkommunikation ab und
deshalb machen Sie den
Sockel nicht blockierend und
sperren, dass wir es tun in der nächsten Sitzung
zu sehen sein. Außerdem werden Sie den Unterschied
zwischen den beiden Ansätzen
sehen . Das heißt, um einen
Multi-Client-Server-Kommunikationsansatz zu erreichen , z. B. die Select-Funktion. Wir haben bereits gesehen,
wie wir
die Vorteile und
auch den Unterschied
zwischen dem nicht blockierenden Socket erreichen die Vorteile und
auch den Unterschied
zwischen dem nicht blockierenden Socket ,
damit wir
Sie auf dem Oktett sehen werden, das abdeckt, was nicht blockierende
Socket im In der nächsten Sitzung sehen
wir den Unterschied,
wann die Auswahl verwendet werden soll wann nicht blockierend verwendet werden soll. All diese Dinge
werden also abdecken, welche zu verwenden ist, wenn Sie entweder
auf einem Drop-Socket auswählen All diese Dinge
werden abdecken und wie
man .
All diese Dinge
werden abdecken und wie
man den Socket nicht blockiert
, was ich Ihnen erklären werde. Eine weitere Sitzung, die ich widmen werde um das Programm zu schreiben und es mit
nicht blockierenden Sockets
auszuführen. Seit diesem Zeitpunkt werden wir uns bewusst
sein, wie man einen
Socket nicht blockiert. Wir werden auch ein Programm schreiben und in Linux
mit C-Sprache
ausgeführt. Das Erstellen des Sockets
ist nicht blockierend. Also all die Dinge, die wir in der nächsten Sitzung
behandeln werden. Bitte sei bereit für
die nächste Sitzung. Danke für den Moment.
Danke. Sind keine Freunde.
25. SocketSession14 Makingsocket als Makingsocket: Hallo Freunde. Heute werden wir sehen, wie man
den Socket als
nicht blockierend macht , um ein mehrfarbiges Server- und
Linux-Betriebssystem
mit C-Sprache zu erreichen . Vor dieser Sitzung haben
wir einen anderen Ansatz
gesehen, haben
wir einen anderen Ansatz
gesehen um sie und
die Client-Server-Kommunikation zu erreichen . Und das war durch die Verwendung der
Select-Funktion und wir haben gesehen, dass sie verwendet wird, sowie
die Details darüber auch, wir haben das Programm geschrieben und das Krankenschwester-Betriebssystem
ausgeführt. Sehen wir uns nun den
unterschiedlichen Ansatz an, um den Socket nicht zu blockieren, um die
Multi-Class-Serverkommunikation zu erreichen. Lassen Sie uns also die
Themen sehen, die wir heute in dieser
vollständigen Sitzung behandeln
werden. Wir werden sehen, was
der nicht blockierende Socket ist. Dann der Unterschied zwischen
den beiden Ansätzen, um
Antiklinien-Serverkommunikation zu erreichen. Das ist der Unterschied zwischen Select-Funktion und dann
nicht blockierenden Sockets. Seitdem haben wir gesehen
, wie man die Select-Funktion
und das Programm
sowie die Ausführung verwendet . Jetzt hier in dieser Sitzung werden
wir einen
nicht blockierenden Socket sehen. Sobald dieses nicht blockierende
Socket-Thema abgedeckt
ist und wir dies behandeln,
wird der Unterschied zwischen Basilikfunktion und dem
nicht blockierenden Socket behandelt. Dann
werden wir als Nächstes behandeln, welches wir verwenden sollen. Lasst uns lesen. Dann. Wir müssen die select-Funktion verwenden. Alles was wir brauchen die
nicht blockierende Steckdose
und das Männerwochenende zu benutzen. Und sogar an ihnen. Dann werden
wir sehen, wie man den Socket
nicht blockiert. Wir sehen uns das Beispiel an. Dies sind die Themen
, die wir behandeln
und veröffentlichen und uns eins nach dem anderen tun
lassen werden . Das allererste sind
die nicht blockierenden Sockets. Was macht dieser
nicht blockierende Socket den Socket
als nicht blockierend? Wir prüfen, ob das
Ereignis stattgefunden hat. Und wenn ja, dann wird es zu einem anderen Zeitpunkt
selbst
verarbeiten, es wird sofort
ohne Fertigstellung zurückkehren, und damit die Zellen und Zweck
des
nicht blockierenden Sockets. Nach dieser Definition bedeutet
dies,
dass es Sie auscheckt und die Auswahl des Sockets
nicht blockiert. Angenommen, wir
rufen die Funktion auf, dann wird in diesem Fall die
Lead-Funktion
aufgerufen , unabhängig davon, ob
Daten vorhanden sind oder nicht. Es wird sofort zurückkehren. Säuglingsdaten sind also
gut Präsident und würden sie sie
lesen und werden
nach dem Lesen der Daten zurückkehren. Die Daten sind jedoch nicht auf
Socket vorhanden , den
Sie als nicht blockierend gemacht haben. Es wird nicht auf die Daten warten. Es wird einfach selbst
eine Schlafenszeit zurückgeben, also wird es sofort zurückkehren. Sie können also verstehen,
wann immer wir den Socket als nicht blockierend
machen, sollten
wir es nicht tun. Wir
sollen einfach sofort handeln. Es wird also
sofort zurückgegeben, dass es darum geht, den
Socket als nicht blockierend zu machen. Wir werden also sehen, was wir erreichen
können der Socket nicht blockiert
wird. Dann ist das Beispiel
tatsächlich dasselbe, ein Beispiel, das ich Ihnen jetzt gegeben
habe,
das heißt, wenn Sie den Socket
nicht blockieren lassen und
wenn Sie das V aufrufen, und wenn diese Daten auf dem
Socket sind, dann wird es gelesen. Wenn nicht, gibt eine Ganzzahl
erfolgreich eingebettet Daten zurück. Das sind keine Daten,
dann werden sie
sofort zurückgegeben , ohne
darauf zu warten, dass Daten kommen. Also hat das nur M jetzt erklärt, ich hoffe, Sie haben jetzt verstanden, was der Zweck ist,
den Socket nicht zu blockieren. Welche Dinge können erreicht werden? Dann? Es wird auch zurückgegeben, und das ist der Fehler,
da es sich nicht um Daten auf
dem Socket handelt und Sie
die Funktion aufrufen , es gibt keine Daten. So wie ein Verhalten darin besteht, dass es
nicht lesen soll, wird der Dipol sofort
zurückkehren. Daher können Sie
verstehen, dass dies der Fall ist, da es keine Daten gibt, die tatsächlich
nicht lesen konnten , ohne dass sie sofort
zurückgegeben und es wird den Fehler zurückgeben. Das heißt, E würde blockieren da das Audit
später genauso zurückkehren kann. Das heißt nochmal, was
bedeutet dieser Pfeil? Das bedeutet, dass der Leseaufruf gebloggt
worden wäre , aber er
ist gescriptet, wurde in den
nicht blockierenden Modus versetzt und sah, wie ich es unterstütze, manchmal
das Lesen des zu nennen. Also. Ich hoffe, Sie haben
diese Bedeutung dieses Fehlers verstanden. Es bedeutet, dass der Aufruf der
Essfunktion ausgereifter Aufruf tatsächlich der
Docking-Aufruf
gewesen sein könnte . Aber Sie, da Sie
den Deskriptor machen,
ist der nicht blockierende Modus
, bevor diesen Aaron zurückgegeben hat, indem
er sagt, dass es sich um
einen blockierenden Aufruf handeln könnte , weil Sie verstehen können, dass es keine Daten
gibt, und wenn es
keine Daten gibt, sollte es daher lesen. Aber da Sie machen, blockiert
der Socket nicht. Es heißt, dass Sie
immer noch gemacht haben , dass dieser Socket
nicht blockiert. Deshalb hat es nicht ein bisschen
darauf gewartet , es kehrte sofort zurück. Das bedeutet also, dass Sie die Lesefunktion nach
einiger Zeit
aufrufen sollten die Lesefunktion nach
einiger Zeit
aufrufen , damit dies passieren kann, wenn Sie nach einiger
Zeit anrufen. Das und die Schlafenszeit auf der Steckdose
vorhanden. So haben wir die Dinge
tatsächlich
erreicht,
falls der Socket nicht blockiert wird. So kannst du
das Verhalten verstehen. Auf diese Weise führt es die Funktionalität aus, wenn der Socket nicht blockiert wird. Ich hoffe, Sie haben verstanden,
was der Zweck ist , den Socket nicht zu blockieren
und wie er sich verhalten wird. Im Falle der Select-Funktion. Was war der Fall, sollte die
Auswahlfunktion ME vermeiden alle Deskriptoren zu
senden,
die wir überwachen wollten, und B gab den Timeout dieser Frist an,
bis zu welcher Uhrzeit es sein sollte. Wenn einige der
Sockets aktiv sind, bereit zum Lesen
, bereit zum Schreiben. Und in diesem Fall
würde es die Nummer von
zurückgeben, diese Sockets zurückgeben und Sie werden den
Vorgang sofort ausführen. Innerhalb dieses Zeitrahmens würde
Sokrates nicht aktiv
werden, dann würde es
keine der Sockets zurückgeben, und die Operation wäre im Falle
der Select-Funktion
ausgeführt worden. Es ist also so, als ob
Sie
je nach Timeout die
Select-Funktion steuern können. Welchen Betrag
müssen Sie tatsächlich beschnitten, und was auch immer das Ergebnis
sein wird wenn es Daten gibt oder
wenn keine Daten vorhanden sind, aber ablaufen. Danach. Eigentlich steige ich. Aber in diesem Fall
können Sie sehen, dass es
sofort zurückkehrt , wenn Sie diesen
Socket nicht blockiert haben. Und wenn es keine Daten gibt, werden sie
mit dieser Bearbeitung zurückgegeben. Und wieder können Sie die
Lesefunktion aufrufen und einfach überprüfen, ob die Verteidigung
vorhanden ist, und wenn ja, sie sie neu gemacht und zurückgekehrt. Wenn nicht, wird es immer noch sofort wieder
zurückkehren, Sie nennen es einfach
Zeitintervalle. Sie können dieselbe
Lesefunktion aufrufen. So verhält sich das wenn Sie festlegen, dass der
Socket nicht blockiert. Ich hoffe es. Du hast
den Unterschied verstanden. Mal sehen. Nun, das Beispiel, das
ich erklärt habe, dass
Sie die
Lesefunktion aufrufen, wenn Sie den Socket erstellen,
ist der nicht blockierende Modus. Im Falle des Unix,
wenn es sich um ein Unix
- oder Linux-Betriebssystem handelt, kann der Fehler, der tatsächlich
auftreten kann, wenn keine Daten auf dem Socket
vorhanden sind, ein Block sein. Während es schlecht ist, wie es ist,
wenn es sich um ein
Fensterbetriebssystem und Beanstalk handelt, verwenden Sie. In diesem Fall ist der Fehler,
wenn kein Gate auf dem Sockel vorhanden ist, von diesem Typ, also W-SAE-Holzblock. Dies ist also nur ein Unterschied
zwischen den Pfeilen bei Berlinern sowie dem
Windows-Betriebssystem. Jetzt müssen Sie
den Fehlercode überprüfen , der die
Fehlernummer in der Unix ist. Und wenn es Windows ist, dann sollten Sie nach WAC sehen, verlorene Fehlerfunktion. Sie können einfach mit
anderen Aufgaben weitermachen und
später zurückgehen, um den Socket zu lesen. Aber wenn es sich um einen
anderen Socket-Bereich
handelt, müssen Sie damit umgehen. Es ist also dasselbe, aber für den
Fall , dass der Socket nicht blockiert
wird. Wenn also keine
Daten auf dem
Socket vorhanden sind und dennoch die
Lesefunktion aufgerufen wird. In diesem Fall wird es nicht sofort
zurückkehren und
der Fehler wird ausgelöst. Besser werden
Sie also wissen, dass Sie die
Lesefunktion erneut aufrufen
sollen . In der Zwischenzeit können
Sie andere Aufgaben übernehmen. Auf diese Weise wird Ihr
Programm also nicht blockierend. Sie können Eddie mit einer
anderen Frage fragen, Ihr Programm wird
nicht gestaffelt. Und Sie können auch beenden, wenn
es sich um einen anderen Fehler handelt. Wenn es nicht diese Bearbeitung
ist, die angibt, dass, wenn
es sich um einen anderen Fehler
handelt, Sie damit umgehen müssen. Oder jeder Sockel im Falle eines
Veranstaltungsortes trifft der Socket
ist nicht blockierend. Hier geht es um
das Nicht-Blockieren. Sehen wir uns nun das andere Thema in dieser Sitzung an
, das
zwischen der Select-Funktion und dem Nicht-Blockieren dieses Sockets
unterscheidet. Diese Unterschiede werden
wir sehen. Dann können Sie es vorziehen,
die
Select-Funktion
aufzurufen , um eine
ablehnende Serverkommunikation zu erreichen .
Was passiert dann? Zuallererst die Dinge,
die es benötigen wird. Eigentlich einige neue
Konzepte lernen und 20
bis 25 Codezeilen schreiben. Wir haben also gesehen, dass
wir gesehen haben, wenn wir die Select-Funktion
im Programm selbst in
der vorherigen Sitzung verwenden , wir haben gesehen, dass wir einige neue Konzepte lernen müssen , wie leere Menge tatsächlich und
modale Makros verwendet werden. was alle Funktionen verwendet werden und was wir tun sollen. Und es gibt Zeilen, diese Standardcodezeilen, die
wir schreiben müssen, wenn wir
die obligatorische Select-Funktion verwenden. Wenn Sie beides erstellen, blockiert der
Socket nicht,
wenn Sie
Select nicht verwenden , und Sie machen, dass dieser
Socket nicht blockiert. Und
was ist das bei diesem Ansatz? Zuallererst geht es um
weniger Sportereignisse, die wir machen, dass
der Sockel nicht blockiert. Es wird eine Lead
Scoring Adult zeigen Sie
im Programm in der nächsten Sitzung auch
ein einfaches Beispiel sehen. Führen Sie drei Codezeilen aus
, um nicht zu blockieren. Aber Sie werden
ein
Programm richtig schreiben und wir werden
es im nächsten Abschnitt ausführen,
wir werden sehen, dass es weniger Code beinhaltet. Und Sie müssen einfach
Ihren Test und
die Fehler ändern ,
indem Sie den Test für einen
Holzschnitt und E erneut hinzufügen, also was Sie tun sollten. Hier, wenn Sie machen, blockiert der
Socket nicht. Zuallererst wird es
den weniger Code beinhalten und Sie
müssen einfach den Test hinzufügen. Eigentlich liegt ein Fehler vor. Es würde blockieren und
EOG und dann
musst du dafür etwas Code hinzufügen. Eigentlich können Sie dieselbe Funktion erneut
aufrufen, es gibt andere Pfeile, dann müssen Sie damit umgehen. Dies ist tatsächlich in
Bezug auf die
Zeilen des Codes. Es gibt mehr
Codezeilen und Auswahlfunktionen, aber weniger Codezeilen
in nicht blockierenden Sockets. Wenn Sie meinen, dass der Socket
nicht blockiert ist, besteht der nächste Unterschied darin ,
dass
wir bei Verwendung
der Select-Funktion 20
bis 25 Codezeilen schreiben müssen. Okay? Dann können wir verwenden, wir können sie wieder minimale,
minimale Änderungen wiederverwenden ,
um sie
mehrere Sockets zu verwalten , die ich die Sokrates behalten
werde, dann müssen Sie
sehr kleine Änderungen hinzufügen sehr kleine Änderungen um die
mehreren Sockets zu verwalten. Da Sie also
bereits
2225 Codezeilen für
die Select-Funktion geschrieben haben 2225 Codezeilen für , können Sie
dieselben Codezeilen wiederverwenden. Da Sie
mehrere Sockets verarbeiten müssen, tatsächlich nur minimale
Änderungen erforderlich. Dies ist nur die Sache, die nur Sie diese
Codezeilen und die Änderungen
schreiben müssen ,
wenn Sie sie ändern, dies wird nicht im Overhead sein. Es wird nur bei minimaler
Änderung erfolgen,
wenn Sie die Select-Funktion verwenden. Besser im Falle des
nicht blockierenden Sockets müssen
Sie sie anpassen, um jeden der Sockets
für verschiedene,
verschiedene Sockets zu
behandeln . Sie müssten tatsächlich mit
ihnen umgehen, und ihr Verhalten kann
auch unterschiedlich sein. Es kann verschiedene Pfeile werfen
, also musst du damit umgehen. Das ist also
die Sache, die Sie im Falle der
nicht blockierenden Sockets
tun müssen. Dies wird jedoch verwaltet, wenn Sie die Select-Funktion
verwenden. Wenn Sie
diese Codezeilen geschrieben haben und ändern müssen, sind minimale
Änderungen erforderlich. Jetzt pausiert der andere Unterschied
tatsächlich die Auswahl. Der Code wird an einer Stelle
in Ihrem Code gesammelt,
während der Code zur Unterstützung des
Backens des Sockets
nicht blockierend ist ,
in Ihrem Code verteilt wird. Und das ist eine komplizierte
Pflege des Codes, damit Sie verstehen
können, wo diese Beschreibung das
sagt. Es heißt, dass
Sie Verwendung von select an einem Ort den gesamten
Code sammeln können, der für die Verwendung der Select-Funktion erforderlich
ist. Wenn Sie jedoch einen
anderen Ansatz bevorzugen , um
den Socket nicht zu blockieren
, wird dieser Ansatz, den Sie
bevorzugen,
in diesem Fall im gesamten Programm, Ihr Code
verteilt. Und dies kann auch die
Pflege des Codes erschweren sobald Ihre Rohsockets zunehmen. In diesem Fall kann
es tatsächlich die
Wartung des gesamten Programms erschweren. Die nächste Sache eigentlich, welche wann verwendet werden soll und
ob verwendet werden soll, wählt aus, ob nicht blockierend verwendet werden
soll,
wann sie verwendet werden sollen. Die Anzeige hat ihre
Bedeutung. Mal sehen. Zunächst können wir einen
Auswahlansatz wählen, wenn Sie den
Umgang mit
Rückgängen
zentralisieren und gleichzeitig testen und
behandeln möchten den
Umgang mit
Rückgängen
zentralisieren . Dies ist der Fall, wenn
Sie sie bevorzugen sollten. Während Sie sich für
den nicht blockierenden
Socket-Ansatz entscheiden können , wenn Sie möchten, dass der Mond einen
schönen Ansatz verteilt. Dies liegt daran, dass dies
die Dinge sind, als Sie
die erste Auswahl getroffen haben , wenn Sie
melden sollten , dass der
Socket nicht blockiert wird. Was ist die Notwendigkeit
des Auswahlmenüs sollte
die Auswahl verwenden, die wir sehen werden. Und wenn Sie dann
ein Nicht-Arbeiten verwenden sollten, werden wir hier in diesem Thema
sehen. Also zunächst
unnötig von der Auswahl. Wenn wir also Silber schreiben, wissen wir, dass wir bereit sein
sollten, auf die Ereignisse der Medien zu reagieren , die mit dem Server passieren
können. Diese sogar Scanner, gut. Ich sende die Anfrage
an den Server kann Verbindung
identifizieren und trennen,
lesen und schreiben. All diese Ereignisse passieren, sobald
der Server gestartet wurde. Da diese Anrufe
blockieren, erklärt das Lesen und
Schreiben all dieser
Anrufe, die die
Verarbeitung blockieren ,
was einer von ihnen ist. Eigentlich werden zwei weitere
Ereignisse stattfinden, bis die Verarbeitung des
aktuellen Geraden abgeschlossen ist. Und so
kommt die Notwendigkeit der Auswahl vor, was es sagt. Angenommen, seit
wir diesen Service gestartet haben,
wird es kein Netz geben, das tatsächlich
unterschiedliche
Ereignisse sein kann ,
vorausgesetzt, einige Lektüre
findet statt. In diesem Fall ist der Server damit beschäftigt, die Lesung zu
verarbeiten,
und es gibt kein Datum, Schriftfeld, ein anderer
Teil Ihres Programms wird abgestempelt. Es wird nicht in der Lage sein , auf andere Ereignisse zu reagieren, die
tatsächlich stattfinden. Das ist also,
das passiert tatsächlich. Und deshalb müssen
Sie in
diesem Fall mit der
Select-Funktion verweisen. Das ist also die Sache, die
ich hier erwähne, das heißt, diese
Auswahl ist erforderlich. Was ist diese eine Notwendigkeit, die Select-Funktion zu
verwenden? Das ist nicht notwendig. Wir können das Blockieren tatsächlich
vermeiden, Sie können auch
andere Aufgaben bearbeiten. Sie können die
Select-Funktion verwenden und um das
Blockieren Ihres Programms zu vermeiden. Dann auch darin
wählen Sie aus, was wir geben, geben wir die Liste der zu überwachenden
Andockanrufe an. Ja. Und es wird die ganze Zeit
blockieren. Jeder, der einen blockierenden
Anruf hat, wird bereit. Diese Auswahl wird dann nicht
blockiert Sobald es bereits eine
verursacht hat. Sie können also verstehen
, was wir sagen. Sie sagen, dass wir diesen
Hundedeskriptoren Sockets,
Sockets und Deskriptoren
geben , die wir
geben, die in den Sockets aufgeführt
sind . Was wir zum
Lesen oder Schreiben überwachen müssen. Was wird dann passieren? Und Sie geben
den Timeout-Wert an. demodierte Wert, von dem wir wissen,
wird verwendet, um zu steuern wie viel Zeit die
Select-Funktion haben soll. Abhängig davon, welchen
Wert Sie geben. Ein Timeout, es wird sofort
zurückgegeben, Audit wird zurückkehren,
es wird vier unabhängig. Ich bin immer noch eine neue Aktivität passiert tatsächlich auf den
Sockets, die Sie gegeben haben. Du hast eine Kontrolle. Eigentlich, was
du tun solltest. Hier geht es um die Auswahl. Was dann auf
dem nicht blockierenden Socket
dieses Anbieters unnötig ist dem nicht blockierenden Socket , ist ein nicht blockierender
Socket erforderlich. Angenommen, was passiert mit dem ausgewählten
Codein? Sie erhalten eine Liste
des Ready-Ereignisses, das
nach Abschluss des Select-Aufrufs verarbeitet werden
soll . Wenn einige
der Dateideskriptoren angezeigt werden,
die bereit sind
, werden beide zurückgegeben. Ich werde Deskriptoren,
die schon sind, in diesem Fall was passiert? Es kann passieren, wenn der
Server und den Anruf tätigt. Nehmen wir an, dass
eine Spanne
des Sockels, die Sie in
der Select-Funktion angegeben hätten zum Lesen bereit
ist. Die select-Funktion
gibt diesen Deskriptor an Sie zurück. Und Sie können einfach verarbeiten, indem einfach die
Lesefunktion aufrufen, da Sie wissen, dass dieser Socket funktional
lesebereit ist, aber lassen Sie mich sagen, dass er darauf vorhanden
ist. Diese Zeit selbst
könnte sich die Situation geändert haben. Das ist der Kunde, der die Daten
sendet, sie können verschwinden,
bevor wir versuchen zu lesen, bevor Sie die Führung
ausführen. Tatsächlich hat sich zu diesem Zeitpunkt die
Situation geändert dieser Client die
Daten sendet, verschwunden ist. Siehst du, du kannst immer
vorhersagen, was passieren kann. Nehmen wir an, der Client sendet einige Daten an den Server. Der Server versucht es dazwischen zu
lesen. Nur. Einige Verbindungsgesetze haben sich getrennt und die Daten, daher können neue keine
Betätigung auftreten, wenn wir nicht vorhersagen können. Nicht nur in diesem Fall
was passieren wird. Es hat sich richtig verhalten. Es gibt Ihnen Deskriptoren zurück,
die tatsächlich aktiv wurden, wobei Sie Bearbeitungsfunktionen verarbeiten
müssen. Segen. Aber zu dieser Zeit trat
nur eine Situation
aufgrund eines Rückgangs auf, wurde getrennt. Und dieser Client schickte die Daten auf dem Socket , die der Server tun
sollte. In diesem Fall wird
die Lektüre schließlich nicht stattfinden. In diesem Fall können Sie es vorziehen, dass der Socket nicht blockiert
wird. Also dieses Ding kennen wir Mia
nicht und lassen diese Dinge frei, die wir nicht
wissen, wann es passieren kann. Es sind unvorhersehbare Dinge, die nach oben und dieses Ende
zu unvorhersehbaren Ergebnissen führen. In diesem Fall
ist es ein Bericht,
diesen Ansatz zu verwenden , um
den Socket zu erfüllen, ist nicht blockierend. Weil wir also wissen, dass der Socket
dann nicht blockiert
wird. Angenommen, Sie rufen
die Lesefunktion auf. In diesem Fall
wird die Lesefunktion aufgerufen und wenn Daten darauf vorhanden sind, liest
sie sie und sie
wird erfolgreich zurückgegeben. Aber wenn keine Daten darauf
vorhanden sind, kein Problem, es wird immer noch sofort zurückkehren und es wird Ihnen geben,
beide sagen
das, es wird immer noch sofort zurückkehren
und es wird Ihnen geben,
beide sagen
das, da die Reichen der blockierende Anruf hätten werden
sollen, weil es sind keine Daten darüber vorhanden. Trotzdem hast du
den Deskriptor erstellt, da
der Socket immer noch nicht blockiert wird. Jetzt Ihre Unterstützung, Es heißt nach einiger Zeit
wieder
die Lesefunktion, rufen
Sie die
Lesefunktion erneut auf. Wenn keine Daten vorhanden sind, wird es sofort
zurückgegeben. Schon wieder. Sie rufen die Lesefunktion auf. Wenn Daten vorhanden sind,
liest es die Daten und
sie werden zurückgegeben. So
bedeutet das Nicht-,
So verhält es sich Menü , dass der Socket nicht blockiert. Darum geht es also. Dies ist also ein anderes Beispiel. Eigentlich, wenn wir den
Annahmeanruf S nicht blockierend machen, sollte
ich
den Socket nicht blockieren
und wir rufen sie auf, außer Funktion, außer zuerst
auf dem Bürgersteig
passiert. Und wann immer es eine
Verbindung von der Leitung gibt. So weist der Leitungssinn der
Verbindungsanforderung im Falle des
Server-Servers eine Verbindung auf. Aber da Sie
machen,
blockiert der Socket nicht und das
ist der Anruf annehmen. Alles in diesem Index und eingebetteter Schnee und
tatsächlich
keine Verbindung senden und diesen Anruf
immer noch annehmen. Und dieses Akzeptieren ist nicht blockierend weil Sie Ihren
Socket nicht blockierend machen, was wird
dann das Verhalten aussehen? Es wird sofort zurückkehren. Sie können also tatsächlich verstehen
, dass es außer dieser Seite keine Zeile
gibt, die die Anfrage an den
Server sendet , immer noch akzeptiert. Das bedeutet, dass dort
keine Verbindung besteht und sie wird sofort
zurückkehren. Es wird nicht für die
Verbindungsanfrage verwendet. Es wird Ihr Programm nicht blockieren die Verbindung
zu verbiegen. Es wird sofort zurückkehren. Selbst wenn es keine Verbindung gibt, wird sie sofort zurückkehren. Es wird nicht warten, aber es gibt Ihnen den Fehler
tatsächlich wie der böse
Block nur wieder sagt, dass es außer die Blockierung
gewesen sein könnte denn da es keine Verbindung
gibt, Sie
immer noch hergestellt der Socket blockiert nicht und
muss daher sofort zurückkehren. Sie sollten also
die Exit-Funktion
nach einiger Zeit aufrufen . Dies ist die Verwendung Sie
tatsächlich gemacht haben, dass dieser
Socket nicht blockiert. Man muss sich auf diese
Weise verhalten. So funktioniert es also. Jetzt werden wir befreiend sein. Dieses Ding
wird das Programm tatsächlich in
der nächsten Sitzung in Punkt schreiben Programm tatsächlich in
der nächsten Sitzung in Punkt und
wir werden es ausführen. Es wird sehen, wie
man den Socket nicht blockiert und wir
werden seine Ausführung sehen. So wissen Sie
vielleicht, dass das Thema ist, wie man einen Socket
erstellt, nicht blockiert. So
erreichen Sie also, dass Ihr
Socket nicht blockiert wird. Sie müssen einen Softball haben, verwenden Sie den FFC- und TL-Systemaufruf. Sie müssen
diese FC- und
TL-Systemaufrufe ausführen oder was ist diese f, c und d l Funktion. Es führt die verschiedenen
Aktionen für offene Deskriptoren aus. Deskriptoren sind Ihre
Socket-Deskriptoren hier. So führt es verschiedene
Aktionen auf dem, auf dem
Open-Socket-Deskriptor ist der
Socket-Deskriptoren micelle open es
führt verschiedene Aktionen aus, z.
B. auf dem
Open-Socket-Deskriptor ist der
Socket-Deskriptoren
micelle open es
führt verschiedene Aktionen aus,
z.
B. Attribute einer Datei
im Socket-Deskriptor. Was es tun kann,
zwei Aktionen, die
Nick ansprechende Attribute der
Socket-Deskriptoren
ausführen können , verändern die Attribute von
Socket-Deskriptoren. Bisher können
Sie die Socket-Deskriptoren verstehen, dass es bei Bewertungen unterschiedlich sein
kann. Angenommen, Sie müssen
den Socket nicht blockierend machen, also gibt es ein Quad. Sie können diese Attribute
je nach
Anforderung tatsächlich ändern . Sie haben also gefragt, ob Sie sie einfach
FC nennen und handeln
sollen , damit
der Socket nicht blockiert wird. So sehen Sie unten, wie
Sie diesen FC und TL verwenden. So benutzt man. Zunächst geben Sie
das erste Argument
als Beschreibung an. Es ist ein
Socket-Deskriptor, bei dem Sie zwei im Aktionsmodus
haben. Und das zweite Argument geben
Sie den Befehl. Also was Amanda,
Sie müssen
je nach Anforderung geben, was Sie tatsächlich auf dem Socket ausführen möchten, was Sie tatsächlich auf dem Socket ausführen möchten um
den
Befehl auszuführen, den Sie geben werden und die Zeilen, die Sie verstehen
können können habe hier eine Reihe
von Argumenten. Das ist es, was es tun
soll, und dies ist ein Beispiel
tatsächlich nach der Operation. Was wir tun, wenn Sie diesen Socket
erstellen müssen ,
blockiert nicht ruft dieses
Funktionssystem namens f, c und d l auf. Und wir übergeben das erste Argument
als Socket-Deskriptor. Und der zweite ist ein Befehl. Wir haben also gesehen, dass
Skelett diese Kraft der Socket-Deskriptor sein wird,
und der zweite wird unter dem Sie die Aktion ausführen
möchten. Diese drei Argumente sind optional für Sie. Hier geben wir diesen Befehl. Wir wollen, dass das passiert, komm mit
dem Socket-Deskriptor. Und dann
rufen Sie dieselbe Funktion auf. Sie übergeben den
Socket-Deskriptor und geben dies an, Sie rufen diese Funktion auf, Sie werden
diesen Befehl geben. Sie möchten
dieses Ding tatsächlich auf
den Socket-Deskriptor einstellen . Und da diese drei Punkte, die hier erwähnt werden,
sind dies Optionen. Hier müssen
Sie also machen, dass die
Flagge nicht blockiert wird. So müssen diese beiden Codezeilen
geschrieben werden, wenn der
Socket nicht blockiert wird. Ich habe behauptet, was ist
der Zweck dieses Befehls? Hol die Füllung. Es erhält das offene Flag oder
übernimmt dieses Skript. Und FCA bis zum Lesen, wird diese Ergebnisse zurückgeben. Dies wird die Quelle erhalten. Was diese
sichtbare Behinderung tatsächlich
tut,
wird dieser
Befehl jedoch tatsächlich
tut,
wird dieser
Befehl den
Socket-Deskriptor öffnen und diese X
als Ergebnis
zurückgeben, also wird dieses Flag kehrte zurück. Dies ist der Zweck dieses
Gammas und der SEC FL kommt. Amanda ist, dass wir Statusflagge bleiben. Was würde der Socket-Deskriptor , um den
Socket zu machen, blockiert nicht. Sie können dieses Flag tatsächlich verwenden , das nicht blockiert ist. Fünf veraltet. Sie haben verstanden , dass
dieser spezielle
Befehl, der verwendet wird, um die offenen Flags zu erhalten , die für den Socket vorhanden sind, gekippt und aufgehoben
wird. Sie das hier in diesem Flag zurück und legen Sie fest, dass es auf j Prozent verwendet wird, dieses Status-Skript Black Order. Dann können Sie dies
verwenden, um Ihre, es befindet sich im nicht blockierenden Modus. So erreichen wir dass der Socket
nicht blockiert und blockiert. Also werden wir
es in unserer nächsten Sitzung nutzen, du wirst das Programm schreiben. Die Herstellung des Sockets ist
nicht blockierend, um
eine
Multi-Client-Server-Kommunikation zu erreichen, obwohl es
darum geht, den Socket
nicht zu blockieren. also all diese Optiken Wir haben also all diese Optiken behandelt, die wir hier gesehen haben. Das ist es, was ist
nicht blockierender Socket. Der Unterschied zwischen
der Select-Funktion, Unterschied zwischen
nicht blockierendem Socket. Wir haben gesehen, wie viele
Zeilen Sie
mehr codieren müssen , wenn Sie
die Select-Funktion im Vergleich
zu der des
nicht blockierenden Sockets verwenden die Select-Funktion im Vergleich . Sobald wir den Code geschrieben haben, können
wir ihn wiederverwenden und die Änderung ist
sehr geringer, wenn wir dies getan haben, wenn wir
mehrere Sockets verwalten müssen. Während im Falle einer Nichtblockierung, selbst wenn der Code eine Liste ist, aber wenn es eine große
Anzahl von Sockets gibt, müssen
Sie damit umgehen, den Code, dann müssen Sie eine weitere Aufgabe darin
erledigen. Wir haben auch im Falle
der Select-Funktion gesehen, wann die
Select-Funktion verwendet werden soll, wann der Socket nicht blockiert wird. Und wir haben gesehen, dass
es hier
für Instapoll schon einmal an einem Ort gesammelt wird, aber an einem nicht blockierenden Socket, während Ihres gesamten Kurses verteilt wird. Es ist schwierig zu
warten, wenn es sich auflöst. Große Anzahl, große
Anzahl von Steckdosen. Dies sind die Unterschiede, die
wir auch gesehen haben, wir gesehen haben, dass
der Socket ausgewählt werden soll. Wir haben gesehen, was
nicht unbedingt von
der Select-Funktion ist.
Wir haben es gesehen. Wir wollen nicht, dass
das Programm lange anhält. Sie können die Select-Funktion verwenden. Wir haben eine Kontrolle über Timeout. Wir haben gesehen,
dass wir uns vorbereiten können. Socket zu machen ist ein
nicht blockierender Socket ,
anstatt
wählen Sie Quantity zu verwenden Ich habe gesehen, dass die Situation zur Laufzeit auftreten
kann, wir wissen nicht, dass selbst die
Select-Funktion
mit den Socket-Deskriptoren zurückkehrt welche bereit sind. Aber aufgrund einer anderen Situation
wie Verbindungsgesetze kann jedoch alles passieren. Client, der Daten
gesendet hat, wenn es gekommen ist, Es ist irgendwie verbunden, tun Situation,
willkürliche Situation. In diesem Fall
wird es keine Gitarre geben. Das Datum der Dezember, der bereit war,
den Lesevorgang durchzuführen. Da der Client die Verbindung getrennt
wurde, kann er nicht lesen. Alles kann jederzeit passieren. Daher haben
Sie in diesem Fall den Socket
nicht blockierend gemacht ,
wenn ich es angegeben habe. Und wir haben gesehen, wie man
den Socket nicht blockiert. Du musst diese Flagge geben. Die beiden Funktionen, die wir
gesehen haben, müssen Sie f,
c und d aufrufen . Also all
diese Dinge sind wir, wir sind Bandbreite und
die nächste Sitzung, wir werden das Programm schreiben, um
den Socket nicht blockierend zu erfüllen und wir werden es
ausführen In bezeichnet
die C-Programmierung. Seien Sie also bereit für
die nächste Sitzung, die
vollständige Widmung sein wird um das Programm zu schreiben
und auszuführen. Das Herstellen des Sockels klopft
nicht,
um eine
Multi-Client-Server-Kommunikation zu erreichen. Also bin ich vorerst fertig, Freunde. Danke vielmals. Danke.
26. SocketSession15 Program&Exection Program&Exection als Program&Exection: Ich sehe Freunde aus, dass
sie
das Socket-Programm schreiben oder den Socket als
nicht blockierend
machen werden das Socket-Programm schreiben oder den Socket als
nicht blockierend
machen , um
eine mehrzeilige
Well-Kommunikation zu erreichen, und wir
werden es auch im
Linux mit dem C ausführen Sprache. Vor dieser Sitzung haben
wir also gesehen, dass dies
vorschreibt, wie man den Socket als nicht blockierend
macht. Wir haben also
verschiedene Ansätze
gesehen um Antiklinien zu erreichen, mehrere Kommunikationen haben
wir gesehen, was
das Problem bei der Erstellung
des Threads für jeden Client war das Problem bei der Erstellung
des Threads für jeden Client , der sich mit
der Salve verbindet, die sind verschiedene Nachteile
, die wir
in früheren Sitzungen behandelt haben , um zu vermeiden, dass ein Thread
erhalten wird. Aber jeder Kunde hat es mit
der Select-Funktion
überwunden. Wir haben auch num gesehen, Bedeutung der
Select-Funktion sowie wir haben die Details
gesehen. Was ist der Zweck, den Select-Funktionstift zu verwenden, um ihn zu verwenden? Und wir haben das Programm auch
geschrieben und in einer früheren Sitzung
ausgeführt. Dann haben wir gesehen, dass der
unterschiedliche Ansatz den Socket
nicht
zu blockieren, anstatt eine Select-Funktion zu
verwenden. Wir haben also Männer gesehen, die die Select-Funktion
verwenden, wenn dieser Socket nicht blockiert
wird. All diese
Dinge haben wir in einer früheren Sitzung gesehen. Wie wir wissen, ist es nicht blockierend, da wir
das Wissen haben , wie man
den Socket herstellt. Ich habe Ihnen
vor dieser Sitzung erklärt, ich habe Ihnen erklärt, was
ist der Zweck davon? Lassen Sie uns das
Programm schreiben und ausführen, indem der
Socket nicht blockiert wird. Lassen Sie mich Sie also
kurz über den
nicht blockierenden Modus beschreiben . Und lasst uns anfangen, das Programm
auf die Einheiten zu
schreiben , und
wir werden es ausführen. Beginnen wir mit einem
nicht blockierenden Socket, wie ich Ihnen
in der Audiositzung beschrieben habe. Den Socket
als nicht blockierend machen. Dies prüft, ob das
Ereignis eingetreten ist. Und wenn ja, dann wird es zu diesem Zeitpunkt selbst
verarbeitet, da es
sofort ohne Wartezeit zurückkehren wird , die dem Zweck
der nicht blockierenden Sockets dienen. Wenn Sie also machen, wissen Sie,
dass er immer dann gefolgt ist, wenn Sie einen Socket-Blocking-Modus
erstellen Wenn Sie den
Socket in den nicht blockierenden Modus versetzen möchten, haben
wir einen Systemaufruf, den
wir im Voraus sehen werden. Aber sobald Sie festlegen, dass der
Socket nicht blockiert
wird, wird er sich verhalten. Lassen Sie mich das beschreiben. Angenommen,
Sie machen Ihren Socket nicht blockiert und Sie rufen die
Lesefunktion auf. Sie wissen, dass bei der
Lese-Operation Mill nur ein Ereignis wiedergegeben
wird, bei dem
es sich um Daten auf dem Socket handelt, dann können nur Sie diese
Daten aus dem Socket sein. Also dy dt wird
begleiten, dass es nur dann
erfolgreich sein wird , wenn
es einen Socket gibt. Daher heißt diese
Lektüre. Und wenn auf diesem einen Socket Daten
vorhanden sind, werden
die Daten gelesen und sie
werden zurückkehren und Schlafengehen gehen. Aber das sind keine Daten
über dieses Organ. Und du rufst
die Lesefunktion auf. Und in diesem Fall wissen
Sie, dass Sie diesen Socket
nicht blockiert
haben. Daher wird es nicht
auf die Daten warten. Es wird sofort zurückkehren. Sie können also verstehen,
unabhängig davon ob Daten vorhanden sind oder nicht. Es wird nicht gelesen, weil Sie einen Socket nicht blockieren
lassen. Sie möchten nicht, dass
Ihr Programm feststeckt. Sie möchten
Ihr Programm nicht zur Hand nehmen und werden
daher
sofort ohne Wartezeit zurückkehren, also werden Sie nicht bekommen, das erreichen wir. Veranstaltungsort hat den Socket
nicht blockiert. Was ist dann, was ist die
Arbeit in diesem Fall, es gibt keine Daten und Sie
rufen die Funktion auf. In diesem Fall wird es
sofort zurückkehren und es wird Ihnen auch einige Fehler
geben,
ist, dass Fehler tatsächlich
beschreiben, dass der Socket Sie von Tugend mir es als blockierend
machen sollten. Aber da Sie
diesen Socket nicht blockiert wenn die Daten nicht
besser sind, tun Sie es nicht sofort. Und deshalb
sollten Sie
die Lesefunktion
nach einiger Zeit aufrufen . Das ist das Verhalten. Dies geschieht in allem , wenn Sie festlegen, dass der
Socket nicht blockiert wird. Also alle Details
davon habe ich Ihnen bereits vor
dieser Sitzung
erklärt. Hauptziel in dieser Sitzung
ist es, das Programm zu schreiben. Sie werden sehen, wie Sie erreichen können,
wie der Socket nicht blockiert
wird und
wie er ausgeführt wird. Das Beispiel, wenn
Sie den Socket negieren,
blockiert nicht und wenn
Sie Amanda Silver aufrufen, verursachen Sie die Exit-Funktion. Sie wissen, dass diese
Exit-Funktion zunächst auf beiden Seiten
aufgerufen wird. Dann wird es aufgerufen, wenn der Client eine Anfrage sendet, Verbindungsanfragen
an den Server, dann sollte
Vorort
diese Verbindungsanfragen
vom Client akzeptieren . In der, wenn Sie
Ihren Socket erstellen, blockiert nicht. Und wenn Sie die
Exit-Funktion auf der Site aufrufen, wenn keine
Clientverbindung besteht, wenn kein Client eine Anfrage
sendet. Und da Sie
gemacht haben, dass der Socket
nicht blockiert ist und Sie außer der Funktion
folgen, wird
er nicht darauf warten. Ausstehend klinisch
kehren Sie einfach sofort zurück damit es Ihnen das
Set gibt, wie ich es beschrieben habe. Wissen Sie, dass es
Ihnen diesen Fehler geben wird ? Du würdest blockieren. Es bedeutet, was es
bedeutet, dass Sie
einen Mediensocket tatsächlich als Blockierung
haben könnten , da es keine Aktion gibt, stattdessen rufen Sie die
Exit-Funktion auf. Daher rufen Sie manchmal wieder die
Exit-Funktion auf,
so dass
dieser Fehler angezeigt wird , der
angibt, dass
nach einiger Zeit Funktion
beendet und überprüft wird, ob die Funktion
beendet und überprüft wird, ob eine Verbindung damit besteht, außer abhängig von
der Anforderung können
Sie
eine bestimmte Zeit ausprobieren. Das
passiert also tatsächlich, wenn Sie diesen Socket
nicht blockieren lassen. Ich hoffe also, dass Sie uns jetzt sehen,
was wir bereits in der
vorherigen Sitzung gesehen
haben, nur
um in Kürze zu beschreiben, wie der Socket nicht blockiert wird. Zuallererst
müssen Sie dies F, C und D L nennen, ein System, das
diese Funktion genannt wird , anstatt sie aufzurufen. Und du musst dieses
Format übergeben. Das heißt, Sie müssen das Beschreibende
übergeben. Dies wird auf
Socket-Deskriptor erfolgen. Und das zweite Argument
wird der Befehl sein. Befehl. Ist das, was Sie
tatsächlich mit
diesem Socket-Deskriptor tun möchten , diese Aktivität, die Sie
tatsächlich als Befehl
im zweiten Argument erwähnen
müssen . Und dieser drei Punkt
zeigt an, dass Sie mehr Optionen
als optional angeben
können, wenn Sie FC und Teal verwenden müssen. Und wir haben auch
diese beiden Zeilen gesehen , die
Sie tatsächlich
tun sollen, und Sie machen diesen
Socket nicht blockierend. Sie müssen diesen FC
und TL aufrufen und Sie müssen den Socket-Deskriptor
und den Befehl
übergeben, Sie FL erhalten möchten. Was ist dieser Typ, der
im nächsten für den Deskriptor gefallen ist. Und geben Sie diesen Flexor zurück, seine Rolle ist geeignet, den
nächsten tatsächlich aus diesem
Socket-Deskriptor zu erhalten , aus dem
Socket-Deskriptor der den Flex tatsächlich
abruft, und Sie können sammeln
in dieser Variablen. Und dann rufen Sie denselben Systemaufruf und
den Socket-Deskriptor auf, aber Sie erhalten das. Es ist F Unterstrich gesetzt FL. Was ist der Zweck
dieses Befehls? Es sendet
Statusflags für den Deskriptor. Das wird darin X tatsächlich im
Socket-Deskriptor
senden. Und die dritte Option ist I, und das ist optional. Da Sie also machen müssen, dass
dieser Socket nicht blockierend
ist, müssen
Sie diese Gelegenheit sehr wichtig geben. Sie müssen
diesen Nicht-Block erwähnen, da Sie Ihren
Socket nicht blockieren möchten. Dies wird tatsächlich verwendet ,
damit Ihr
Socket nicht blockiert. Sie geben diese Option also als Ausgabeargument darin an. So können Sie den Socket also
als nicht blockierend
gestalten. Beginnen wir nun mit dem
Schreiben des Programms und führen Sie es mit der C-Sprache aus. Also erkläre ich Ihnen
zeilenweise Anweisungen und dann führen wir aus. Diese Sitzung befindet sich auf dem
Windows-Betriebssystem und dem Programm, das wir auf dem
Linux-Betriebssystem
schreiben werden . Also habe ich
hier die Oracle Mm Box installiert. Eigentlich wird mir das Kreuz
geben, ich kann
mein Programm auf dem
Linux-Betriebssystem kompilieren . Wenn Sie kein Linux haben, können
Sie es auch installieren, ist
es sehr viel z2 installieren Oracle ist beteiligt, und Sie können einfach anfangen, den Code dort zu
schreiben wenn Sie starten, der
involviert ist oder sonst wenn Sie Einheiten
haben Betriebssystem, können
Sie einfach das Programm
schreiben. Also lasst uns anfangen, das Programm zu
schreiben. Dieser Ball. Lass mich zu
meinem Linux-System wechseln. Dies wird Oracle VM gestartet, und das ist mein Betriebssystem, Linux-Betriebssystem. Also melde ich mich an. Lass mich zuerst das Terminal öffnen. Ist mein Programm. Das lasse mich dir den Weg zeigen. In meinem Home-Ordner. Ich habe diese Lücke geschaffen,
die tatsächlich,
je nachdem, was
der Zweck meines
Problems ist , aber es ist leer. nicht blockierenden Sockets
erhalten hier diesen Strahl selbst, und das heißt die Auswahl der
Socket-Programmierung mit nicht blockierendem Socket. Wir öffnen das UI-Telefon. Ja. Also hier ist das eigentlich mein
Programm. Das ist also mein Serverprogramm, oder dass der Socket nicht blockiert
wird. Lasst uns nun eins nach dem anderen sehen
, was wir tun werden. Zunächst einmal, wie ich Ihnen
dies in der Präsentation selbst gezeigt habe , dem Beispiel der
Exit-Funktion. Angenommen, Sie
machen den Socket als nicht blockierend und
wir wissen, dass die XOR-Funktion serverseitig aufgerufen
wird. Wenn Sie also
Ihre Augenhöhle
nicht blockierend machen und Sie die Exit-Funktion
aufrufen, wird
es sich
richtig peinlich verhalten. Einige Kundenanfragen darauf. Es wird diese Verbindung akzeptieren. Das ist also okay. Aber
was ist, wenn es keine
Anfrage zur Leitungsverbindung auf das Silber gibt? Und da Sie
diesen Netzwerk-Socket
nicht blockierend machen diesen Netzwerk-Socket
nicht blockierend und Ihr Kollege
außer Funktion. In diesem Fall wird es offensichtlich, selbst wenn keine
Kundenanfragen vorliegen, nicht auf die
Ausgaben und Maßnahmen warten. Es wird einfach sofort
zurückkehren. Also
sollte in diesem Fall tatsächlich passieren, da Sie der
Hauptzweck des Programms sind dass es die Verbindung akzeptieren sollte die Verbindung
anfordert Unterstützung , die Sie nicht
nicht haben Kunden, also Debit, gibt
es daher keine Kundenanfragen. Es steht also außer
Frage, es zu akzeptieren. Deshalb sind Sie sofort
zurückgekehrt. Sie können also nach einiger Zeit
anrufen, außer Funktion on aufrufen. Und Sie wissen, dass es
erneut prüfen wird, ob es
eine Finanzierungsverbindung gibt ,
und es ist besser, sie wird sofort zurückkehren. So können Sie die gleiche Aktivität
nach einer gewissen Menge selbst
tragen , tragen. Wir
machen das Gleiche. Dies ist der Servercode. Ich erkläre dir Zeile für Zeile
die Anweisungen. Dann werden wir dieses Programm
zusammenstellen. Wir werden
die zerebralen Programme ausführen .
Seit wir ich sind. Socket blockiert nicht und
wir rufen die Exit-Funktion auf. Daher wird es einfach ein OT sein, der jeden Client
startet. Wenn es also noch gibt rufen
wir Texte auf, die auf dem Solver
funktionieren. Es wird einfach nicht warten, es wird sofort zurückkehren. Andere und netzwerkabhängig. Header gesehen, können
wir wieder die falsche Exit-Funktion der
Summe unter der Doc-Zeit falsch verlassen. Und wir werden sehen, dass das ESNet
ist, wenn es die Verbindung
akzeptieren kann , die
einige
Clientverbindungsanfragen in
Verlegenheit gebracht hat, und wenn nicht, wird es sofort wieder
über n
zurückkehren wird es sofort wieder
über n
zurückkehren. Client tatsächlich Schlafenszeit außer Funktion aufgerufen wird
und dann
akzeptiert es die Verbindung erfolgreich
zurückgegeben. Dies werden wir in unserem Programm
erreichen. Sie haben tatsächlich gekauft,
was ich zu sagen versuche, auch dies
wird durch Ich
erkläre Ihnen zeilenweise
Anweisungen. Mal sehen. Angenommen, dies ist ein Server-Socket-Programm
und wir kennen die Grundlagen. Eigentlich haben wir
bereits gesehen, wie man einen Socket und
die Details darüber
erstellt
und welche Funktionen erforderlich
sind, um den Dienst zu nutzen, den ich
zum Aufrufen der Hauptfunktion benötigt. Wir müssen auch tatsächlich zuhören, wir müssen auch die Verbindung
akzeptieren da wir uns auf
die außer Funktion konzentrieren werden. Lassen Sie uns nun sehen, dass
dies diese Setup-Header-Dateien enthalten soll , die Sie tatsächlich deklarieren müssen. Und das ist Ihre Hauptfunktion. Dies ist Ihre Hauptfunktion. Sie wissen, dass dies zwar Hauptfunktion ist,
ein Einstiegspunkt ist, um eine Ausführung
Ihres Programms zu starten. Wenn das Programm ausgeführt wird, wird
das Steuerelement in der allerersten Zeile
der Mittelfunktion angezeigt und es wird
zeilenweise nacheinander ausgeführt. Also was machst du, also zuerst,
was sollen wir tun? Soll Sie dazu bringen ,
tatsächlich einen
Socket auf der Serverseite zu erstellen. Und wir wollen
es als nicht blockierend machen. Und wir müssen, wann immer wir es mit
dem Server-Socket zu tun haben, müssen
wir ein Ziel erreichen, einige Funktionen wie wir zuerst von
Index-Server-Socket zu Portnummer haben, dann müssen wir hören Sie
sich die Portnummer an. Und das dritte, dass
wir
eine Aktion akzeptieren müssen, die tatsächlich Socket-Funktion
aufruft. Wir wissen, dass diese
drei Parameter die drei Argumente sind
, die wir übergeben. Es besagt, wenn der Unterstrich init ein Adressfamilien-Socket ist
und dies eine Art des
Sockets ist, den wir wollten, wollten
wir
einen Stream-Socket erstellen. Und dieses dritte Argument ist 0. So erstellen Sie
einen Socket und Sie
werden tatsächlich Socket nehmen. Wenn Sie den Socket erstellen, wird der Deskriptor zurückgegeben, den Socket-Deskriptor Silber
, den ich
als Master-Socket genannt habe, und es ist vom anderen Typ. Und du kannst sehen, dass ich es
deklariert habe, bevor ich es benutze. Dies ist eine Fehlerüberprüfung. Wenn das alles ist, kann dies
zum Ausfall schützen. So hat Ihr
Server-Socket God erstellt und dies ist der Deskriptor für
den
namenlosen Master
Underscore-Socket des Server-Sockets . Dann bist du jetzt fertig, du bist fertig, den Socket zu
erstellen. Das nächste
ist, dass Sie diesen Socket
nicht blockierend
machen müssen. Und wir hatten gesehen,
wie viele es schaffen. Wir haben genug
Präsentation gesehen. Mal sehen. Hier sieht man, dass es einen Mittelalter gibt, der hier erklärt wird. Sie können sehen, dass wir FC und TL
anrufen, das ist ein Systemaufruf. Und das tun wir auf diese Weise. Also
heißt dieser Systemaufruf tatsächlich, den ich
gesehen habe , bis wir diesen verwenden, wir müssen einen
Socket nicht blockierend machen. Daher
müssen wir breite sockel das nicht blockierende machen. Wir haben zu viele.
Dieser Server-Socket blockiert nicht und der
gesamte Vektor wird das erste Argument
sein. Dann das zweite Argument, das ist, dass wir gesehen haben, was ist der Zweck
dieser zweiten Sache? Zuallererst ist der
Sekundär ein Befehl, wir in der
Präsentation gesehen haben, und er wird verwendet, um den vorhandenen
Flex abzurufen. So wird dieses Flag
abgerufen und es wird auf
diesem Medien-Button
gesammelt , den
wir zuvor deklariert haben. Bei Meningitis eine
Fehlerprüfung. Und wieder müssen wir
diesem System namens GNP folgen oder das haben wir gesehen. Und wir werden das
erste Argument erneut als Socket übergeben
, den wir
als nicht blockierenden Socket machen wollen. Das ist der
Socket-Deskriptor des Servers. Welcher Socket, der den Namen des
Server-Socket-Deskriptors
zurückgibt , muss den Socket
offenlegen, dass wir ihn
übergeben, als ein erstes Argument
in diesem System bekämpft hat. Und in der Sekunde, in der wir diesen Befehl
übergeben, der
F Unterstrich ist , setzte den Gedanken. verarbeiten dieses
Flag zwischen Board, sowie wir
übergeben diese Option , die nicht blockiert ist. Dies sind die Flag-Optionen. Da wir also dafür sorgen müssen, dass
der Socket nicht blockiert wird, müssen
wir diese Option geben. Dies ist erforderlich Unterstützung muss. So erstellen wir
diese Art von Socket, dessen Name Masse
ist, tendenziell Socket
S im nicht blockierenden Modus zu bewerten. Also geben wir diese Option und dies ist die Fehlerprüfung. Sie können also sehen, wie diese Dinge tatsächlich verwendet werden,
um den Socket nicht zu blockieren, und diese
paar Zeilen werden tatsächlich
bei der Bearbeitungsprüfung hier
verwendet. Diesen Punkt hast du
verstanden, ich hoffe es. Ich erstelle einen Socket und
wir machen es als On. Das nächste
auf der Serverseite, was wir
tun sollen, ist, dass wir, wissen
Sie, dies ist eine Struktur. Wir nehmen dies als DDR
und es handelt sich um die Datentypen,
Struktur, Socke, ADD
oder Unterstrich INV, wissen Sie, was ist
der Zweck dieser Struktur? Wir müssen alle Mitglieder
dieser Medienfähigkeit besetzen , DDR. Sie müssen mit
der Portnummer dBspl, der Familie,
sowie wir haben diese DPLL. Da wir eine
Seitenleiste wünschen, die geneigt ist, auf
demselben Betriebssystem,
demselben Host-Rechner, tatsächlich
dieselbe IP-Adresse zu
kommunizieren demselben Host-Rechner, tatsächlich ,
bevor wir
diese Option IN ADD
oder Unterstrich NE geben . Hier können Sie nacheinander sehen, diese Variabilität,
die Durchschnittswerte, die wir hinzufügen, verknüpfen die Details, die
wir den Details geben, wir füllen sie mit diesen
Diensten, die sich an die Familie beziehen. Dies ist eine ungerade Zahl
, zu der sich der Server in diese Portnummer
einkaufen soll. Und das sind die Adressangaben. Wir wissen es. Was ist der Zweck dieses Ions, Tat das ARM-Quadrat ein
Bild, das ich in
meiner früheren Sitzung im
Socket habe , da wir möchten, dass der Server und der Client auf demselben
Host-Computer, lokalen Hosts, kommunizieren sollen. Also sollen wir das
geben und ich
möchte Ihnen
in der Volumesitzung detailliert erklären. Das Training selbst. Dann siehst du hier. Dann rufen wir
die Bind-Funktion auf dem Server-Socket auf, der
als Master benannt ist, oder können getragen
werden,
um
diesen Server-Socket zu binden getragen
werden,
um
diesen Server-Socket zu binden, also Master-Socket an
diese Nummer und der auch als
zweites Argument ist eine Betonung auf ADR, die wir hier
Filterdetails haben. Denken Sie nicht,
dass das Argument die Größe dieses ADR haben wird. Dies ist die Fehlerüberprüfung. Was macht dann wieder aus, was macht wir fallen?
Wir sind damit fertig. Jetzt sollten wir
tatsächlich auf diesen Socket hören
, also Server-Socket. Und so viel von
der ausstehenden
Leitungsverbindung können Sie alleine. So können Sie
je nach Anforderung alles geben. Dann wird die
Fehlerüberprüfung hier durchgeführt. Und dann du Die
Hauptsache fängt
an , du hast gesehen, dass ich weiter iteriere. Eigentlich werde ich nicht weitermachen. Es wird unendlich sein und
abhängig von diesem Ding wird
es dazwischen zurückkehren. Diese While-Schleife wird so lange
fortgesetzt, bis Sie
diesen Pizza-Code nicht zurückgeben. Also musst du
zurückkehren, um auf diese Schleife zu montieren, damit
du sehen kannst, was ich mache. Sie können hier sehen, dass ich die Exit-Funktion
aufrufe. Wie ich dir gesagt habe. Da wir es sind, sind wir damit fertig,
den Server-Socket als
nicht blockierend zu machen den Server-Socket als , und wir
rufen die Exit-Funktion auf. Es ist effektiv, das ist eine
Kundenanfrage, die nicht ist, Es wird nicht warten. Es wird es einfach an Bord drehen. Es akzeptiert die Verbindung, sie wird erfolgreich zurückgegeben. Wenn nicht, ist keine Verbindung vorhanden, es ist
keine Planverbindung vorhanden. Es wird sofort zurückkehren und es wird Ihnen den
Fehler dieses Metalls geben. So können Sie sehen, dass die
Exit-Funktion ist, wir rufen an, wir analysieren den
Server-Socket, bedeutungslose Masse pro Socket. Und diese Dinge. Das ist das, was eigentlich ist, und das gibt dir aber. Dies gibt Ihnen den
Clientdeskriptor, eigentlich Dateideskriptor. Dies ist Dr. Client
Socket Deskriptor. Sie suchen tatsächlich
nach diesem Minus. Dann gibt
dir das S minus eins. Eigentlich. Sie überprüfen
verschiedene Arten von Fehlern. Gibt an, wann dies
keine Clientverbindung ist, dh wenn Sie den Client nicht
starten. Offensichtlich, wenn Sie die
Exit-Funktion aufrufen und nicht. Ich starte diese Linie. Wie es also die Verbindung
akzeptiert, ist kein Client
vorhanden und es ist auch, da wir den
Socket nicht blockieren. Es wird nicht warten. Es
wird sofort zurückkehren. In diesem Fall
wird dies also minus eins sein. Dies ist also minus eins, wenn Sie nicht beim Starten
des Clients gesperrt sind und
Sie immer noch die
Exit-Funktion aufrufen , wird sofort
zurückgegeben. Daher
wird diese Bedingung zufriedenstellend sein, dh das Gerät ist mit minus eins
ausgeschaltet. Und in diesem Fall werden Sie für zu Hause verschiedene,
verschiedene Schecks. Sie werden also sehen, dass es Nummer bearbeitet
, da es
tatsächlich ausgeschaltet ist, es würde Typen blockieren. Dieser Fehler tritt tatsächlich auf, dieser Fehler bedeutet,
dass Sie
den Socket blockieren sollten ,
da keine Clientverbindung
besteht. Und deshalb hätte in diesem Fall das außer tatsächlich haben sollen, aber die USA, da Sie hatten, haben
Sie diesen
Socket nicht blockiert. Wir haben Sie
sofort zurückgegeben,
ohne auf die
Kundenanfrage zu warten. Und deshalb wird es Ihnen diesen Fehler
geben besagt, dass eine Störung
vorhanden ist und Sie
können daher einfach in diesem Fall, also nach einiger Zeit bedeutet
es, dass Sie nach einiger Zeit anrufen können dieselbe Funktion, die exit ist. Da zu dieser Zeit kein Aufstieg verbunden
war Newton und Start-Client und
daher gab es keinen Plan. Da dies Eta ist, können
Sie also können
Sie einige Zeit und wieder die Exit-Funktion
aufrufen. Sie können also sehen, dass diese
Anzeigemeldung kommt. Es gibt keine ausstehende Verbindung und Blackboard-Schlaf
oder zwei Sekunden. Also mache ich, um
so viel Zeit zu schlafen ,
eigentlich zwei Sekunden, was wird
dann passieren? Lass mich schlafen ist eigentlich fertig. Was offensichtlich passieren wird, wird es
wieder iterieren, Edge-Steuerung wird
hier tatsächlich wieder gehen, es wird die Exit-Funktion aufrufen
und es wird es wieder tun. Wenn das heißt, wenn Sie
bis zu diesem Zeitpunkt tatsächlich
eine Linie gestartet haben, die mit derselben Nummer verbunden
ist, akzeptiert sie
in diesem Fall die Verbindung und diese
Windrückkehr erfolgreich
. Und das wirst du nicht bekommen,
wenn die Bedingung erfüllt ist. Wenn Sie eine
nicht bedrohliche Zeile haben, ist dieser Socket-Deskriptor
nicht minus eins. Es wird ein Wert ungleich Null und daher
wird dies erfüllt sein. Und dann werden Sie diese
Nachricht über die
Serververbindung über diesen Client-Socket
selbst senden . Und deshalb
schreiben Sie eine Nachricht davon auf
den Client-Socket. Sie senden diese Nachricht, also diesen Sand, den Sie vom Serverprogramm
aus anrufen, von der Serverseite
auf den Client-Socket. Daher
geben Sie den
Socket-Deskriptor des Client-Sockets an. Und du übergibst
diese Nachricht MSG, die du gibst,
ist Test, hey, hi. Dieser Server sendet eine
Nachricht an den Client, die Sie auf der Leitungskonsole sehen können. So
verhält es sich beim Abschneiden. Ich zeige dir, dass du gekauft hast, was
wir hier versuchen. Lassen Sie uns das Programm jetzt klar kompilieren
und ausführen. Kommen Sie jetzt zurück
zu Domino, wenn das Programm
haben,
lassen Sie mich einfach zurücksetzen ,
damit Sie
klarer verstehen, dass wir es haben. Lassen Sie mich
diesen Artikel einfach entfernen und lassen Sie mich das Programm erneut
ausführen. Da wir
dieses Programm kompilieren müssen und dieses Programm in der C-Sprache
geschrieben ist , verwende ich daher
das GCC-Compiler-Tool, dem
das C-Sprachprogramm kompiliert wird das C-Sprachprogramm im Falle des
Linux-Betriebssystems und daher gebe ich DCC. Dies wird also standardmäßig in Ihrem
Linux-Betriebssystem
installiert. Es ist also einfach diesen Befehl
zu geben
und Sie werden sehen, dass er erstellt wurde. Jetzt kannst du
das einfach einen Punkt raus. In diesem Fall beenden
wir den Server, wenn Sie es selbst
ausführen . Was macht der Server
, da Sie gerade den Server starten
und danach
den Client nicht starten. In diesem Fall wird es tatsächlich
zurückgegeben, ruft die Lehrbuchfunktion auf. Es wird sofort zurückkehren. Es wird zwei Sekunden schlafen. Und wieder ruft es
die Exit-Funktion erneut auf, sie kehrt sofort
in den Schlaf oder zwei Sekunden zurück. Dies geschieht
also weiterhin auf der DNA und bis dahin, es
sei denn, Sie
starten Ihren Client nicht. Sobald Sie eine dunkle Linie starten, wird der Solver
einfach erweitert, wenn
der Konnektor erfolgreich ist und sendet zumindest eine Nachricht
vom Server an den Client. Also mal sehen, lasst uns als Dot Out
rennen. Sie können also hier sehen,
dass es keine
ausstehende Verbindung gibt. Es hat zwei Sekunden geschlafen. Schon wieder. Nach zwei Sekunden Rutsch kam
es wieder vorbei. Es ruft die Funktion auf. Schon wieder. Es gibt keine ausstehenden Verbindungen,
daher ist es sofort
zurückgekehrt und Porto
Sekunden wieder schlafen, dies ist eine fortgesetzte Nachricht
Ihnen tatsächlich, starten Sie Ihre Zeit. Lassen Sie mich oder langfristig neun, ich eröffne ein neues
Terminal wie dieses. Sie können also hier sehen, dass dieses
Terminal serverseitig ist. Dominant, dominant. Ich werde die Zeit benutzen, um die Zeit zu
starten. Also wie, seit dem Server In der Kommunikation, die wir tatsächlich auf demselben
Host-Rechner
machen. Deshalb verweile ich auf dieser
Kursmaschine
Terminal und verkaufe die neue Dominante
, die auf diese Weise ist. Und ich werde tun, ich werde tun, um mich mit dem
Server zu verbinden, tatsächlich muss
ich Telnet Localhost
0 Entfernung dieser Server-Client auf
demselben lokalen Computer befindet. Ich gebe lokalen Host
, also IP-Adresse bei 0
oder t, da der Server an diese Portnummer
gebunden ist an diese Portnummer
gebunden , die wir
in unserem Programm gesehen haben. Also einmal schulden Sie, können Sie
hier sehen , wenn ich zehn Minuten mache,
was passiert ist? Es Zentimeter, es ist
mit dem lokalen Host verbunden. Und diese Nachricht hat es bekommen, hey, hi Thrombus-Server. Mal sehen, was beim Solver
passiert ist. Wiederum, sieh dir innerhalb von
Monaten an und erhalte eine Nachricht. Sobald Sie diesen
Client starten,
senden Sie tatsächlich eine Anfrage von Ihnen
haben gesehen, dass ich zehn mache. Lass es in diesem Fall,
was ist passiert? Bennett hat einfach
die Verbindung akzeptiert, es war erfolgreich. Und deshalb wird es sagen Verbindung
muss und
es wird Artikel melden, welche Botschaft es großartig ist, Wir haben gesehen, wie hoch
wir vom Solver
auf den Zeitsockel schreiben , den
Gott hier gezeigt hat. Dann fügen wir hinzu, dann
haben wir uns von
dieser Verbindung getrennt , die
von den Autoren- und
Host-Bits, die wir gesehen haben, die wir
in unserem Programm tun. Das ist es also, das passiert,
nicht alle werden wieder, es wartet tatsächlich da wir es
in die Endlosschleife gebracht haben. Wenn wir, intellektuell
wieder, gefällt uns das. Und lass mich das laufen lassen. Was wird passieren? Man kann wieder sehen, dass es ist, es muss eine Verbindung hergestellt werden. Es wird sie dazu bringen zu sagen:
Hey, Hi, also das
ist was, das war. Das passiert tatsächlich. Das Erstellen des Sockets
ist nicht blockierend. Man kann sehen, wie es
sich sexuell verhält. Jetzt komme ich zurück zu ja, ja. So haben wir das
erreicht. Ich denke, das Programm sowie die Ausführung des
Sockets
ist nicht blockierend. Client-Server-Kommunikation. So kann man eigentlich keine Zeilen
multiplettieren. Und dann auf der Seite senden
wir einfach
eine Nachricht an sie
und es wird kein Client gestartet, er wird einfach
sofort zurückkehren und Ihnen die Nachricht
geben. Es wird wieder schlafen oder
zwei Sekunden, es
ruft weiterhin die Exit-Funktion auf. In dieser Minute wurde eine kleine
Düne Ghetto verbunden. So wird es. Dies ist das Verhalten
und wir sind
mit dieser vollständigen Sitzung fertig . Eigentlich haben wir
jetzt gesehen, wie wir das Programm geschrieben haben, Sie haben gesehen, was der
Zweck von nicht blockierendem Socket ist, und wir haben das
Programm geschrieben und ausgeführt. Es. Das heißt nicht, dass
ich vorerst fertig bin. Danke, Freunde.
Danke vielmals.
27. Socket-Session16 ApplicationSocketProgramming: Hallo, Willkommen zu dieser
letzten Sitzung
des Kurses, dass diese Anwendung
der Socket-Programmierung. Hier werden wir Parallele sehen. Die Socket-Programmierung wird
verwendet und wir werden die realen
Anwendungen
sehen in denen die gesamte
Socket-Programmierung verwendet wird. Mal sehen, Schritt für Schritt. Also lasst uns zuerst schnell
über den Sockel informieren, den
wir bisher gesehen haben. Wir wissen, dass Socket, es ist eine prozessübergreifende
Kommunikation innerhalb derselben oder verschiedener
Hufe zu meiner Kette. So kann der Client auf demselben Host-Computer vorhanden sein ,
der während der
Socket-Kommunikationsprüfung
kommuniziert ,
kann auf
verschiedenen Host-Rechnern vorhanden sein. Im Diagramm wird es schnell
überarbeitet. Wir haben also gesehen, dass es einen Server gibt und
das ist ein Client. Wird verstehen, dass die
Identität des Silbers für die Bergung IP-Adresse
und die Portnummer
zugeordnet sein sollte, die
seine IP-Adresse und
Portnummer haben sollte, damit der Client, wenn die Kommunikation
mit der Zelle synchron
mit derselben IP-Adresse und der Portnummer, auf
der
der Server läuft, arbeiten mit derselben IP-Adresse und der müssen. Die Kommunikation. Wir haben gesehen, dass wir
dies phänomenal gesehen haben und
kommunizieren daher Beeinträchtigung,
leichte Rückgänge. Sie kommunizieren
über das Internet. Ich habe eins nach dem anderen angefangen. Die Anfrage wird gesendet
und wir werden je nach
Programm,
was Sie konfiguriert haben, in der Warteschlange stehen . Wenn Sie kein Gefühl haben,
sollten Sie ablehnen und in der Warteschlange
handeln, dann wird es passieren. Wenn Sie in diesem Fall nicht möchten, dass nur eine Leitung
mit dem Server kommuniziert, möchten
Sie nicht, dass sich eine andere Art von Verbindung
in der Warteschlange befindet. Damit wir unterschiedliche,
unterschiedliche Funktionen daher
Bürgersteig oder der Kunde gesehen haben, haben
wir gesehen, dass dies nur eine Überarbeitung
ist. Gehen Sie nun durch die Bereiche, in denen die gesamte
Socket-Programmierung verwendet wird. Dies ist eins nach dem anderen, das
ich beschrieben habe, daher bietet es die Möglichkeit, die
Echtzeitanalysen zu implementieren. Was ist diese
Echtzeit-Analytik? Sie wissen, dass Echtzeitanalyse Analyse der DNA-Zeit
bedeutet, aber
ihre Analyse wird durchgeführt. Wenn du zum Beispiel anders
gehst, würde
ich sagen flipkart.com,
amazing.com. Sie können sehen, dass Sie, wenn
Sie annehmen, dass Sie zwei Parteien haben, wenn
Sie ein Mobiltelefon haben, in diesem Fall sehen können, dass die dazwischen liegende Einkaufsseite
Ihnen das Display außerhalb des Bildschirms bietet,
während Sie abdecken alles
weil du hackst. Du suchst nach
dem Handy. Sie sind also sehr klug genug, um diese Dinge zu zeigen. Das bedeutet also, dass
Sie später
den dünnen Garten kaufen werden , der mobilisiert während Sie das Handy
jagen. Dies ist das, was alles an der
Echtzeitanalyseanalyse auch Beispiele ist. Angenommen, Sie
suchen in jeder Einkaufsseite nach einem Kleid. Besuchen Sie verschiedene Instagram oder Facebook, Sie können sehen, dass
Sie
das Erwachsenenalter des Kleides selbst bekommen werden . Damit
Sie später diese Seite durchgehen können und einkaufen können. Hier geht es also um die
Echtzeitanalyse, Analytik. Das heißt, was auch immer Sie in Ihrem Browser
suchen, diese Daten
werden gespeichert
und die vor Ihnen stehen,
wann immer Sie gerade sind. Der Benutzer wird sich um
die bestimmte Sache kümmern, die
sich auf oder Verschiebung befindet. Es ist nur ein Idealtyp. Das ist die
Echtzeit-Analyse. Die Socket-Programmierung wird also auch für Instant Messaging
durch die Domino-Logik
verwendet und
versteht das Senden der Nachricht, Sofortnachricht an den Socket. Dort wird die Kommunikation mit unserer
Programmierung genutzt. Dann für das binäre Streaming sowie für die Zusammenarbeit von
Dokumenten. Für all diese Zwecke wird
die Socket-Programmierung in diesen Bereichen verwendet. Dann wird es auch zum
Erstellen des Servers verwendet. Investoren wie Webserver, Mail-Server, FTP-Server
und andere Server. Wir hatten also gesehen, dass es
Server und Client gibt, auf denen die
gesamte Socket-Programmierung verwendet werden
kann den Server
wie Webserver,
Mail-Server,
FTP-Server zu
erstellen . Diese FTP-Server sind mit
dem
Dateitransport verknüpft. Das Wichtigste, was Sie können, können Sie
verstehen, was es für den ist, in Bezug auf das Senden der
Mittel den Server dafür. Die gesamte
Socket-Programmierung wird verwendet. Und wenn Sie über
die Clientseite sprechen, dann werden die Browser, die Firefox
sein können oder gezüchtet werden können
, also Socket-Programmierung. Dies sind die Bereiche, in denen die
gesamte Socket-Programmierung
oder andere Bereiche verwendet werden. Die meisten dieser Glaubensprotokolle auf
Anwendungsebene. Sie haben File Transfer
Protocol, SMTP, POP3,
große Neuigkeiten OK, Socket gesehen , um die Verbindung
zwischen Client und Server
herzustellen. Und zum Austausch von Daten wissen
Sie, dass FTP verwendet
wird, um
die Datei vom
Server auf den Client zu übertragen die Datei vom
Server auf den Client zu ,
so dass die gesamte
Socket-Programmierung dann zum Senden der Mail
verwendet wird , für verschiedene Dinge zu senden, eigentlich all diese SMTP als
Nachrichten auf der Töpferei. All diese Dinge sind, sie werden den Sockel benutzen
. Dies sind die Anwendungen
, die Sie durch
Socket in der Kommunikation zwischen
Server und Client machen. Dies sind all die Ideen, bei denen die
gesamte
Socket-Programmierung verwendet wird, dieses FTP, SMTP, und hoffentlich
sind dies die Protokolle. Nun, eine andere Sache,
bei der alle Sokrates verwendet wurden, war
ich im Sockel zwei, also haben wir sie in
Socket-APIs gesehen, all das. Es ermöglicht dem Programmierer, fortschrittliche Internet-,
Intranet- und andere
Netzwerkfähigkeitsanwendungen
zu
erstellen Intranet- und andere
Netzwerkfähigkeitsanwendungen , um
die Anwendungsdaten
unabhängig vom
Netzwerkprotokoll
über den Draht zu übertragen die Anwendungsdaten
unabhängig vom
Netzwerkprotokoll
über den Draht verwendet wird, wird die
gesamte
Socket-Programmierung verwendet. Dann. Wenn Sie in Bezug auf die
Echtzeit-Anwendung sprechen, handelt es sich um die
Echtzeit-Anwendung, auf der Sokrates dieses Programm gesehen
haben. Dafür haben wir
die Echtzeit-Chat-Anwendung
zwischen Server und Client durchgeführt die Echtzeit-Chat-Anwendung . Wir haben diese
TCP-Kommunikation
und für Windows und
für Linux selbst gesehen . Wir haben das
Programm
auch ausgeführt , wie die
Serverbox zum Client, Client mit Server spricht. Dies ist die
Socket-Programmierung, das ist eine
Echtzeit-Chat-Anwendung. Dann andere Echtzeit-Anwendung
, bei der Socket verwendet wird. Wir haben die Kommunikation des HTTP-Apache
Servers
mit dem Clientbrowser gesehen . Also hier haben wir auch
dafür programmiert, aber nicht. Wir haben gesehen, dass der
Browser Mozilla sein kann,
wenn der Benutzer einen Link auf der Clientseite gibt, kann
Internet Explorer in jedem anderen Browser angebaut werden. Immer wenn der Benutzer
eine URL angibt
, ist dieser Browser
selbst ein Client. Die Anfrage wird also an
den HTTP Apache-Server weitergeleitet. Und dieser Kundensinn ist jedoch, dass
wir die Kommunikation mit dem Server in Bezug auf das
Senden der Nachricht in Bezug auf das Header-Format durchführen. Wir haben dies
beim Verständnis
dieser Sitzung gesehen , weil ich zuvor behandelt
habe, wie würde der Client die
Nachricht im
Daumenhoch-Header-Format an die Seitenleiste senden und wie der Body durch Senden
reagiert Header
und Body an den Daumen, Insulin auf der Seite oder traurige Web-Anreizreaktion auf Client und die Seite wird geladen,
unabhängig davon, was der Benutzer
die URL im Browser angegeben hat , die bezahlt wird, wird geladen. Also haben wir bereits
die Programmierung für diese Formel
sowie Paulina durchgeführt. Also haben wir diese
reale Anwendung gesehen. Diese Socket-Programmierung wird in einer anderen Anwendung
verwendet, Echtzeit-Anwendung ist für Taxi-Buchungsanwendung auf der Socket-Programmierung verwendet. Dies sind jedoch die Bereiche, in denen die
gesamte Socket-Programmierung verwendet
wird. Ich habe es für diese letzte
Sitzung dieses Kurses getan. Jetzt sind wir mit
dem kompletten Kurs fertig. Danke. Danke vielmals.
28. SocketSession17 SourceCode: Ich habe den Quellcode für
alle Socket-Programme, die ich
in diesem gesamten Kurs behandelt habe. Sie können es also verweisen,
nachdem Sie
den Vorstand verstanden haben, den ich
in verschiedenen Sitzungen erklärt habe.