TCP/IP Programmieren von HandsOn-Windows und Linux in C & C++ | Sonali Shrivastava | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

TCP/IP Programmieren von HandsOn-Windows und Linux in C & C++

teacher avatar Sonali Shrivastava, TCP/IP Socket Programming HandsOn-Window

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Socket-Session1 Übersicht

      17:31

    • 2.

      SocketBasicsPart1

      12:46

    • 3.

      SocketBasicsPart2

      21:16

    • 4.

      SocketSession3 Part1 TCP OSIModelPreview

      4:06

    • 5.

      Socket Session3 Part2 TCP Netzwerk Layered Architektur OSI

      14:10

    • 6.

      SocketSession3 Part3 TCP OSIModel RealWorldExample

      16:35

    • 7.

      Socket Session4 ServerClientMethodsWindows Part1

      21:38

    • 8.

      Socket Session5 ServerClientMethodsLinux

      20:41

    • 9.

      Socket Session6 Unterschied ServerClientMethods für Windows Linux

      12:35

    • 10.

      Socket Session7 ProgramExecution ServerClientCommunication Windows C++ Part1

      20:50

    • 11.

      Socket Session7 ProgramExecution ServerClientCommunication Windows C++ Part2

      20:18

    • 12.

      Socket Session8 ProgramExecution ServerClientCommunication Linux C Part1

      18:42

    • 13.

      Socket Session8 ProgramExecution ServerClientCommunication Linux C Part2

      16:28

    • 14.

      Socket Session8 ProgramExecution ServerClientCommunication Linux C++

      24:20

    • 15.

      Socket Session9 verstehen UnderstandingHTTPServerClientCommunication

      28:19

    • 16.

      Socket Session10 ProgramExecution HttpApacheServerClientCommunication Windows C++ Part1

      19:08

    • 17.

      Socket Session10 ProgramExecution HttpApacheServerClientCommunication Windows C++ Part2

      13:27

    • 18.

      Socket Session11 ProgramExecution HttpApacheServerClientCommunication Linux C

      20:32

    • 19.

      Socket-Session12 Blockieren der non MultiClientServer auswählen 1stHälfte

      23:47

    • 20.

      Socket-Session12 Blockieren von non MultiClientServer auswählen 2ndHälfte

      16:42

    • 21.

      Session13 Programm und Ausführung UsingSelect 1stHälfte auswählen

      28:53

    • 22.

      Session13 Programm und Ausführung MultiClientServerComm 2ndHalb Part1

      18:26

    • 23.

      Session13 Programm und Ausführung MultiClientServerComm 2ndHalb Part2

      12:50

    • 24.

      Session13 Programm und Ausführung MultiClientServerComm 3.

      26:22

    • 25.

      SocketSession14 Makingsocket als NonBlockingSocket MultiClientServerCommunication

      29:23

    • 26.

      SocketSession15 Programm und Exekutive Makingsocket als NonBlockingSocket MultiClientServerCommunication

      30:26

    • 27.

      Socket Session16 ApplicationSocketProgramming

      8:29

    • 28.

      SocketSession17 SourceCode

      0:15

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

329

Teilnehmer:innen

2

Projekte

Über diesen Kurs

Hast du jederzeit die Kommunikation zwischen 2 Prozessen durchgeführt? Wenn NEIN dann die Kommunikation der Socket Server Client gut ist, um mit dem zu beginnen.

Dieser Kurs umfasst die Socket-Programmierung auch für Windows und Linux in C und C++

Es deckt mehrere socket und die Ausführung davon für Windows und Linux ab.

Abdeckt auch das Blockieren und Blocking von Sockeln mit Programmerklärung und Ausführung davon.

Habe den Quellcode für alle socket freigegeben.

Es ist eine großartige Technologie, Pluspunkt zu deinem Lebenslauf hinzuzufügen.

Learning Socket Programming zahlt dir in der heutigen IT-Branche Wert und money mehr.

Warum Socket-Programmierung lernen ?

Es ist auf Nachfrage Technologie wird bis jetzt fortgesetzt.

Neben der CPU-Architektur, Speicherplatz und verschiedenen Algorithmen kannst du effiziente Programme erstellen und in dieser IT-Branche in der Liste der guten Programmierer stehen.

Du kannst jedes Interview knacken und in dieser IT-Branche leuchten, da die Socket-Programmierung on-demand ist.

Warum der Kurs für dich die beste Entscheidung ist?

Am Ende dieses Kurses erhältst du nicht nur detaillierte Kenntnisse über die Socket Server Client von Grund auf für Windows und Linux, sondern erhältst auch Kenntnisse über Netzwerkschichten und wie sie wichtige Rolle bei der Verknüpfung von der Quelle zur detsination. spielen.

Du wirst loswerden, Socket Server mit der Ausführung davon auch unter Windows und Linux zu schreiben.

Versteht sich in der Tiefe über das Blockieren und non-blocking von Sockel und kann Programme schreiben und ausführen.

Du wirst auch in der Lage sein, die skill logischer und verbaler Weise zu entwickeln.

Es führt zu deinem Wachstum und deinem shine bei.

Du kannst jedes Interview in der heutigen IT-Branche knacken.

Dieser Kurs deckt alle grundlegenden Konzepte der Socket Programmierung mit dem Thema "wie man kodiert" ab, sondern legt auch Details "Warum es erforderlich ist und wie wichtig es ist", damit alle Konzepte von Grund auf gelöscht werden und du jedes Interview knacken kannst, das technische Antworten gibt, die alle Punkte abdecken.

Triff deine:n Kursleiter:in

Teacher Profile Image

Sonali Shrivastava

TCP/IP Socket Programming HandsOn-Window

Kursleiter:in
Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

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.