Transcription
1. Aperçu des sessions1: Et bienvenue à cela. Autrement dit, la programmation de socket DB CPU ou se mêle comme le sait merveilleusement, en utilisant C acheté ainsi que C plus plus. Donc, ici, au cours de cette session, je vais énumérer les sujets que nous aborderons dans l'ensemble de ces objectifs. Donc, les métaphores, l'optique, je comprendrai les concepts de base de socket pour saisir que ce Amanullah il John lié afin de comprendre si la programmation socket. Ensuite, puis ensuite. Et nous avons vu l'architecture DCP, qui est également appelée architecture naturelle, aussi goin comme modèle OSI. Donc, ici vous voyez les composants du réseau d'eau ainsi que nous allons voir comment l'ombre afin d'apporter la communication de prise. Et nous comprenons cela avec l'exemple du monde réel. Ensuite, la prochaine session, nous verrons cette configuration, qui est nécessaire pour bombarder communication
socket pour les deux fenêtres ainsi que B néant. Nous verrons également différentes fonctions de socket, qui est également appelée comme méthodes pour le cyber. La guerre décline pour Windows et Linux. Et une légère différence dans les fonctions de socket pour Windows et Linux, nous allons voir que vous avez session, ne comprendre la différence entre Windows OS afin d'apporter la communication socket. Donc, nous allons voir quel est peu la configuration, donc les fenêtres. Et une configuration de bac est donc celle de Lena. Alors, comment ont-ils posté quels fichiers d'en-tête sont nécessaires pour être ceux qui fois sur l'obligation de socket et les fichiers d'en-tête sont requis ou Linux. Ensuite, nous verrons ce que toutes les différentes prises rencontrées parties sont là quelque soit. Et neuf pour Windows et le robot socket manipule notre quantité nette. Donc, c'est très légèrement amis et les méthodes de socket. Nous allons donc voir toutes ces différences dans cette section. Ensuite, la prochaine session, nous allons commencer avec programme
socket et nous allons également l'exécuter. Fenêtres barrées comme Venise pour nous. Donc, ici écrire différents programmes. Donc, ce sera bien la communication de socket de programme entre le serveur et neuf. C' est le plus simple cyber à neuf Jack de négations que nous
verrons et nous allons également les exécuter pour ceux. Et nous comprendrons aussi les autres. Programme de hockey, o sur SCTP, Archie Cyberduck communication à neuf socket sur le PC, Barbie dans ces aspects. Seulement sait et nous allons également les exécuter de cette manière, être la construction de tous ces programmes. Ensuite, l'autre session, nous verrons ce qui bloque ainsi que ce sont des sockets non bloquants. Et même écrire ce programme ou la scène et l' exécuter afin de les comprendre plus. Mais nous verrons aussi comment atteindre mon serveur de déclins. Et nous verrons que nos différentes approches pour Obama, je pense que la communication socket de neuf serveur. Donc, la première approche de base, boire quelle ligne faire cependant ? Ainsi, vous pouvez comprendre que nos clients, que l'on met sur la salve niée et créer plusieurs fils. Donc, ce rayon décide et passe par cette approche. Donc, nous allons voir quels sont les inconvénients sont là dans l'utilisation cette approche n'est pas recommandé d'utiliser NAT à l'étranger. Et donc que je voudrais approches qui ont commencé afin d'éviter ces désavantageuses. Donc, l'approche suivante consiste à utiliser la Basilique. Donc, même voir ce que sélectionne et quelle est son importance pour atteindre la communication par satellite multipliée. Ainsi, les gens le comprennent plus efficacement en écrivant et en exécutant. Mais le système d'exploitation Linux. Ensuite, nous verrons aussi l'approche qui est de faire cela occupe Nagasaki et ne réaliser multi-ligne je suis négation. Donc, nous allons écrire le programme et l'exécuter dans le nez afin de rencontrer le socket comme non-bloquant et
afin d'obtenir une communication de serveur multi-client sur donc j'ai le code source pour tous les programmes socket, la cohorte géante dans tout cela. Donc, vous pouvez exiger, après avoir compris la nourriture que j'avais expliqué sessions. Donc toutes ces choses, nous avons déjà fait ça et cause terrible. Je l'ai décrit en bref. Donc, je l'ai eu comme je vous ai expliqué ce que chaque session nous allons à des sujets que nous allons offrir en effet. Alors voyons. Première session, nous allons voir les bases de la programmation socket. Donc, cette session est dédiée à toutes les lois amino, celles qui
sont liées à la programmation socket. Comprendre la communication entre le serveur et les aveugles. Nous verrons ce que fait socket, que dois-je taper source socket est disponible. Et dans les terminologies de socket liées à ce domaine et ce qui est le protocole de communication. Donc, toutes les terminologies liées à la programmation de socket que vous serez, vous verrez. Mais toutes les méthodes sont utilisées pour la paroi cellulaire et les méthodes de marbre sont utilisées pour la ligne afin de bien la communication de socket à billes entre le serveur et le client. Donc, toutes les pièces qui sont liées à la prise que vous couvrirez dans cette toute première session. Donc, c'est beaucoup la visite de rubrique afin de commencer la prise de négations. Donc, la prochaine session est dédiée à l'architecture ECP, qui est également appelé comme une architecture négative ou cour, mais toujours appelé comme modèle OSI parce session très importante. Donc, ce problème. Tout le réseau qui est des composants de netbook qui sont nécessaires pour apporter la communication de socket entre les lignes de solvant. Alors comment les composants communiqueront les uns avec les autres afin que notre sept Lion présence. Alors rivaliser l'architecture que j'ai décrit ici et dans cette session, j'ai passé par des conférences, mais la bobine de soutien de musique sera la liste. Mais par défaut, cette conférence sera distincte. Architecture de la couche réseau. Donc, ce sera sept composants ont été différents réseau Leo's. Je vais donc vous expliquer quel est le but de chaque E/S réseau de couche. Donc, c'est beaucoup B6 et vous le trouverez plus d'investissement. Vous comprendrez comment ces composants réseau communiquent les uns avec autres afin d'apporter la communication de socket bien avec cette information, avec cela déjà jours dans la première conférence, et nous couvrirons la deuxième conférence de la même session, que je vais vous expliquer que des exemples du monde réel et l'équité sombrer avec l'architecture de la couche réseau qui est l'avatar de l'audio architecturé TCP. Dans cette conférence, vous comprendrez un autre exemple du monde réel, vid.net Leo. Je vais donc vous expliquer comment ces composants réseau, comment ces réseaux jouent un rôle important dans l'exemple réel. Donc, cette deuxième conférence éclairera tous vos concepts des sept Leo's Network de l'architecture PCP. La session suivante qui est enseignée session qui serait liée à la méthode client de la barre latérale de socket spécifique de Windows. Donc ici, je vais énumérer méthodes clientes du serveur de socket de
défense qui sont utilisées pour le système d'exploitation Windows. Donc je vais le couler avec le, donc ceci est dédié à cela. La prochaine session sera terminée. Linux ligne de serveur socket spécifique contre la pensée avec l'ancien. Donc, ici encore la même chose, mais ce sera spécifique au système d'exploitation Linux. C' est la différence très minimale entre les poètes Rita utiliser pour cyber appliquer ce que les fenêtres ainsi que pour le leader. Ensuite, nous verrons la prochaine session. Cette différence entre le système d'exploitation Windows spécifique ainsi que le socket
spécifique frapper système d'exploitation Windows. Quelles sont mes pensées sont que les méthodes immortelles ou net Bolinas et travailler sur nos différences sont là entre Windows et Linux. n'y a que peu de méthodes qui sont différentes. Une forme spécifique, Windows et Linux. Et il n'y a pas beaucoup de différence sera également vu ici dans cette session. Ce que nos fichiers d'en-tête que vous devez utiliser si vous avez deux en vrac bras socket programmation pour système d'exploitation
Windows et comment il est différent pour le système d'exploitation Linux. Ensuite, nous verrons ce qui est configuré est nécessaire pour système d'exploitation
Windows afin d'effectuer la programmation de socket, ce qui est que nous construisons un démarrage est nécessaire, mais le système d'exploitation Linux. Ensuite, dans cette prochaine session qu'une session six, j'ai Gvd Windows spécifique programmation socket TCP en C plus plus. Donc ici ceci,
ceci, c'est la communication socket de base entre le cyber et comment la cartographie aura lieu entre le serveur et le client. Et cela, cela sera vu pour le système d'exploitation Windows. Et nous allons écrire le code en C plus. Donc, cela vous aidera à écrire le programme sur l'IDE ou doc ID VB en utilisant et comment la communication a lieu en les exécutant. Et la prochaine session sera cependant, programmation
socket en C et C plus,
plus ce que le système d'exploitation Linux. Donc, cela semble la programmation socket avant le système d'exploitation Linux. Et lors de l'écriture de la puissance ainsi que C plus. Donc, il y a deux conférences parce que j'ai couvert en C ainsi que je l'ai couvert C plus. Donc c'est encore une fois le programme. Vous allez écrire le code et l'exécuter pour le système d'exploitation Linux. Donc, dans la prochaine session qu'une session huit, peut-être comprendre une publication de ligne HTTP sur TCP. Donc, une fois que vous comprenez cela, la communication
VCB mal comporté couvert session 467 pour Windows et Linux. Ensuite, vous avez entré, vous comprendrez comment ce serveur HTTP neuf peut également être, la communication peut également se produire sur PCB. Donc, c'est notre gain, sera de faire le coordonnateur du programme pour avant. Dans cette session, nous comprenons poster appelé les concepts comment serveur
HTTP Apache communique avec le navigateur Klein sur leur PCP. Donc, je vais vous expliquer, bien que les choses comment Apache a dit ce qu'il communique avec le client, c'est chaque fois
que vous donnez un lien sur le navigateur, n'importe quel navigateur il peut être, qui est Mozilla, Firefox, ou Chrome. Ensuite, comment cette requête est envoyée du côté client est du côté navigateur à ce HTTP Apache côte à côte, et comment le serveur répond à ce déclin sous la forme de l'en-tête. Donc, tout ce que j'ai abordé au cours de cette session, je veux ce que fait cette ligne et qui a dit quoi et comment dit ce qu'ils disent ? C' est génère deux plan et maintenez la page se charge. Quelle merveille, quel que soit l'utilisateur a donné un lien sur le navigateur que cette session viendra rencontrer ou théâtre tous les concepts de serveur HTTP neuf publication. Donc, cela peut être si vous allez dans l'ordre selon la session, si vous avez acheté une nouvelle
session 60, session sept, et puis vous allez à la séance huit, alors ce sera en vous parce que donc presque la programmation est va écrire pour ça. Donc, la communication sera similaire. Méconium minimum V3. Donc, cette compréhension USB ceux que nous avons couvert toutes les sessions et les incréments ou bien. Donc l'indécision en dédicace sur le dos. Ensuite, la prochaine session sera la même chose qu'à propos de l'Afrique. Je suis dérangé par cette stupide communication STDP Cedric 9. Nous allons commencer cette session par l'exécution spécifique du bus
VW de la publication client du serveur HTTP Apache dans C plus plus. Donc, ce gâteau est requis conditions préalables. Donc, lorsque vous marchez à travers la session, alors vous seul devriez visiter la session. Parce que c'est la compréhension de la façon dont cette communication a lieu. Et après avoir compris la communication et fantaisiste, alors. Si vous avez le système d'exploitation Windows, ou vous pouvez écrire un code. Quel dB supplémentaire, serveur Apache. J' ai toute notre programmation et l'exécution ou comment je devrais vous donner un B27 communique avec Klein est D plus plus. Donc, nous faisons le programme pour cela et pour le système d'exploitation Windows en C plus y. Donc, le même programmé par pour le système d'exploitation Linux en C. Donc, selon le système d'exploitation que vous avez, si vous avez Windows, vous pouvez aller par le biais de cette session. Si vous avez une souris, vous pouvez passer par la session. Session. Étant donné BC, comment puis-je atteindre ma communication de serveur décline en utilisant le socket dans le système d'exploitation Linux. Donc, ici, étant donné une récupération tandis que le c. Donc maintenant très rapide conférence, nous serons forcés ce sombre bucky ainsi que les sockets non-bloquants. Même le même la toute première approche afin d'obtenir mois déclinent plusieurs communications à ce en utilisant la fonction select. Donc, même voir ce qu'une fonction select, select, comment il joue un rôle important et ce qui devrait arguments sont là. Donc, la prochaine conférence que nous verrons, nous allons écrire le programme et l'exécuter dans tous en utilisant la fonction select afin d'atteindre ma communication de serveur décline dans cet homme que je comprends même tout mon client ou Sybil par cette approche, en
utilisant la fonction select. Ensuite, dans la prochaine conférence, nous allons utiliser l'approche différente afin de réaliser mes déclins plusieurs communications. Et c'est la deuxième approche en faisant le socket comme non bloquant. Donc, nous allons voir comment l'utiliser. Je n'ai pas besoin de ceux qui sont nécessaires après avoir compris cela dans la conférence trois. Ensuite, dans la conférence quatre, nous allons écrire le programme et l'exécuter en faisant ce socket comme non-bloquant. Que cette pensée dans cette conférence trois, puisque même comprendre comment faire la prise est non-bloquant, Eh bien, la fonction eval est utilisé et ce podomètres que j'ai utilisé dans cette conférence en disant cette connaissance de celui-ci bulle dans la conférence trois nous allons écrire le programme et les exécuter, faisant le socket comme ne pas bosseler et comment atteindre multi-ligne je suis négation. Donc, ce gouvernant plusieurs programmes
afin d'atteindre mon déclin de la communication cellulaire par différentes approches différentes. Puis dernier, nous avons vu l'application de la socket. Il a donc noté que nous allons voir la ligne de prise des vétérans AVR. Sont, vous n'êtes pas en mesure de voir les exemples du monde réel dans lesquels le socket est utilisé. Donc maintenant de cette façon, nous allons couvrir toutes ces sessions dans cette poursuite contre CBR, accompagnant chacun et tout sur le système d'exploitation Windows, ainsi que pour le système d'exploitation Linux en C comme Venise, C plus plus. Donc tu trouveras ça plus intéressant. Et il est expliqué avec le programme d'ordinateur portable et l'exécution. Selon la Lena et les arcs en ciel. Vos objectifs. Je ne suis pas, si vous partagez vos commentaires comme des hommes, comme des lectures comme un moyen de ne pas la viande et m'a influencé pour publier ces vidéos à la demande. S-bar, votre besoin. Donc Tank, vos amis. Merci beaucoup.
2. SocketBasicsPart1 1: Bienvenue à cette session de base de socket, qui est Betty, AS session de ce vétéran des objectifs entiers, je suis vous faire marcher à travers différents sujets à est ce que cette socket, quels sont les types de la socket existent ? Qu' est-ce que la logique dominante est associée ? Douille. Afin de comprendre à la prise prise Rami session précédente et pourquoi cette prise est nécessaire. Quelles méthodes de socket sont disponibles sur Windows et le mur ? Les méthodes de socket sont disponibles sur les unités seront différentes. Alors commençons étape par étape. Passer au tout premier sujet, qu'est-ce que socket ? Prise ? Il s'agit d'une combinaison des deux nœuds. Mais notre prochain livre, ou vous pouvez dire la communication entre les deux processus. Laisse-moi te faire comprendre par digramme. Se déplacer vers les objectifs d'un adulte n'est pas la définition dit socket est une communication entre deux nœuds. Supposons donc que vous ayez
n4, n1, n2 et n3. Et comme il s'agit d'une communication entre les nœuds ou si netbook. Alors laisse-moi le nommer. Donc c'est un, c'est trois. Et la communication entre eux, c'est-à-dire. Et appelons ceci comme à Internet. Elle est vendue. Qu'est-ce que socket ? Il s'agit d'une communication entre les nœuds ou un réseau plus large qui est Internet. Donc oui, vous pouvez voir ici, nous avons payé ces n1 et n2. Ce sont les neuf noeud et ce noeud trois, comme je l'ai dit, quand aucun initialement émis ou discuter des détails à ce sujet en fait, sorte que vous comprendrez ce qu'une barre latérale, ainsi que ce sont la communication qui a lieu entre noeud un et noeud trois et noeud deux et noeud est la communication socket est via cette communication socket ou si national. Donc, cette définition qui est une communication désertique de nœuds bleus. Vous avez vu vérifier leur cou sur le réseau. Encore une fois, voir communication entre deux processus. Donc, cela peut être fait de sorte processus, processus
client un, processus deux. Et c'est ça que je vais fermer. Bien qu'il ne s'agisse pas de délais. Donc ce que vous voyez ici, vous comprendrez mieux. Donc il, j'aurais osé sortir, bien que sur le livre du cou, qui écoute sur le port particulier et a une adresse IP. On l'appelle comme une sorte d'un. Donc celui-ci a vraiment besoin de l'argent. Donc, il de chaque côté d'un mécanisme en fait on devrait être à l'écoute sur particulier commandé une adresse IP. Et soit il devrait envoyer la connexion en fait. Donc celui qui écoute, en fait ceci, le côté du mode élément et celui qui envoie la connexion. En fait, il y aurait bien des nœuds clients. Donc, ce sont le nœud client, c'est-à-dire le nœud un et donnez-lui un expéditeur et une action, vous savez. Et ce Nord écoute en fait, donc ce fort comme ce côté de lui devrait être et ce numéro de port particulier et il devrait avoir une adresse IP. Donc, supposons que vous avez, vous vous demandez la communication entre une machine hôte
différente qui a un système d'exploitation différent, une machine différente. Donc, vous savez, Prudence, si vous êtes connecté ou si elle se déplace, alors les adresses IP de la machine stupide, certaines données doubles se vanter machines qui sont connectés ou si netbook beaucoup il avait eu une adresse IP et Adam à cette adresse IP. Donc, si vous voulez que la communication de socket ait lieu, donc on devrait être aligné, on devrait être subtil. Donc, ce côté de l'art, que vous pouvez décider, le mécanisme est qu'il devrait écouter. Il devrait écouter le numéro de port particulier ainsi que l'adresse IP. La machine humaine a une adresse IP. Chaque machine a une adresse IP. Donc, il devrait écouter, il devrait écouter en particulier. Vous verrez tous les mécanismes pas à pas. Qu' est-ce que l'écoute en détail et quelle est cette adresse IP ? Quel est ce numéro de port ? Donc juste pour vous faire comprendre, juste pour visualiser, faire,
visualiser ce que exactement la lumière du soleil comme les hommes en tant que clients. C' est donc ce que j'ai mentionné. Donc, passer à la suivante. C' est une note importante. Chaque processus qui créent le socket pour la communication. Le point suivant, les deux processus peuvent communiquer entre
eux et il plié la socket a le même domaine ainsi que le type de socket. Donc, ne vous inquiétez pas de ce domaine d'adresse et le type de socket, toutes ces terminologies et vous faire comprendre et d'autres diapositives. Donc juste comprendre que plus important ou ils disent que ce processus est en fait manquant de communication intermédiaire. Un pour communiquer là-bas. Et ils ont mesuré à travers la prise. Vous auriez dû avoir une socket réellement créée pour eux. Donc, supposons que personne ne pensait qu'en tant que nœud client, avoir à ancrer avec la route sud ou quoi ? Cet internet. Ensuite, nous devons créer une socket pour ce neuf noeud. Et nous devons créer le socket pour le mode serveur. Et le second à ce sujet est de dire que si vous créez une socket pour le neuf volts, disons le nœud un. Si vous créez également le socket pour le logiciel qui est le nœud 3, alors le type du socket. Et puis probablement la même chose. Donc, je vais faire votre quel est le type de socket et ce que le domaine des centres. Mais juste fabricant d'outils, sans doute que FindAnswer, Pourquoi devrait avoir la même adresse domine occupé. Voyons donc ce qui fait toutes ces idées dominantes. Donc, ce domaine d'adresse, que je pensais dans la diapositive précédente. Donc, si vous parlez de l'adresse Doumani à nos types de nourriture de dope. Et en supposant que le premier est la description de domaine unix est que les deux processus. Mais en partageant le système de fichiers commun, la société lui a donné l'adresse de la socket. Ce sera la chaîne de caractères, qui est ensuite entrée dans le système de fichiers. Donc, le domaine d'adresse, que j'ai dit que c'est le premier est un domaine unix bien que c' une chose simple en fait que si les deux processus de plus de 90 pour communiquer entre eux par stock lui donneront un dedevenir par le biais du système commun de tuyauterie. S' il pensait à l'égard de l'isolé sera le partage de l'écossais par le système. Et l'autre chose est que s'adresse missionnaire, que ce
soit pour cette socket avec un type de données de chaîne, qu'il s'agit du domaine unix en fait. Et je ne suis pas bon. Dipole, l'adresse domine ce domaine infini. Donc V2, pour voir ce domaine Internet, vous allez l'utiliser, le plus couramment utilisé en fait. Donc, dans le, dans l'image de la sonde et
récupération unité de récupération miracles incorporables est le plus couramment utilisé. Alors, qu'est-ce qui va se passer ? Ici ? Les deux processus qui s'exécutent sur cette machine hôte communiqueront sur Internet la même chose, que je ne connais pas. Donc, deux processus disent que le noeud un et le noeud trois, car ici le n1 fournit le noeud et le noeud trois. Donc noeud, donc ces deux noeuds en fait le soulèvement sur différentes machines. Et donc ils seront niés ou ce que l'internet, s'ils communiquent ce qu'ils signifiaient réellement cette bobine, leon ayant à ce domaine sur l'infini homing. Et les adresses de la socket de l'is-une
adresse prévue était mon semble simplement dire que oui,
que les adresses ou cette machine ou cette machine qui est désignée par
l'événement qui se passe par l'adresse IP ou adresse
IP de la machine m'a rendu visite à la fabrication d'un tambour. Et cet ensemble de l'élément ONE, en fait, il aura l'adresse IP de l'adresse IP de la machine num. Le satellite est en cours d'exécution. Donc, il est aussi simple que vous pouvez le comprendre et ce diagnostic. Donc V0, V0 faisant usage du domaine prévu parce que c'est le plus couramment utilisé. Donc, c'est tout sur les données d'entropie sur leur adresse Internet sera sur le groupe Kentucky il. Donc, tout est à propos de ce domaine, que nous avons pensé et ce type de socket. Donc, nous avons vu dans la diapositive précédente en fait la note importante processus manuel qui communiquent les uns avec les autres. L' homme qu'ils ont le même ou détruire moi et Saint type socket. Donc maintenant, vous pouvez comprendre que si le noeud fournit le noeud et le noeud trois est un ensemble d'inconnu. Et en fait, il peut avoir à rencontrer la communication sur la socket en utilisant la socket entre Norman et noeud v. Donc, ils devraient avoir le même domaine d'adresse. Donc, je ne sais pas, devrait avoir en fait que ce domaine en tant que domaine unix, s'il a un domaine unix que 3D cellulaire connu devrait également avoir le domaine unix. Et si vous voulez le code indenté, en fait que je vous ai expliqué, alors la normale devrait aussi avoir le domaine du dîner comme adresse. Et le nœud trois, il y a beaucoup plus de détails ont également envisagé albinisme dans le dîner. Donc, bien qu'ils aient la même chose, soit ils devraient avoir les
deux des unités pour moi, soit ils devraient avoir, cependant, infini. Et la deuxième chose est que vous pensiez devrait avoir la même prise directement au nœud un et au nœud trois afin de communiquer le véhicule sur la prise. Alors voyons ce que ce type de socket fait ? Il existe deux types de socket en fait. Donc, c'est un positron est juste socket de flux et le socket de datagramme point moins non financé. Voyons donc ce qu'est ce socket de flux. Donc, il utilise le protocole TCP. C' est donc un protocole de contrôle de transmission. Alors qu'est-ce qui a brisé épistémiquement le cycle, sorte que j'ai traversé une fois en fait, ce que j'ai probablement fait. Donc, le protocole TCP aura un ensemble de règles réellement enrichir le socket de flux sera ou sera. Et oui, le socket in-stream vient il communiquera comme un flux continu de protection. Alors quoi, quel est le comportement de la socket de flux ? Par stonewall, il utilise le protocole TCP sombre et l'activité de communication non plus. Je suis ici, vous voyez le sable en fait, si vous utilisez Steam socket, donc la communication sera bidirectionnelle parce qu'une fois que cette connexion est développée, dans le cas de cette prise de courant continu courroie à un poubelle v3 transport. Cela se produit en cas de socket de flux de points. Et dans le cas de la socket de datagramme. Il utilise UDP, est User Datagram Protocol. Le message entier sera envoyé à la fois. Donc, il s'agit de la socket de datagramme. Donc nous allons voir à propos de ce protocole TCP et protocole UDP, comme je vous l'ai dit, ne regardez pas toutes les règles de configuration moyennes pour ce TCP seront définies racines dopées. Il est différent de celui de l'UDP. Et nous avons vu courant courant courant est flux électoral continu ou productif et être transformé dans lequel ici avec message sera envoyé à la fois. Alors maintenant, voyons ce que fait ce TCP et UDP. Donc, une fois que vous voyez cela, TCP et UDP comprendront quel est le socket de flux que vous devez utiliser, et quel est le socket de datagramme.
3. SocketBasicsPart2 de la basePartie2: Venir au protocole de communication. Donc, cela est appelé comme protocole de communication, fait UDP, protocole de datagramme utilisateur. Il est également désigné de cette manière qui est souligné ins et ce sol, c'est ce
que le diagramme. Alors qu'est-ce que vous battez en tant que protocole User Datagram. Donc oui, non, tout le message sera exécuté en même temps. C' est combien manger dans le cas du point d'entrée donné par l'utilisateur. Et ce n'est pas fiable. Parce que pourrait n'est pas fiable car supposons qu'il envoie les données d'un processus à un autre. Et supposons que C 9 descendant un jour les données sombres du serveur Windows ne sont pas des paquets formels. C' est un nombre d'octets. Si certaines données sont perdues entre les deux, mais non plus ceux de OK. Dans ce cas, cela ne comprendra pas comme toute perte de données du client au serveur, et aussi le client ne sera pas le même jour dommages perdus. Vous pouvez comprendre comment ça se passe. Il n'est pas fiable du tout parce qu'il avait même si le paquet est perdu, alors un de sorte que le client ne sera pas à nouveau, San Diego a dit quoi ? Vous avez été à bord qui collectent également l'élément de sondage o en fait que ces paquets sont perdus. Donc, cela est appelé comme un peu fiable. Et pourtant, il est sans connexion parce qu'il n'y a pas de connexion qu'ils ont aimé en fait ne va pas se connecter réellement sur le côté. Mais tout le noeud point sur ce protocole User Datagram. Parce que je débatte En fait la raison pour laquelle il, cette affiche, alors qu'il n'aura pas les Borden qui font sans connexion en fait, donc, cela réduit leur temps en fait qui nous a ordonné dans une certaine connexion. Une autre chose est que le paquet est grand, il ne lui enverra pas de faisceau. C' est donc aussi une chose qui évitera leur tâche réellement. Donc, il mégapoles en elle est un léger parce qu'il ne ferait pas une telle tâche réellement. Et aussi, il ne fait pas la vérification de l'éditeur. Donc, c'est que les paquets métalliques sont perdus que ce n'était pas encore, poncés. Il ne fera pas si la connexion de l'éditeur. Ce sont simplement les messages. Il ne voudra pas que réellement au-dessus de la perte de paquet et il n'y a pas de connexion. Donc, toutes ces choses, quand vous considérez inventé comme un léger parce que toutes les étoiles, il éviter la section. Et il n'est pas non plus fiable du tout. Mais il fournit la diffusion en cas d'UDP. Par exemple, l'exemple en direct de UDP que je peux vous dire est le jeu multijoueur léger. Je n'ai pas ce qui se passe réellement dans les données de l'envoi du client au serveur, alors ces données ne seront pas sable. En fait, la raison en fait incase du jeu de nuit multijoueur parce que ce sera, cela permettra d'éviter réellement que la perturbation ou large ce retard en fait sont à nouveau envoyer l'expéditeur du message qui a reçu par cette humeur ou affecter le jeu si elle est légère. Donc, pour éviter de tels cas, utilise réellement UDP parce qu'il n'envoie pas le paquet. Encore une fois. Mais la prochaine diapositive, nous verrons quel est ce protocole de contrôle de transmission TCP qui est désigné par la chaussette et le flux scolaire. Donc Yarn affiche garçon, il enverra et recevra les flux d'octets de conduire arbitrairement. Ainsi, les flux seront envoyés directement de l'expéditeur au destinataire, du client au serveur, ou vice versa. Donc, la communication peut être de grimpé solo, neuf, vice versa. Mieux, mais nous parlons de cette programmation de socket. Il peut être d'un, de l'expéditeur au destinataire, du destinataire à envoyer ou si je rêve des octets peut être envoyé en fait dans le cas de ce TCP et marcher par Platon pipe vous pouvez voir et tous les conseils à laisser sur l'architecte et livré dans l'ordre. Donc, puisque ce TCP être le voir comme un fiable, parce que en soutenant l'huile, plus vieux par
l'instabilité dans le bon format va être transmis de l'expéditeur au destinataire, ainsi que l'ordre en fait de la paquets. Donc, il s'oppose. Toutes les données sont divisées en petits paquets. Paquet un,
paquet deux, paquet trois du centre, il sera envoyé au récepteur. Il est d'un client à un serveur. Donc, dans le récepteur qui n'est pas dit si
ce sera le même dans le même ordre de séquence et l'ordre dans lequel il a été envoyé du client ou du centre. Donc, c'est beaucoup de fiabilité. En plus de parler de cette ECP, perte de paquets transitoires de masse d'
Adobe, il bacause. Donc, ne pas configurer la connexion et la maintenance. Donc, il n'y a pas défini dans une fermeture ou visites, la connexion ou la connexion se rompt. Donc, il est très fiable en fait quelques photos perdues. L' autre extrémité apprendra à savoir qu'il y a une perte financière. Donc aussi, il est fiable parce que si certains paquets sont perdus, encore une fois, les paquets peuvent être transférés de l'expéditeur à des jours. recevoir. Un poids lourd en fait, parce que toutes ces tâches qui ont besoin de faire ont besoin de renvoyer les données des données est perdu. Ensuite, il doit faire l'éditeur en vérifiant qu'il envoie des données actuelles afin qu'il doive faire tout en vérifiant l'erreur et en la rectifiant. Donc seulement les démarrages ont été associés à ce TCP. Et donc c'est un lourd. Il ne prend donc pas en charge la radiodiffusion et il est inférieur à celui de l'UDP. Vous pouvez comprendre pourquoi TCP plus lent parce qu'il
fait cette tâche en vérifiant l'erreur de rectifier conçu pour envoyer la proposition, il, faire une connexion à travers le récepteur, toutes ces choses, tâche, tactiques, temps. Donc, il est plus faible par rapport à l'UDP, mais il est plus fiable, plus préféré en fait en fonction de l'utilisation. Donc, en fonction de l'utilisation, vous pouvez utiliser TCP et vous pouvez utiliser UDP. Donc, lorsque vous utilisez un site HTTP ou en utilisant HTTPS, vous savez, chaque fois que vous visitez un site qui est réellement HTTP, en utilisant HTTP deux-points WW, bulldog bond lac, et jamais vous donnez, investissez ce format. Ensuite, ce HTTP ou HTTPS qui est plus sécurisé. Si vous ajoutez un HTTP. Donc tous ces HTTP, HTTPS. FTP, protocole de transfert de fichiers ou telnet. En fait, toutes ces choses utilisent ce protocole ECP, qui est le protocole de contrôle de transmission, et c'est le socket V6 en fait, maintenant vous étudiez plus à ce sujet. Et aussi depuis que MON s'est engagé sur HTTP. Je vais donc vous expliquer à la toute dernière conférence. Les dernières conférences seront en fait avoir la programmation en fait de HTTP en utilisant ECB. Donc même ce n'était pas C. Si simple communication client de serveur en utilisant ECP aussi, nous verrons d'autres programmes peu pratiques de distribué en utilisant le PCP. Comment ils communiquent réellement comment le navigateur communique avec le serveur Apache, comment cette communication se passe. Http slovaque neuf ou si TCP. Donc toutes ces choses, nous le couvrirons. Alors ne vous confondez pas. Si vous, si je parle de ce domaine et sont mis en sourdine MOOC étape par étape. Alors voyons voir en fait. J' espère donc que vous avez compris ce qui est ce PCP et ce que cette UDP passe à la prochaine diapositive. Maintenant, ce conseil, donc aussi la chose que j'ai mentionnée dans ma diapositive précédente que les hommes décident quand je joue moi communiquer s'ils ont le même tuyau de prise et le même domaine d'adresse. Donc, type de socket que vous avez vu socket de flux. Le client du serveur doit avoir un socket de flux pour communiquer entre eux ou ils auraient
dû penser que les deux devraient avoir le socket de datagramme pour communiquer entre eux ainsi qu'ils devraient avoir le même. Et il y a un domaine en fait soit domino indépendant signifie
toujours l'un ou l'autre d'eux devrait avoir dans un incroyablement, l'un d'eux devrait avoir des unités pour moi. Donc maintenant, revenons à ça. D' accord. Oui, celui-là. Donc, décidez par le client final en fait pendant l'application réseau socket, vous avez des comportements différents. Mais le modèle général pour créer un flux CQI, PCB, serveur IP et client. Donc, ce que tout cela décrit est que dire que le satellite implique réellement que nous devons développer la socket pour les deux d'entre eux. Nous avons vu cela dans un très de votre côté aussi. Ont-ils des prises différentes ? En fait, si vous voulez communiquer entre eux, applications
Kadhafi ou des sockets de défense sont nécessaires. Et les deux, et je crée la socket en fait. La deuxième chose qui était la création de la méthode socket, en fait des méthodes ou des sédiments dans la création de socket client sera la même. Donc, cela peut même commencer le mois prochain. Visitez effectivement différentes méthodes qui sont utilisées tandis que le socket pour la communication client sédimented, nous verrons former ces éléments de travail a eu lieu psi u, et de cette manière vous procédez. Voyons donc de ce côté, méthodes de réseau
webinaire qui sont utilisées sorte que leurs méthodes de serveur de socket de défense et différentes méthodes de réseau aveugle sock socket. Maintenant, voyons. Maintenant aussi dans ces méthodes et prétendre que vous n'étiez pas tout est occupé quartier quand la machine de but, quel rôle est présent pour les machines Linux ? Donc juste engendre de parler. En fait, ce mouvement net se produit qui est répertorié pour le satellite. En fait, les sockets est presque similaire et en fait assez fenêtres et nez pointu. Seul Manon a construit un pour les API ne l'est pas. Les méthodes ne sont pas présentes. Dans le cas de la liste Unix, tous à la fois sont présents dans KSR Unix. Alors voyons. Donc, ce côté socket où les méthodes réseau qui sont utilisées. Donc, qu'est-ce que cela signifie faire et aucun site évité de côté réellement pour créer la socket. En fait, dans le cas de Windows. Donc, Windows, nous devons initialiser W. Je vais vous expliquer ce qu'est une justice. Je vous donne la vue d'ensemble de quoi, quelles méthodes vraiment en utilisant une discussion détaillée dans la prochaine session va en fait cela et je vous explique comment, ce qui est WACC, comment l'initialiser. Donc, cela est utilisé pour, cette méthode est utilisée dans le cas de Windows. Donc, cela n'est pas utilisé dans Linux. Le moment suivant qui nous attire des méthodes côte à côte, qui est une veillée avait énuméré ici. La méthode suivante est de créer le socket pour ce WSDL initialisé et censé être fait alors que Windows ne vous dérange pas un Linux. Mais créer une socket est généreux. Donc, toutes ces méthodes qui sont listées sont générales pour Linux ainsi qu'une minuss. Donc, en créant une socket, en fait votre diplôme à une socket du côté logiciel, nous devons lier la socket. Alors maintenant ce liant écouter, accepter tous ces inexpliqués vous dans les conférences du Nevada qui sont dédiés à tenir l'action d'expliquer quelles méthodes sont présentes. Ce que j'ai vu était huit et quels sont les paramètres ? Oui. Opposition de passer à lui. Quelle est la fonctionnalité de chacun d'eux en fait pour célébrer comme site Melissa Klein. Donc, en mettant fin à la prise, donc mais je vous ai expliqué que Panama a dit quand il a menti, comment communiquer o les données hors ligne. Alors pourquoi ne pas écouter un numéro de port particulier, une adresse IP ? Autrement dit, vous voyez ceci, bind, le socket signifie que nous devons nous lier à un numéro de port particulier. Aller avec réel expliqué en détail dans la prochaine conférence. Et écoutez ceux en dehors de la vitamine B, écoutant sur cette prise, une fois qu'il est lié à un numéro de port particulier, c'est tout déplacement sur l'adresse IP. Il a une adresse IP. Il écoutera sur cette socket qui achète pour décider quoi écouter. Et puis il sera simplement connecté,
que la cécité ET la connexion, puis il sortira de la connexion. Il doit donc faire ces tâches avant d'accepter. Il doit se lier à un numéro ODE particulier. Il doit écouter ce numéro de port et expliquer en détail. Et puis il a, alors c'est, c'est un bloc acceptant cette connexion, et cette connexion est acceptée, alors il est capable d'envoyer les données au client et de recevoir les données de cette mine. Et une autre méthode est la dernière méthode est déconnectée nous perdant réellement la connexion. Donc, ces méthodes d'ordre, ces tous les processus se produisent dans le regard sur le trottoir extérieur, tout trouvé sur la fonctionnalité que nous avons à faire en fait. Et mon garçon, l'extraction des fenêtres est qu'on doit initialiser les risques Ws. Ces choses sont communes à Linux ainsi qu'à Windows complétant socket à déconnexion. Eh bien, non, passons à comprendre pour voir quelles méthodes sont là pour le côté client. Encore une fois, la même chose. Nous devons initialiser Ws en cas déconnecté également. Donc, c'est UNEP sur Windows, il n'est pas applicable pour Linux. Nous devons deuxième chose, nous devons créer un socket vendu streaming. Je connais la création de socket. Nous devons faire ce que le client ainsi que pour le servo car ce sont
les différents processus d'application lui laissant différentes sockets. Créé en fait par, comme je vous l'ai dit, quatre, dit, Qu'est-ce que je vais communiquer ? Le socket doit avoir le même type de données de socket. Nous avons vu le type de socket. En fait, il peut être vu, il peut être soutenu par Akos. En fait, nous avons vu les types de socket de flux. Vous avez des amis seniors, stream doc socket. Il devrait avoir l'une ou l'autre socket de flux sur l'un ou l'autre datagramme acheté. Le client et le serveur doivent avoir le même socket en fait. Donc, nous devons créer une socket. Ainsi, vous pouvez voir dans les conférences comment créer un socket, comment donner ce domaine occupé ou concurrents. Et puis vous comprendrez, alors nous devons nous connecter. Donc, comme je vous l'ai dit ce contour, la règle est de simplement se connecter à l'âme saura comment se connecter avec le solaire. Parce que déjà le côté de celui-ci est lié à numéro de commande
particulier et à l'écoute de ce numéro de port. Donc, avec l'aide de cela seulement si je suis va me connecter au serveur. Alors ne vous inquiétez pas de toutes ces fonctionnalités. Juste que je te donne un quoi tu fais affaire ? Nous allons discuter, vous verrez dans la prochaine conférence qui est dédiée à toutes ces explications macro. Et puis envoyer et recevoir la demande une telle coupe à travers la salve qu'elle a échappée avait été envoyer les données ainsi que recevoir les données. Et puis le dernier. Donc ce sont d'autres méthodes pour ceux et mon site. Donc, voir en fait ces méthodes. Maintenant, nous avons fini avec les risques de prise. Alors, qu'est-ce que Stephen commence ? C'est juste une valeur nulle. Qu' est-ce que vous évitez réellement les sujets que nous allons couvrir En fait, dans notre rangée. Nous couvrirons le modèle OSI, c'
est-à-dire le modèle d'interconnexion de système ouvert. Cela va étudier, c'est un modèle de référence pour netbook. C' est très important. Il est appelé
schéma de bloc de réseau en couches ISO vous donnera la vue d'ensemble de tout le système de réseau. Il simplifie en fait, vos réseaux routiers est système de réseau complexe en différents composants
différents et décrivent comment ces composants communiquent les uns avec les autres discipline ParaView. Pour également se débarrasser du problème ne ou vous comprendrez comment un jour envoyer réellement tenir les données envoyées de l'expéditeur au destinataire et vice versa dans différents processus
différents, en fait différemment par différents, couche
différente Bode diagramme. Ce que toutes choses étaient point O allèles vient en compte. Quels sont les différents exemples, protocoles facilement ou utilise. Donc, cela, je l'ai simplifié de manière très facile en fait. Et c'est très important pour tous. Étudiants universitaires. Seuils de pensée pour les développeurs, ainsi que cela va effacer vos concepts de base simplement pour en parler. Dans la rubrique suivante, que je vais couvrir la ligne de trottoir et aller API socket. Depuis ce que nous avons étudié ici à coïncide disponible pour fenêtre. Donc c'était un côté client pour la communication de socket que nous allons étudier dans cette conférence, vous allez sombrer dans la guerre froide. Mais ME fait ce que toutes les fonctions sont utilisées en détail. Et puis nous allons étudier ce qui est dit à propos de la méthode de socket Linux en ligne. Et puis nous construisons un programme pour PCP, a dit à propos de la communication de neuf socket sur la carte, mais vous allez écrire le programme pour communiquer. Entre l'ami forcé fichier en utilisant ce protocole TCP ont de l'esprit et nous allons voir comment ils communiquent, comment le serveur communiquer avec Ty et de l'aide. Je vais envoyer un message au serveur. Comment n'importe qui répondra à cette ligne. Donc, nous allons faire l'exemple pratique, droite, mais programmer un par ID et nous allons l'exécuter. Donc la prochaine chose, qui sera une autre chose que je pensais en fait que c'est très important. C' est donc une raison pour laquelle je vais couvrir avec son programmable. Donc, puisque je vous ai dit ce qui est HTTP, il utilise TCP. Donc même voir ce programme en fait, nous allons voir ce que fait HTTP et la programmation de STDP, soi-disant bloc encore ID. Ainsi, vous pouvez comprendre ce qui est le site HTTP de l'automne. Donc, vous trouverez cela plus intéressant parce que la vie quotidienne. Maintenant, Internet devient si commun pour vous tous que nous sommes habitués à ce avons simplement quelque chose que nous devons trouver réellement être disponible sur Internet. Les soldats d'Achille ont toujours cette chose, vous serez au courant de ce qui est HTTP ? Il suffit de donner des deux-points HTTP ou le nom du site réellement, que vous voulez visiter. Niveau vous a expliqué comment le navigateur communique, comment tout ce que vous donnez le nom du site réellement sur votre navigateur, qu'il est un navigateur Chrome, navigateur Internet Explorer. Comment il parle au robot en fait idiome comment il récupère les données et comment vous y arrivez. Guitare, au niveau de votre application, vous écrivez le programme en fait avec l'aide des connaissances que nous avons étudiées, la conférence des éleveurs, vous identifier comme très facile. Une fois que vous avez juste à commencer, vous devez écrire le programme avec moi. Et vous comprendrez la Conférence embryonnaire sept, compte tenu de ce que je bloque ainsi que des prises non locales. Et nous allons écrire un programme et
l'exécuter afin de mieux les comprendre. Dans la prochaine conférence, nous allons voir comment atteindre la communication de socket de serveur multi-client. Donc personne n'a forcé d'être malade approche en utilisant le fil. Alors que je dis que tout le monde a dit un morceau en utilisant ça. Et nous les verrons un par un. Qu' y a-t-il pour éviter ces approches de
personnes défavorisées afin de parvenir à une communication de socket de serveur de déclin. Donc ici, je l'ai divisé l'interdépendance et des conférences afin de comprendre comment atteindre ma communication de socket de serveur refusée. Il y a donc deux approches. Donc, dans cette conférence, nous serons vus par la première approche, c'est-à-dire en utilisant la fonction select. Et nous verrons quelle est la fonction select et comment vous l'utilisez,
ce que tous les humains sont nécessaires. De cette manière, vous verrez comment il apporte ma communication de socket déclins. Donc, cette conférence est dédiée à cela. Ensuite, nous allons écrire le programme dans la prochaine conférence, le programme en utilisant la fonction select. Donc, ici, dans cette conférence, nous allons comprendre ce qui est fonction de sélection, comment vous l'utilisez. Dans la deuxième conférence, nous écrivons un programme et en utilisant la fonction select sur le système d'exploitation Linux. Conférence dix. La réussite diminue la communication du serveur en utilisant la deuxième approche. Donc, même cette deuxième approche est en faisant le socket n'est pas bloquant. Donc, nous allons voir comment faire socket est non bloquant. Qu' est-ce que toutes les fonctions sont utilisées et ce que sont les humains sont nécessaires. Donc, avec cette information dans la conférence, alors nous allons aller plus loin ou la conférence lemma qu'un nouveau écrire les programmes et sera l'exécuter
en utilisant la deuxième approche en faisant le socket est non-bloquant. De cette manière, nous verrons comment atteindre ma communication de socket de serveur refusée et un système d'exploitation inverse. Ensuite, la toute dernière conférence, nous verrons l'application ou la prise. Dans ces domaines, le serveur socket, client sont utilisés et nous allons le sombrer dans des exemples réels que tous les serveurs socket sont utilisés. Donc toutes ces choses que j'ai mentionnées que nous allons couvrir, et je vous ai fait marcher à travers toutes ces idées dominantes socket, ce que toutes les choses sont nécessaires pour la prise. Donc VI a fait pour la toute première conférence de notre socket école compétition V6 prochaine BOD POD, cette conférence que j'ai mentionné en fait, qui est, donc ce modèle OSI, modèle référence volt
net, plus dense, multipliant tous ces les choses que vous couvrirez étape par étape. Alors merci. Merci beaucoup.
4. SocketSession3 Partie 1: Salut, bienvenue à la deuxième session du cours qui est l'architecture IP TCP, qui est également appelé comme tout comme je modèle. Dag est un modèle d'interconnexion de système ouvert, également appelé modèle de référence de réseau. Cela vous donnera la vue d'ensemble du système de mise en réseau, vous
expliquant comment ces composants communiqueront les uns avec les autres, comment être transmis de l'expéditeur, récepteur et ce moyen de base, votre socket dézips DM, Donc réseautage. Alors, comprenons ces réseaux et comprenons comment devenir annulé. Ainsi, vous obtiendrez une image globale de la prise et de ses composants internes. Le, Commençons par quitter la BC, ou l'un de ces sujets qui est mentionné dans cette diapositive, qui est, ce qui est modèle OSI et l'importance de celui-ci. Blog diagramme du modèle OSI B. Ensuite, une discussion sur les composants de cette architecture
illustre, illustrant la communication de ces composants entre eux. Et enfin, nous verrons un exemple réel pour illustrer ce modèle OSI, pour illustrer comment ces composantes de réseau communiquent entre elles. C' est le modèle OSI, qui est également appelé architecture en couches réseau. C' est aussi l'architecture du PCPIT. Alors commençons par ma mère et comprenons ce système de réseau, comment ces composants communiquent les uns avec les autres. Alors que faites-vous dans la prochaine diapositive ? Qu' est-ce que le modèle OSI ? Donc OSI signifie interconnexion de système ouvert, qui est également parti réseau avec modèle de référence. Donc, cet OSI, il vous donnera la vue d'ensemble de l'ensemble du système de mise en réseau. Il est donc essentiel de simplifier le concept de réseau en petits composants réseau et de décrire comment ces composants réseau communiqueront entre eux. Donc, cela lui est très utile. Ou les techniques réseau Jian Wu résolvent le problème de mise en réseau car cela simplifie ce négatif lorsqu'ils espèrent que les systèmes et font de petits composants. Vous expliquer comment l'art de communiquer les uns avec les autres. Ainsi, quel que soit votre problème, que vous puissiez résoudre quelle couche ce problème se produit et que vous puissiez quitter. C' est ainsi que cela le simplifie. C' est donc ce que j'ai décrit dans cette diapositive. L' autre point est que ce que j'ai mentionné plus tôt ne vous fournit que la vue d'ensemble du système de réseau, mais simplifie également le problème du technicien réseau. Qui n'est-il pas troublant problème se référant dans ce modèle OSI, il se compose de sept couches. C' est les sept composants comme voir quels composants sont présents. Bien que très haut composant abelian, qui est présent dans ce modèle OSI est la couche d'application. Donc ce détail que je vous ai décrit,
ne vous inquiétez pas, je vais vous expliquer. Quelle est l'application près de ce qui est présent, tous ces nœuds un par un. Et nous allons voir
aussi quel protocole et quel état de balles tous ces Leos utilisent. Et plus tard, nous verrons également comment la vue du modèle
OSI en la synchronise avec l'exemple pratique. Je vais vous expliquer l'exemple du monde réel. Et je vais vous expliquer comment ces Léo transportent les données de l'expéditeur au destinataire. En fait, des exemples de compréhension humaine. Alors voyons.
5. Socket Session3 Part2 de l'architecture des couches de réseau TCP OSI: Il s'agit d'une couche d'application qui est la plus haute. Leo est alors la couche de présentation, Session, Transport Layer, Network LEO, couche de liaison de
données et la couche physique. Donc toutes ces choses que j'ai décrites ici avec les exemples en fait, mais voyons un par un. Vous pouvez passer par elle plus tard et si digraph, C'est l'architecture. Alors commençons par ça plus tôt. C' est un accord d'application. Alors, qu'est-ce que cette application ? Donc, il fournit l'interface utilisateur. Donc simplement parler uniformément de l'application, vous pouvez comprendre l'application est celle qui vous aidera. Étape 1, l'utilisateur arbitraire interagira avec. Donc, il vous fournira l'interface utilisateur. Donc, quelle que soit l'action que vous
tombez, tombez sur l'application qui sera reflétée, alors il atteindra le Leo le plus bas de Leo. Donc, vous utilisez un besoin de faire une action afin d'obtenir la réponse appropriée. Donc, cette action qui est faite, se fait sur le composant d'application qui est présent. Et c'est, qui est ce à propos de l'application Leo exemples ou FTP ? Non, FTP est utilisé pour planifier si phi. Donc dix net aussi, vous savez, nous devons connecter des applications de messagerie ou d'autres applications. L'ordre est défini. Ensuite, la couche suivante, qui vient comme une présentation, DO SO qu'est-ce que cette présentation Leo ? Donc, dans cette présentation, Leo, tout ce que je suis mouvement ou conversion de données est nécessaire dans cette application aura lieu sur la présentation Leo. Donc simplement décider décrit ici aussi. Il est utilisé pour le format des données. Ainsi, vous pouvez compresser ou décompresser, chiffrer et déchiffrer. Mais Gita, puisque la déconvolution de l'étude est nécessaire, par conséquent, il est sous forme d'administration sous Deepa viendra 50 entreprises et groupe paralympique. Donc, quel que soit le formatage des données aura lieu. Quelle application lors de la prise de cette présentation, Neil et l'autre cryptage de données a lieu, ainsi que la secte de caractères et n'était pas explicite. Donc exemple aussi là. Donc JPEG, PNG. Donc vous savez, ce sont les hormones aussi leur format fixe. Donc, ce sont différents, de type différent ancien format. Ainsi, vous pouvez comprendre cet exemple lui-même là cryptage
des données a lieu des données et voyage et a lieu dans le cas de JPEG PNG. Oui, ce sont des formats différents. Donc, quand nous parlons du format de données et cette couche de présentation entre dans un pistolet. Alors ne vous inquiétez pas, je vais vous expliquer l'exemple du monde réel après avoir expliqué ces couches. Et vous pouvez synchroniser avec toutes ces nouvelles. C' est la présentation, l'application dans l'huile et cette manière même comprendre ce qui est vraiment alors ce qui est la session NEA, couche de
session, il va écrire le nom lui-même, dit que c'est la connexion que vous pouvez comprendre. Donc, il ouvre et ferme la session avec les bouches de l'entreprise, donc il est responsable, mais l'ouverture de la session pour contrôler la session, exclut la session que post-doc distant est fait dans la machine de guerre. Et donc cette session, l'OED en fait, donc cette session, laquelle des blocages que plus, qui sait que c'est une connexion que Richard développe avec la connexion virtuelle à distance. Donc il a été massacré par le nom lui-même. Vous pouvez comprendre que ce n'est pas une connexion réelle réellement besoin d'une connexion virtuelle. Cela est établi, ainsi également décrit comme une connexion de transport moins ou sans aucune communication réseau. Ainsi, vous pouvez comprendre qu'un ancien existe, mais sans aucune communication réseau. Donc donc le nom regarder connexion, puis l'exemple de la couche de session sont donnés, vous
a expliqué en fait, qui est, qui va illustrer utiliser toute l'application de messagerie. Donc, dans le rôle d'application humaine, nous devons envoyer n'importe quel hôte distant drôle de Bouddha. On doit transférer le Pine à l'hôte distant. Donc, ce qui se passe à, bien que assez pré-établi, il y avait mais un projet de loi CBO envoyer
les données à la sangha de dire l'information sur la quantité de données sont reçues maintenant. C' est donc un petit intervalle chaque fois que le fichier est transporté. Dans le cas de l'e-mail envoyé à l'hôte distant, ce client indique à l'expéditeur combien les données sont transportées. Maintenant. Donc, cela arrive à petits, petits et gouvernements et 3h assemblage et double supposer entre les deux ou connexion de l'
aiguille se perd de là bas. Pour que nous n'ayons pas discuté ci-dessus ou au-dessous de cette couche de session qui est une marque, c'est-à-dire une couche de transport. Donc dénoter que nous avons discuté présentation
de l'application et des séances de discussion nomiales. Donc en dessous de la procession près de cette couche de transport. Donc, si la connexion de la couche DOM, c'
est-à-dire la couche de transport, elle est perdue, alors que se passe-t-il dans ce cas ? Dans ce cas, la connexion du gardien sera existante. Donc ce que vous allez connexion ne sera pas perdu. Et un onduleur, cette session, l'audit reçoit une nouvelle connexion de transport, puis l'envoi des données. Encore une fois, le CV supplémentaire de Reddit a été arrêté plus tôt. Donc, je l'ai mentionné, il a également essentiellement la séance de contrôle d'ouverture et de clôture. Il est fait par la couche de transport qui est vers le bas jusqu'à cette session. Vous pouvez comprendre ce qui est la session près de la colonne vertébrale doit être corrigée orthographe. Maintenant. Ensuite, quand nous parlons de rotation Euler via donc maintenant parler de l'Activity Download, pensant avec la session, nous puisons également sur ce qui est la couche de transport. Couche de transport. Il transférera les données par le nom lui-même. Vous pouvez comprendre, et il a un intégré, bleu-blanc, toute connexion entre l'hôte. Ainsi, il va transférer les données et fournit une connexion de bout en bout entre l'hôte. Donc, cette couche de transport, en fait, vous pouvez voir la connexion entre les tablettes entre l'hôte peut être fiable, c'est une action ou peut être peu fiable. Ils déconnectent cette âme. J' espère que par ce fiable et peu fiable, vous pourriez comprendre que nous avons vu dans les rapports de recherche sur TCP et UDP, rencontré et B ont vu PCP fiable. Européens, non-noir n'est pas fiable. Et nous avons également vu que TCP est fiable parce qu'il l'est, il assurera effectivement toutes les données sont. Pour le récepteur correctement dans l'ordre correct que ooh, si un bouton je peux déloger, centre notifiera au récepteur et à nouveau les données peuvent être transmises. Donc, les prédictions de l'éditeur ont également fourni qu'il est niveau de poids lourd parce que tous les murs
en bois dans la tâche une correction d'erreur pour l'envoi des données si le paquet est perdu et il développe une connexion. Donc, toutes ces choses se produisent en cas de pâte TCP est une connexion fiable. Nous avons vu une connexion peu fiable. Autrement dit, c'est UDP n'avait aucune erreur, correction sera interdite. Et ce n'est pas o, il est préférable à bord que même si un paquet est bruyant, ne pas envoyer de données et ne pas notifier une fois que vous faites cela, un CBO. Donc, ici, il est très léger. Donc, tous ces points que nous avons discuté, toute cette couche de transport avec l'aide de leurs familles parce sont liés les uns aux autres. Vous pouvez voir quand j'ai parlé de la session approché, j'étais ici était ce qui marchait avec ce DOM près de la couche de transport. Ok. Alors maintenant, parce qu'ils communiquent les uns avec les autres, nommez parler de transport ici. Personne qui a inventé sa pension ce réseau Hale-Bopp ici. Donc, c'est encore là w. donc cette couche de transport avec l'aide de ce magnétiquement commandé sa propre adresse IP, et il construit des données de Sander. Donc, bien que le widget de données reçoit la couche de transport de vigilance, il reçoit de la couche de session en fait il, avec l'aide du téléchargement que les données, il abordera les données. Et donc l'exemple que je vous ai dit est la connexion de données TCP 1 et UDP est sans connexion. Donc, la couche suivante qui est présente est la couche réseau, qui est la couche descendante à travers le transport ici. Alors, qu'est-ce que ce réseau Leo ? C' est ce sont les routes qui rampent signifie donner leur direction. Donc oui, DO paquets de données sur les détails Transport épuisé signifie donner la direction à ce paquet vers quel chemin il devrait voyager, ce paquet devrait voyager, donc il sera arrondi. Les jeux de données donneront leur direction, donneront le paquet RP à partir d'un chemin, il devrait voyager le long descendant à la politique, mais que cette route, donc
il le fera, il sera à nouveau réassembler les paquets de données parce qu'il envoie un paquet des données, quelques paquets de données de l'expéditeur au destinataire, site
CBO, il va se réassembler, il va collecter toutes les données ensemble. Donc, il s'agit de la vue réseau. Donc, le but principal de cette démo nucléaire est également abordé les paquets. Donc il avait été fourni leur adresse au paquet, n'est-ce pas ? Que ce paquet comprendra réellement à travers quel chemin il devrait parcourir. Et à travers Internet, les ponts
locaux et oncle et exemple est IB. Donc j'ai aussi compris cela. Donc, il va rouler est en fait de donner une direction au paquet qui rampe, nom remonter le paquet des données. Et son but principal est de donner l'adresse au paquet afin que le paquet comprenne qui il doit passer. Internet, ponts locaux et auto exemple est IP. Donc, la couche suivante est là couche de liaison de données. Alors, qu'est-ce que la couche de liaison de données ? Il le fait en fait, donc c'est aussi la couche de pilote suivante en utilisant. Parce que par le Dr Willard parce qu'il va aussi négliger l'art est un hydrostatique. Ceci est le principal guide de réseau qui à travers lequel vous avez atteint l'Internet. Donc, c'est notre appareil à travers lequel vous atteignez et collectez. Donc c'est ça, notre Leon n'est pas un appareil, une rivalité dans le désert est une tribale de réseau et parce qu'il contrôlera la carte réseau, ok ? Maintenant, cette couche de liaison de données, j'ai besoin de la demande compétitive comme deux ou plus négativité ou utilise l'âme, car il contrôlera la carte réseau qui aurait été une connexion aigle et soda. Donc, ils ne sont jamais cette ou plus couche de réseau neuronal qui utilise le même réseau répondre à votre plus ancien présent non-equity en haut de ceci, dont nous avons discuté maintenant. Alors faites un mot, réseau. Il utilisera la même carte réseau. Alors comment cette gestion quand pour la Maison Blanche a accès à la garde du réseau sera que c'est seulement mon cou et ma carte réseau. Mais comment cet excédent d'argent fourni pour la couche de réseau qui est présent et l'Egypte et tirant cette couche de liaison de données. Et donc il, je ne fais pas aussi l'adressage physique du réseau et l'action a lieu. Il se compose également Octobre loi sur le désordre aura décrit de sorte que vous devriez être connaître chacun et tout sur le PDG. Il s'agit donc de quelle topologie il y a topologie Internet. Et il est également utilisé, il utilise également sont le périphérique réseau le plus couramment utilisé, qui est si utilise commutateur. Il s'agit donc de la couche de liaison de données. Aussi l'Italien a-t-il clair qu'il se compose de deux sublimes, n'est-ce pas ? Si largement otite, contrôle d'accès aux médias, qui est mac sous-couches de ce que fait cette Amaterasu, Il est responsable de l'interaction de l'appareil. J' ai mentionné la détection de votre appareil de mise en réseau. Et la seconde est W à laquelle fait Dayton dans le Kansas, est lien logique Leah, tout à coup. Donc, cette couche de lien logique, il fournit le multiplexage et l'adressage à ce sujet. Bien que nous soyons multiplexage signifie quoi ? Ça veut dire. Il sera, sont maintenant, pourrait approfondir et marcher à travers approprié pourquoi les gens existent à différents réseaux multi-points. Et il peut également être transféré, transporté, ou si le même support de réseau. C' est quoi le multiplexage ? Donc, un exemple de cette couche de liaison de données, si vous voyez sera la source de masse et l'adresse de destination, ainsi que la flamme éternelle. Ne vous inquiétez pas pour tout ça. Écrivain technique, poète gribouille clairement. J' espère que vous avez compris, il suffit de le comprendre. En passant par la partie réseau, il est utilisé pour rencontrer un ange connexions quand je suis quand les gens connexions de la couche réseau en utilisant la même carte réseau, il va gérer cette connexion et il magasin fantaisie deux choses présentes dans nos débiteurs, MAC et LLC. Magazine de contrôle de lien logique d'un bal est divisionnaire que l'action et cela fournira multiplexage et l'adressage. Donc leurs détails à ce sujet, Je vais vous expliquer impliquer exemple du monde réel, que j'ai beaucoup de public, ces leaders, J'ai couvert l'exemple du monde réel et je suis expliqué détenteurs, ces Leo, la synchronisation en fait ce qu'ils vont faire quand je suis dans ce monde réel exemples. Donc, vous comprendrez exactement ce que ces Leos sont mobiles. Maintenant, la dernière couche est l'allèle. Donc, cette couche physique, il est également appelé comme s'il s'agissait d'un réseau. Aussi ne signifie pas que Hyderabad
apporte réellement le réseau qui sont différentes formes de entendu parler de lui. Il peut aussi s'agir des câbles réseau qu'il n'avait pas entendus et tout ça. Donc, tous ces concepts que physique. Oui. Alors merci. Merci beaucoup.
6. SocketSession3 Partie 3 Partie3: Bonjour, bienvenue à cette deuxième session, deuxième
partie pour ce modèle OSI qui est l'architecture IP TCP. Donc, en fait, dans la même session, j'ai discuté des sept Leo's, qui apporte le système de réseautage. Alors, comment ces composants, quels sont ces couches sont responsables ? Et comment ils communiquent les uns avec les autres. Donc, dans cette conférence, je vais vous expliquer que lui et Dieu l'exemple. Et je vais vous expliquer comment ces sept vidéo de Network Leo rouler les exemples de voiliers afin que vous
preniez une photo comment ces
composants réseau Leo un jour j'ai eu et comment ils communiquent les uns avec les autres. Alors voyons ça. Donc, ici, nous allons étudier les exemples entrants comme celui-ci. Je simule une seule commande alimentaire. Donc oui, le client ne fera
pas à travers leur réseau et passer une commande avec une introduction en bourse. Ensuite, nous considérerons que les clients de chiens appelant fait à la fois sur leur déformé et passer une commande et cette personne sait, trompe leurre et le client a communiqué avec les détails de commande ce que le client veut. Et le livreur va alors aller à l'adresse sur un stimulant et va livrer de la nourriture. Ce sera donc de voir comment ces Lion jouent alors un rôle en eux. Alors voyons un par un. Donc application de pâtes, Leo. Donc Vannevar stellate est de soumettre un formulaire pour la stomie de silice
interagit avec la corne effectivement communiquer dans les détails de l'ordre. Donc oui, l'application pour que vous sachiez, quelle est la couche d'application chaque fois que c'est une indirection, elle permet l'interaction de l'utilisateur, en fonction de cette action, elle répondra. Donc, l'action est que le client fait un appel téléphonique en utilisant le téléphone pour s'il vous plaît commander. Donc, c'est, ceci, la couche d'application prend en compte et le protocole qui lui est associé sont HTTP ou HTTPS, alors que FTP, comme je l'ai dit, est vide. Donc, tous ce sont les protocoles qui vient dans cette couche d'application soude, client, en utilisant le téléphone pour passer une demande inopportune de commande. Leon, faisons cette interaction avec le port. Alors vient ensuite la couche de présentation. Alors, quelle est cette présentation que l'IB a étudiée lors de la conférence précédente, qu'est-ce qu'elle fait ? Il fait la forme que je pense, des données. Donc, il fera le cryptage des données. Donc, il a évité le formatage requis pour une application et être fait dans cette couche de présentation. Alors qu'est-ce qu'on a fait ? Blastocoel ou la commande qu'il reçoit de la couche d'application de la police. Et à l'arrière, il déchargera la formule non-réseau de l'événement de costume EVA humain. Alors, qu'est-ce que ça veut dire ? Cela signifie que cette définition signifie qu'elle rend
compte dans un format particulier que vous avez dit. Je comprends. Donc, ce format devrait leur être commun. Donc ici de même dans le cas d'exemple aussi chaque fois que l'astéroïde un foo, je vais obtenir des détails de la commande comme supposons que le client voulait commander un peu nought. Il doit donc communiquer à ce restaurant en personne. La langue qu'aucun client n'utilise pour communiquer à ce fardeau doit être une langue commune. Autrement dit, il devrait être universel, il devrait leur être connu. C' est donc une raison pour laquelle il sera converti dans ce format. Il se convertira dans un langage parfait. Parlant. La personne parlera dans cette langue, commune aux deux. Pour que les misères et cette couche de présentation, il est utilisé pour non amarré dans ce format qui est compris par eux afin d'emballer toute communication appropriée. Donc, cette gencives dans cette présentation près du protocole utilisé est le D. Donc, nous savons que les images dans différents formats, la date de retour si Pfam NGI plier à notre HTML différent, qui est la page en fait la page Web, puis le ascii lié à des tiers chaînes. Donc c'est sur les protocoles qui sont utilisés ici en cas de présentation Léo. Maintenant, cette session, que fait la couche de session Cuando postal ? Donc, afin de transférer les données, qui est un paquet réellement faire leur destination, cette couche de session, il devrait ouvrir le contrôle et fermer cette session qui sont là entre les processus d'application de l'utilisateur final sont responsables de l'ouverture, contrôle et empêchant la décision entre les différents processus d'application. Donc Riot est nécessaire session ouverte. Faites l'hôte distant afin d'envoyer des données pour transmettre un paquet, il doit passer session ouverte, faire cet hôte distant. Donc, nous savons cette session près des États-Unis et ce que vous pouvez réellement avoir vu des butanes
et des abus à travers cette conférence ou cette session, deuxième session. Donc, si vous cet exemple, Victoria Albert exemple, par les actionnaires, les clients qui font un appel téléphonique et la personne du restaurant devrait recevoir. En fait, écrivez votre récepteur afin que le client puisse communiquer avec ce récepteur. Ce trouble est mort et unique, nouveau envoyer ce commandé. Donc, cette communication est nécessaire pour que recevoir à nouveau, les informations de la commande détaille ce que toute commande le client a fait face. Donc, cela parce que la raison de la session, c'est très nécessaire. L' autre extrémité, c'est-à-dire que les présentateurs déformants ont
reçu un appel téléphonique ou pour ce protocole de communication réussi soit utilisé comme RPC, vous savez, RBC. Nous avons, chaque fois que nous devons venir communiquer à travers la machine distante en fait, cela signifie que vous devez développer une session entre la machine distante. Ensuite, ce RPC utilisé SQL également communiquer avec la base de données réellement pour se connecter à leur base de données. Sql est utilisé, Réseau est un et il les prix de travail temp un. Et ce X Windows est utilisé pour communiquer ou si je dois obtenir la machine. Donc, c'est sur la couche de session vient en compte. Maintenant, on parle de la couche de transport. Ainsi, le cluster pendant que la couche de transport est de transformer les données entre de bout en bout. Peut-il faire ressortir la promesse de connexion de bout en bout. Était-ce la moyenne aussi ce que cette couche de transport, quand il le
fait, il, est-ce qu'il est, il assure non seulement comment les données doivent être transmises, comme si elle doit être sans connexion. Les audits devraient être la connexion ou des données qui est, TCP devrait être donc, un ancien UDP devrait être donc connectionist, paquet latéral
inorganique toute sa semelle fournit aucune sécurité de boule de feu et les validations et fournit un titre qui est acquis un, s'il vous plaît. Donc, vous savez, par N1 est utilisé pour sécuriser leurs données. Le paquet suspect qui est. Ce qui est soupçonné à un problème avec un éditeur ne sera pas passé à l'éditeur supérieur. Donc j'ai besoin d'un paquet valide sera passé. Mais support suspect, colis non-clé, il fournit à l'acheteur veut la sécurité. Donc, en décidant comment les données doivent être transmises, connectionisme connectionnel fournit également ces fonctionnalités. Alors. Il a également apporté là, est-ce qu'il fournit un contrôle de la qualité ? Contrôle de la qualité dans le sens. Donc, cela a le paquet Espèce ne sera pas autorisé à passer à travers le feu. Et était le problème représenté de Susan est là dans le paquet. Par conséquent, il vérifie la qualité du paquet n'est pas bon,
pas livrer à travers le pare-feu. C' est la raison pour laquelle il fournit ce contrôle de qualité. Maintenant, en pensant avec un vrai conseil, c'est-à-dire, si la nourriture n'est pas bonne en fait, qui est en cours de préparation est que j'ai commencé et il avait été un RB livrer aux clients. Ainsi, cette espèce quatre ne sera pas autorisée à être livrée au client. Penser avec un exemple du monde réel. Donc, comme je vous décrit, cette couche de transport ancestrale deux choses, deux types, statistique, Cp. Ici, il décidera de la manière dont les données seront transmises. Il aura une action, il est orienté connexion. Il sera également fiable que parce que si quelqu'un meurt lois alors il sera notifié au destinataire aussi à nouveau, il sera transmis éditer cette section se produira également. Et c'est ainsi que Holzer mérite un appât lourd parce qu'il effectue toutes ces activités. Alors exemple ou PCB, HTTP, FTP, SMTP, rencontré comme dans le cas de UDP, est orienté sans connexion, nous avons vu qu'il n'est pas fiable en raison de certains paquets sont perdus et il ne sera pas notifié au récepteur. Encore une fois, il ne sera pas envoyer réinitialiser. Et cela ne dérange pas qu'il n'a pas été dirigé. C' est donc une raison pour laquelle il n'est pas fiable. Et l'exemple de vie de ce UDP est couché verticalement ou de jeu. Donc, c'est une notation qui est multi-joueur. Donc oui, il n'envoie pas les paquets qui sont perdus parce que ce sera notre perturbation. Dans cette communication. Encore une fois, DWB, Sénat de la
BM sera pris un jour. C' est donc une raison ou pas. Il est terminé et donc il devrait être utilisé dans la communication en direct. C' est donc ce qui se passe dans le cas d'UDP. C' est donc un exemple vivant. Maintenant en parlant d'eux, Léo. Donc, qu'est-ce que cette couche de réseau que nous avons vu d'abord a pris une couche de réseau. Nous avons vu dans la conférence précédente, fournit routage des paquets. Autrement dit, il décidera dans quelle direction le paquet devrait aller, ooh, quel chemin il devrait suivre. Et puis nous avons vu, et nous avons aussi vu qu'il est responsable du cadrage et de l'assemblage des paquets. Donc, ce que le cou pluriannuel fournit, il fournit le meilleur chemin pour acheminer les paquets. Donc meilleure partie signifie qu'il fournit de ce qui devrait être le meilleur chemin pour le graphique à barres de niveau groupe, chemin court. Avant effectivement pour que le paquet soit envoyé de l'expéditeur au destinataire. Et quelle partie est à utiliser, ce qui est un OK valide, donc à ce point à cette bobine est une route s-bar les paquets. Alors, qu'est-ce qui est fait ? Le routage est terminé. Donner leur détection au paquet va marcher audit approprié, et la fragmentation est faite et le réassemblage ou le paquet explicite. Nous allons discuter de toutes ces choses sont Fido. Alors maintenant sombrer avec l'exemple ici, si nous voyons ici, sorte que le livreur qui va livrer la nourriture au client. Il utilise GPS, Google Map de retour de cette façon. Responsable d'apporter les chemins les plus courts visibles achetés. Alors, qui meilleure carte pour les blancs sont très court, point le plus court. Et c'est ainsi qu'il se synchronise avec le monde réel, ce réseau, vrai Leo, BEC, et chanter avec cette couture. Maintenant sont les trois étapes dont j'ai vu
quoi, ce que tout cela arrondit réassemblage de fragmentation. Donc, il décrit ici indiquer des messages d'adressage si logiques. Donc oui, ce sont les adresses virtuelles. Alors que ce sera une adresse virtuelle qui décidera comment le paquet acheté destination serait là. Je sais que j'ai fini ou tu envoies un paquet ? Ce paquet va passer par le réseau. Nous allons donc être entre les réseaux. Ce sont donc les adresses de surveillance, c'
est-à-dire l'adressage logique qui prendra le paquet pour acheminer à travers le réseau pour atteindre cette destination. Donc oui, IPV4 impair protocole IPV6 est utilisé, donc utilise simplement ses autres adresses virtuelles, qui décidera quelle destination sera là pour que le paquet achemine que vous ne liriez pas aujourd'hui et nous allons utiliser ce protocole. Et donc je peux traiter la deuxième étape dans cette encapsulation de données Viterbi ou notre verbale encapsuler ces données avec leur, avec la source et les destinations. Il y aura donc des adresses associées à cette source de données et à cette destination parce que, comme je vous l'ai dit, elle est utilisée pour acheminer. Il donnera le chemin a été de nommer quelles parties doivent être rapportées. Et il verra aussi qu'il aura une adresse source et destination aussi, sorte que les données seront atteintes à travers ses pensées finales, source et destination. Il coulera avec elle. Et puis après segmentation ressemblant ainsi ici, stade
endocrinien de l'entité. Ce sera tout d'abord, des points de données isolés, puis il sera assemblé, puis nous devons l'assembler. Donc empathie beaucoup de cran. Il peut donc arriver que le jour relie toutes ces données agréables dans des endroits non contigus dans la mémoire. Alors quoi, qu'est-ce qu'on a fait ? Il sera fragmenté. Il recueillera toutes ces données à partir de l'électrode de localisation d'un ordinateur. Et il recueillera de taille Jiang vu quelle taille il devrait être motif pour. En fonction de cela, il recueillera les données qui sont présentes dans
différents emplacements de mémoire, puis les données seront transmises. Il s'agit donc de fragmentation. Et le protocole qui est utilisé ici est cependant, qui sont maintenant en cours de protocole d'information parce que pourtant pompage est fait dans la neige dans cette couche de réseau ainsi que Open Shortest Path First, parce qu'il propose ce chemin le plus court, ce protocole est utilisé ici. Maintenant, je vais télécharger leur SDK et inclure. Donc, c'est ce que fait ces données en Angleterre, comme nous l'avons vu, il est aussi goitres sur le réseau. Il est utilisé pour contrôler la carte réseau. Il est utilisé pour gérer la connexion d'humeur Mordor. C' est à partir de la couche supérieure et c'est la couche de transport. C' est l'un des négatifs localement ou d'utiliser le même réseau, alors il va gérer que vous avez vu dans la conférence précédente. Donc, ce que cette couche de liaison de données fait, il assure que les données seront transmises sans aucun éditeur. Il fera cette partie. Et aussi nous avons vu, est-ce que les réponses claires italiennes parlent à quelqu'un qui a nous avons vu avancées parler logiquement contrôle et aussi le contrôle de l'accès aux médias. Nous avons vu l'unité et le contrôle logique que nous avons vu dans la conférence précédente qui est utilisé pour le multiplexage et l'adressage et les médias qui sont marqués comme utilisés pour l'hydroélectricité. Il fournit des conseils et des orientations. Donc ces deux couches, ce que David faire, Sebelius, qu'ils fourniront également le succès pour la transmission des données. Donc toutes ces choses y sont associées. Donc il avait été, avoir cette li et nous aurons l'adresse physique Mac, qui définira l'adresse de destination où les paquets trois. Alors qu'est-ce que le système endocrinien, l'adresse MAC. Nous avons vu cet aimant est une action physique, adresse physique, qui aidera cette personne qui atteint la destination. C' est donc très important. Ainsi, l'exemple de segment UDP est leur destination, adresse
physique ou la personne de livraison client. Sachant que je afin d'aider l'estimation de la nourriture. Donc, il a dit de chercher la destination
physique, l'adresse physique du client. Donc maintenant, le protocole utilisé ici est Ethernet et le protocole point à point. Ils vont maintenant à la toute dernière couche, qui est la couche physique de 70 ont vu carte réseau ou les câbles de métro. Tous ces éléments relèvent de cette couche physique parce qu'il est lié à la partie réseau matériel de celui-ci. Ce sont donc les composants. Donc obèse, le client qui nourrit la comédie, comédie passerait la commande. Et il a dit, Nous allons envisager de devenir un autre physiquement sur la lecture du client, dont l'un. Donc, cela vient sur métaphysiquement d'accord à travers ce cours. J' ai été faible si vous partagez vos commentaires et évaluations car cela signifie beaucoup pour moi. Et quand m'a influencé à publier autant de vidéos à la demande selon vos besoins. J' en ai fini pour cette conférence. Merci, merci beaucoup. Dans la prochaine conférence, nous allons voir des méthodes de fusée de fenêtres et assez de méthode de socket pour apporter la communication de la socket. Merci mes amis.
7. Socket Session4 Session4 Windows Part1: Salut, bienvenue à cette nouvelle session, qui est des méthodes client de serveur socket pour être les deux. Donc, dans cette session, étant donné BC, les sujets ci-dessous qu'il doit, d'autres sujets que je l'avais mentionné, nous allons examiner la configuration environnementale à ce Janvier pour les deux dit sur M socket client. Donc, c'est le même bâtiment Goleman Waterman Center requis pour le serveur ainsi que pour le socket client. Ensuite, nous verrons le sujet adoptif qui est, la médiane serait discuter des efforts de Garmin sont les API que le serveur de cohorte Janvier et le client. Il y a donc trois méthodes qui doivent être
retardées de l'API uniquement pour le matériel ainsi que pour le client pour le système d'exploitation Windows. Donc, nous allons voir est trois méthodes. Vous verrez quel est le but de ces trois méthodes et comment elles sont utilisées va couler dans l'accord. Donc, cette session est très nécessaire avant le processus de programmation socket, mais incliné pour Windows, système d'exploitation
Windows sur IDE. Donc, avant d'exécuter le code, avant d'exécuter le code, nous allons comprendre les mappers, les fonctions qui sont présentes, et les contours socket afin que vous ayez une meilleure idée de ce que nous font et cela vous fera comprendre facilement. Ce sont donc les méthodes qui discutent vivement. Ce sont les méthodes courantes requises pour le serveur et le client. Pour Stephen, regardez ces trois méthodes, alors nous verrons ensuite. Les méthodes de socket décimales sont des API qui seront spécifiques uniquement au serveur. Donc, les méthodes setter qui seront spécifiques
au serveur qui sera vu couler avec le code. Et puis nous verrons les méthodes de socket client qui peuvent être spécifiques à décliner. Encore une fois, en pensant avec le but. C' est donc ce que nous allons étudier ici. Il est donc très nécessaire pour commencer la programmation pour le règlement et la lumière. Donc, vous devriez savoir ce que toutes les fonctions sont utilisées, quel est le but de ces fonctions ? Donc, cela vous fera comprendre d'une manière. Alors commençons. Ici pour nous, vous discuterez de l'arabe découvert dans le sujet mot bien sûr, sujet que nous allons discuter dans la configuration de Berlin Waterman. Donc, avant d'écrire le code et d'exécuter la programmation socket de la fenêtre du solveur, ce sont les petites étapes. Donc, avant d'écrire le code pour votre socket, ladite ligne de look, c'est la méthode générique de construction installation ordinale nécessaire pour sept vols de bois. Donc, tout d'abord, puisque nous allons écrire le programme et exécuter sur IDE, ce bloc de discorde. Jusqu' à présent, nous devons créer un projet, mais un bloc d'accords. Donc, ce cas sur le système d'exploitation Windows, nous devons faire le secteur de cette manière. Nous devons ajouter cela. Nous devons les lier dans une bonne bibliothèque de socket afin que nous puissions utiliser les fonctions ou les méthodes qui sont présentes dans cette bibliothèque de conflit Mendoza. Depuis ceux-ci, ceux-ci utiliseront lorsque socket 32 fonctions de bibliothèque. Donc, avant de commencer à écrire le programme, qui appellera les méthodes comme le sont les fonctions qui sont définies. Dans la bibliothèque
qui, c'est appelé comme w que nous avons tiré cette bibliothèque, si vous ne liez pas cette bibliothèque, une fois que vous compilez le code, il compilera car il y arrivera. Mais, et vous exécutez le code parce que vous savez que lors de l'exécution du code, il sera lié à cela. Je suis très bien. Donc, dans ce cas, ce sera finalement la bibliothèque. Et puisque vous n'avez pas lié à la bibliothèque dans le secteur moderne, alors vous allez lier des lettres. Ne vous inquiétez pas pour ça. Nous verrons également comment il ne sera que lors de la prochaine session lorsque nous commencerons, je pense que le programme, donc c'est pour votre compréhension. J' ai également mentionné dans la présentation elle-même que ce que toutes les choses sont faites étape par étape afin que vous puissiez y vivre et réutiliser une vidéo. Et nous pouvons renvoyer cette présentation ici même. Donc, tout d'abord, nous devons créer un projet vide et non un bloc de bois. Ensuite, comme il va écrire le programme pour le C plus, alors nous allons ajouter un MPC plus le fichier source au projet. Donc, je vais également vous montrer dans la prochaine session et nous écrivons le programme dans le bloc de pores lui-même. Comment faire juste ce sont les étapes qui sont faites de moi non, non vers le bas. Et nous devons nous assurer intégré dans l'eau, puis des liens vers eux et Socket Library, qui est Ws pour souligner particulièrement de courte durée. Donc, ce sont les étapes pour lier que j'ai aussi mentionné ici. Donc, nous devons aller au projet, nous devons aller à l'option du milieu, puis cliquez sur les paramètres de pourcentage de lien de sorte que notre lien de liens va,
je pense, de sorte que vous pouvez lier n'importe quelle bibliothèque à elle et ajouter ce qui suit et les options de l'éditeur de liens. Donc, toutes ces étapes sont les étapes pour ajouter Susan me ou utiliser vraiment être en utilisant l' écriture du programme pour le socket pour le système d'exploitation Windows pour la ligne de crochet cellulaire. Puisque nous allons utiliser les méthodes ainsi que les champignons sont les fonctions qui sont définies dans ce fichier de bibliothèque, c'est-à-dire, celui-ci, Ws à 32 points. Cette bibliothèque contient toutes les fonctions de la méthode d'objet Windows définies. Nous devons donc établir un lien de cette manière. Vous allez lier, peut-être donner ces deux lignes qui est moins W en particulier et celle-ci. Donc, cela est très important, sera également voir dans la prochaine session comment réaliser, comment effectuer ces pertes étape par étape afin de lier ces bibliothèques. Puisque cette bibliothèque elle-même contiendra toutes les méthodes ou fonctions qui seront utilisées pour les exécuter dans cette programmation de socket. Donc, c'est le débat des hommes du Nord ne mettent pas en place ce qui est nécessaire pour écrire un programme client sur le système d'exploitation Windows. Ensuite, j'ai mentionné très important si vous n'utilisez pas de bibliothèques et vous arrivez vraiment à éviter cela. Vous devez faire ce milliard plus d'une série de lettres en tuant ce fichier de bibliothèque. Ensuite, vous pouvez commencer la programmation l'application mini socket pour le système d'exploitation Windows par ce fichier d'en-tête mentionnant. Donc, vous devez les mentionner dans le fichier d'en-tête socket DO2 qui vous
expliquent également dans la prochaine session ce que tous les fils Arctic d'entreprise que vous avez à gérer. Vous devriez inclure en fait pour que vous puissiez connaître les fonctions d'or. Et quand ces prises. Donc ceux-ci, donc via, via l'identité dissoute densité Waterman pour Windows pour la programmation du serveur socket. Voyons maintenant un autre sujet de cette session. Donc, ici, nous allons discuter des méthodes communes qui peuvent être
utilisées à la fois pour le règlement de socket ainsi que pour le client suivant ceux-ci. C' est donc spécifique à une partie spécifique du système d'exploitation Windows. Cette fonction particulière est utilisée qui est commune pour le serveur ainsi que pour le client, c'est-à-dire Ws tech startup. Et il a deux arguments. Donc, vous pouvez voir cet argument forcé comme donné dans cet homme. Et la seconde, je suis humain ne s'adresse pas à ces dirigeants WSDL. Foster boyd, Quel est le but de cette fonction de démarrage WSS ? Et il est nécessaire que nous devons, vous devez utiliser cette fonction dans Bork dit, client de
Venise, censé bouillir par ce qui est le but de ce OWN une start-up. Il est utilisé pour initialiser la bibliothèque. Donc, puisque nous avons vu que la bibliothèque mentale KC qui se faufile dans la configuration de Berlin Waterman. Donc, pour initialiser la bibliothèque, cette fonction est utilisée. Donc, ce que cette fonction fera, ouest nommé aux postes, registre des
arguments, présente sensible, et les initialise dans la bibliothèque soc. Donc, le coût du programme va vraiment nous aider tous Lindbergh a écrit un à utiliser, qui était cette socket hybride même qui peut être mentionné par ce post arguments. Donc, cela fonctionne et ce groupe est, comme vous pouvez le voir, Denon enregistrer deux virgule 0 spécifie que le programme voulait utiliser une version 2. Bien que la bibliothèque il y a nous avons vu, donc si nous avons donné une version différente en fait, donc cela va définir leur dévotion programme réellement budgétisé vous aimez seulement donc j'ai mentionné ici lui-même le FED ME DO, qui était de Vin socket, le programme un. Oups. Donc, voici le principal, que signifie DO virgule 0 ? Il voulait utiliser le programme de toilette 2.0. soda quand utiliser une version 2.0. ou cela signifie Socket Library censé appliquer cette fonction est utilisé pour initialiser la bibliothèque qui a signifié Socket Library. Et l'argument post dira que le programme veut utiliser, qui était l'un d'eux et socket. Et qu'est-ce que ce deuxième argument dit sur le forcé sur ce deuxième argument qui est qu'il est l'adresse des données WSB. Qu' est-ce que cette structure de données WSB ? Donc structure 1D, comme je l'avais mentionné ici. Supposons que vous mettez une deuxième meilleure prairie nomme DO connaître la structure de données WSSE. Donc, cette structure dans laquelle la responsabilité même dire le programme construit sur annuler le programme sur les informations critiques que la bibliothèque, même Socket Library. Mais là. Programme qui indique combien de sockets sont nécessaires à créer. C' est donc une information critique que la bibliothèque
passera à travers le programme en voyant ce que sont, combien de sockets, nombre de sockets que vous pouvez créer. Donc, cette structure sera remplie en fait avant. Donc, la structure sera quittée avant de revenir de cette fonction. J' espère que vous avez compris le but. Il est utilisé pour les initialiser dans les bibliothèques soc. Donc oui, nous devons mentionner l'avortement que vous voulez pendant qu'ils ont été la bibliothèque de socket. Et cela fournira, cela communiquera les informations, informations
critiques de la bibliothèque lorsque la bibliothèque de socket au programme, voyant combien de sockets sont nécessaires. Donc, c'est ce que la fonction est requise et ceci est spécifié sur les
fenêtres de besoin de savoir ce qu'un système d'exploitation Windows sur cette fonction est nécessaire. Vous devez utiliser cette fonction pour une carte ou un serveur, ainsi que ce qui attend le système d'exploitation Linux. Je mentionnerai également ce que d'autres choses peuvent être utilisées pour Windows et Linux afin que vous puissiez commencer la programmation avec Linux aussi. Donc aussi une averse vous, puisque cette session vous explique ce que toutes les fonctions sont présentes plus la configuration admin est nécessaire pour effectuer la programmation socket. Une sorte de fenêtres d'eau alcalines fonctionnant. Aussi. Pour le système d'exploitation Linux. Presque sembler des fonctions que vous pouvez utiliser. Vous n'avez pas besoin du système d'exploitation Debian Linux, des environnements construits, ou nous avons simplement besoin d'installer le compilateur GCC et il peut être déjà stocké dans votre système d'exploitation Linux. Vous n'avez pas besoin de lier ces bibliothèques. Aussi, nous avons vu dans Windows et le système que nous avons besoin de relier toutes ces bibliothèques, Albia delink, seulement cette bibliothèque qui est Louis Zoo, et une bibliothèque de socket décibable quart D2 sans fin. Puisque nous devons appeler les fonctions de cette bibliothèque. Et donc cette fonction est définie. Vous ne devriez pas obtenir démêler Arezzo avoir à lier cette bibliothèque, mais dans le cas de la feuille Feistel de Lena et cette bibliothèque. Donc, en cas de d, dortoir de l'industrie, duel de fil, cette bibliothèque qui n'est pas un environnement de construction mis en place comme ça. Rien n'est nécessaire. Seulement vous devez, vous devez vous assurer que vous êtes des compilateurs GCC installés. Cela n'est fait que pour les fenêtres. Nous avons exclu ce secteur supplémentaire. Nous devons lier cette bibliothèque afin d' utiliser ces fonctions qui sont présentes dans cette bibliothèque. Donc, c'est là que les tendances et Windows et Linux. Donc aussi en nous disant que nous n'avons pas besoin de cette fonction, qui est que cette fonction n'est pas présente. Donc, presque toutes les fonctions sont similaires à Linux et Windows sont similaires seulement les méthodes de carburant qui ne sont pas utilisées sous Linux et il y a une différence dans seulement quelques méthodes. Donc, un dysfonctionnement, comme je vous l'ai dit, n'
est spécifique que pour le système d'exploitation Windows. Ceci n'est pas utilisé pour le système d'exploitation Linux. Donc, une ligne par un, je vais également différencier en nous afin que vous puissiez commencer votre programme avec du sol Du Liniang donc il n'y a pas beaucoup de différence
, inégalement ou différence minimale est là. Donc, ce sera très facile une fois que vous êtes capable de faire le programme dans ce système d'exploitation Windows, il est tout aussi égal de gagner le Linux parce que demander va, sont les étapes et le conseil d'administration tôt. C' est plus facile que ça. Donc, vous pouvez comprendre, vous serez inestimable pour qui la programmation. Nous verrons donc également dans la prochaine session. Tout d'abord, laissez-moi voir la prochaine session quelles méthodes de rôle mis en place statique câblé un aussi le système d'exploitation Linux pour rentrer à la maison la programmation socket. Donc, ils ont fait cette séance vraiment tenable. Qu' est-ce que métalloïdes et Berlin Waterman femme synaptique ou système d'exploitation Windows. Et dans la prochaine session, je vais discuter quelles méthodes et quart de million d'installation Waterman est nécessaire, quel fichier d'en-tête est requis pour Linux ? Et puis dans la session ultérieure, considérer les différences entre la programmation socket pour Windows et les eaux Linux ont la profondeur est nécessaire. Ce qui relie les bibliothèques dans Windows, nous devons faire et non pas nous avons à faire pour Linux et nous ne sommes pas les fichiers d'en-tête sont nécessaires. Et quelle différence est dans les méthodes ou tous les points que vous discuterez étape par étape. Alors voyons. Donc, j'espère voir que vous avez
compris, compris cet accent sur w Et maintenant à la prochaine fonction TO, qui est commun à la fois au serveur et au client. C' est la fonction socket. Donc, cette fonction socket que vous devez créer ou latéralement ainsi que la faune. Donc, nous avons vu lors de notre session précédente sur de sorte que c'était notre conseil incliné. Navier a besoin de créer un socket en fait, et il a besoin de communiquer malheureux entre le serveur et ensuite le socket que nous serons, nous allons utiliser, vous allez créer ne devrait pas avoir le même type de socket ainsi qu'ils devraient être ayant le même domaine d'ambulance. Donc, ce sont des choses de base sur la socket et discutées dans les sessions précédentes. Donc, je recommande que, je vous recommande de passer par là,
fouiller cette session avant d'en venir à cela. Donc, cela vous aidera également à comprendre ce qui est, alors quel est le but de cette socket ? I actionnaires indices de football sont publiés qui est utilisé pour créer un socket. Donc maintenant, lors de la création de la socket, nous avons de la dimension. Quel est le type de socket ? Donc, ici, vous pouvez voir les trois deuxième arguments présents. Et c'est si j'ai souligné les ins et la chanson soulignent la crème et c'est un groupe d'huile. C' est le protocole IP et le PCP. Si hostile que jamais via la création de socket, nous devons mentionner la socket. Donc, cet archétype peut répondre au type de flux ou il peut s'agir d'une page panam. Donc, je vais également mentionner sur l'insertion socket de base que, cependant, quels types de prises sont disponibles et Warhol adresse domino soul ici, ce type de socket peut répondre à un type non fiable. C' est l'équipe évidente payer sur picogrammes
irréalistes d'utiliser le flux qui est fiable. Donc plus fort attacher ce gène couches nouvelles parce qu'il est très fiable. Et ce que toutes choses ont été faites. Et comme je l'ai mentionné lors de la session précédente, veuillez y aller. C' est donc le deuxième sujet d'argument. Et voyons un par un ou deux ou trois arguments sont. Donc, OK, donc ici, cet occupant est composé de trois arguments. Le premier argument EF souligné, qui est l'eau intelligente cette, donc il est une famille d'adresses Internet. Donc, ici, nous utilisons la version IP quatre. Il y a donc deux types. Il y a la version IP quatre et la version IP six. Donc, puisque nous utilisons la version IP quatre, nous devons écrire cette adresse internet familles ir, souligner l'ARN. S' il aurait utilisé la version IP six, nounous devraient rencontrer IAA et l'école et spécifique pour cette logistique via bleu, non ? Donc, ce sont ces métadonnées sur les familles d'adresses Internet. Donc, vous devez céder cet aimant lui-même. Et le deuxième argument que le flux de socket que, comme je vous l'ai mentionné, qu'il est un streaming sockets. Donc, cette prise fiable. Ensuite, nous devons mentionner le type de la socket, que
ce soit un grand type de thème sur REP dissoudre, type datagramme, si sincère et en utilisant de la vapeur. Vous devez donc mentionner l'argument de Todd et de toi qui est celui-ci. Il est, il mentionne quel protocole est utilisé et pour cette orcas Gim me, avez-vous vu qu'il a utilisé un protocole de communication, RTCP. Si ce dipôle, cette socket était là, datagramme, et ce sera un UDP. Mais puisque nous utilisons leur type de socket, semble donc son protocole de communication est TCP ou IP oblique. Donc, j'ai mentionné dans la session précédente ou le socket V6. Alors s'il vous plaît, passez par là pour comprendre ce qui est illégal. Donc, aucune méthode de socket redondante éditable ne reviendra cependant. Descrip va ou actualise le référencement vers le socket créateur. Donc, ce que cette fonction particulière admin a monté Mildred sur le descripteur pour adopter une nouvelle socket qui est créé. Donc en ajoutant ce descripteur que vous y arriverez. Et vous pouvez utiliser le descripteur de données et vous pouvez faire fonctionner les différentes fonctions. Voyons donc un par un. Maintenant, une autre méthode commune qui sera utilisée pour le serveur ainsi que pour le client est le socket d'indice. Donc ici, il est utilisé par le nom lui-même. Vous pouvez comprendre n'importe quel autre ensemble d'une prise ou il peut décliner car il est commun à la fois pour sept et beaucoup de dysfonctionnement Lukoil. Donc, ici, nous demandons l'idée de service de regarder cela, j'étais occupé. C'est un descripteur. Tous les délais de production, football, alors vous devez donner leur descripteur de la prise. Donc année deux pour cela, il est utilisé pour déconnecter cette fusée, et c'est v. Pour le système d'exploitation Windows, nous avons d'abord socket Golden Globe, et ensuite vous devez faire w. alors qu'est-ce que ce nettoyage WSS ? Parce que pour délocaliser les ressources qui sont utilisées par la bibliothèque de sockets. Donc ce sol sont les détails et comment l'utilisez-vous de cette manière ? Donc, ceux-ci sont plus anciens, sont les méthodes communes qui seront utiles. Sidebar en tant que connaissance du client voir des méthodes spécifiques qui peuvent être là pendant que le serveur. Et puis nous verrons les méthodes spécifiques pour
les lignes qui dérangent ceux qui utilisent un système. Donc maintenant nos amis vont être, maintenant les méthodes spécifiques que nous allons parler
seront communes à bord ou le système d'exploitation Windows,
ainsi que si le système d'exploitation infirmière sur ces méthodes spécifiques sont semblent. Bien que ce n'est pas une différence dans les fonctions pour le système d'exploitation Windows que
les hommes comme un système d'exploitation Linux et vous écrivez programme socket pour la revendication souveraine. Ce sont les méthodes courantes. Il peut être utilisé ce qui va les adopter. Donc, seule la différence que je vous ai dit était dans cette fonction qui est WAC a commencé l'installation est utilisée sur Ebola et va système d'exploitation. Vous devez avoir besoin d'un, il est commun pour le serveur et le client Windows système d'exploitation, programmation de socket. Et aussi une chose de plus. Et je vais divulguer la prise. Donc, c'est aussi une différence et le système d'exploitation Windows et solide. Dans le cas de
Nino, vous allez sortir du glucagon cette perte. Vous allez également déconnecter le socket, mais ne pas appeler cette fonction sera sur fonctions de perte
IQ doivent être remplies et mentionner que dans la prochaine session, quelles méthodes sont utilisées ? Donc seulement que Louis XVI utilise, vous n'avez pas besoin de nettoyer toutes les différentes façons de fermer cela pour déconnecter la prise. Donc, ce n'est que la différence entre le système d'exploitation Windows et fait système d'exploitation Linux ou socket qui regardent les lignes. Donc, toute la pile de repos maintenant, nous allons discuter ici, ce sera Coleman, Do the Windows Operating system, Linux Operating system.
8. Socket Session5 Socket: Bonjour, bienvenue dans cette nouvelle session, c'est-à-dire sockets advert méthodes
client. Quelques minutes avant la session, il avait vu la conférence sur les
méthodes clientes du serveur de
socket pour Windows. J'espère que tu l'as
traversé. Ce sera donc suffisant
si vous avez parcouru cette session, car presque les mêmes concepts
sont expliqués ici. Mais j'ai une différenciation
pour Linux. Quelles sont les choses spécifiques que
j'ai utilisées pour Linux, quelles sont les configurations complètes requises, vous
discuterez au cours de cette session. Ce n'est pas plus que cela. Ce n'est pas une grande différence. Dans le serveur de socket Linux et
Windows seules quelques
défenses de méthode sont toutes identiques, elles sont identiques à celles qui reviennent
à l'arrière de ces fenêtres. J'espère donc que vous avez
passé la session précédente. Donc, pour comprendre plus rapidement cette
séance, je vais le couvrir. petits colliculi parce que
presque les choses communes qui sont présentes ici, Linux et Windows mu vont bouger chaque semaine et le reste des choses qui sont
spécifiques à l'ordre, je lui donnerai là-dessus. Donc, jusqu'à présent
, vous allez couler plus facilement au lieu de passer par
quelle session à plusieurs reprises. Voyons donc ici, quelles sont les méthodes
en ligne des sockets pour Linux ? Ce que sont toutes les choses,
elles ne sont pas nécessaires. Voyons voir, étape par étape. Ne vous inquiétez pas, vous
comprendrez tout. Nous allons avancer étape par étape. Les sujets que je vais
aborder ici, il
discutera des méthodes courantes sont
les API que je n'ai pas enregistrées sur le serveur de carte
ainsi que les clients. Voici donc les deux méthodes. Donc, dans la première rubrique,
nous verrons quelles sont
toutes les méthodes courantes de
fonctions, qui pour la
barre latérale puis le client, et qui est utilisée pour Linux. Ce sont donc les méthodes
qui sont courantes. C'est-à-dire qu'il existe deux méthodes. La méthode Socket est morte et l'autre méthode
est la méthode close. Donc, dans le cas de Windows,
nous avons vu, dans ce cas, une méthode supplémentaire était le démarrage de WSS, je vous ai dit qu'elle est utilisée
pour les initialiser dans bibliothèque de
sockets et nous devons nous lier
à cette bibliothèque. Mais dans le cas de Linux, cette méthode n'est pas
du tout présente. C'était une chose supplémentaire
concernant les fenêtres. Mais dans la laideur de A,
ce n'est pas là. Nous aurions donc également besoin de lier
n'importe quelle bibliothèque, c'est-à-dire socket. Nous devons relier n'importe quelle bibliothèque
en cas de linéaire, il suffit de l'installer. Le compilateur Gcc est installé et nous sommes en mesure de
démarrer la programmation. Il s'agit des méthodes
courantes pour le
serveur et le client. Autrement dit,
les deux seront utilisés maintenant, voyons ce que c'est. Maintenant, les autres sujets qui seront abordés
seront le côté des méthodes spécifiques et nous allons sombrer
avec les tribunaux. Et nous voyons toutes les méthodes, qu'elles soient côte à côte, spécifiques au serveur lui-même. Et nous verrons toutes les méthodes spécifiques au client lui-même. Donc aussi pour toutes les méthodes dont
nous discuterons, modèles et spécifiques et spécifiques
au client. Les mêmes méthodes
que celles utilisées pour Windows, toutes
ces méthodes sont également
utilisées pour les déplacer. Donc presque tout est
identique, juste les différences. Cette année-là, la
fonction WSS Startup n'utilise pas Linux, ainsi que la méthode SOC close
qui sera consultée ici. La syntaxe fonctionne différemment. Tout est similaire à celui
des fenêtres et
du linge de maison. Par conséquent, cette fonction spécifique
au serveur sera également la même pour Windows et Linux et méthodes spécifiques aux
délais seront les mêmes. Voyons donc les
choses, puis discuter mêmes
méthodes courantes ici gouvernent méthodes utilisées pour le serveur
ainsi que les revendications, c'est très nécessaire. Le nœud important que je vous ai dit que dans Lena, il
n'y a pas de fonction WSS Star Dot utilisée qui a une fenêtre
ayant cette fonction. Vous avez vu que
les méthodes courantes dont nous avons discuté
au cours de la session précédente, nous avons vu qu'il existe
trois méthodes extraites. On connaît le démarrage WSS
qui a été utilisé pour initialiser la bibliothèque, c'
est-à-dire la bibliothèque Wind Socket,
et vous devez la lier. Donc ici, dans ce Linux, cette fonction
n'est pas du tout présente, donc vous n'avez pas à vous
soucier de la liaison également, aucune configuration n'est
requise pour cela. Pour que seule sa jeune fille
qui le télécharge. On arrive ensuite aux méthodes
génomiques qui sont utilisées pour le serveur
et le client dans le cas de Linux. La prise est donc utilisée. C'est donc la même chose
que pour Windows, vous devez créer le socket. Il faut y passer des
arguments. Ce premier argument est
la famille d'adresses. Ici. Cela peut être pour IPv4, IPV6 lorsque nous donnons EF et l'école que je
devais, ce qui signifie que c'est amusant. Je pense qu'il en
aurait mentionné six, alors il sait ce que IPV6, c'est ce retrait
et sa famille donne tel quel, comme
je l'ai donné ici. Deuxièmement, vous devez
passer le type de socket. Donc, j'avais discuté dans
cette conférence de base avant cette session et j'ai dit que bien qu'il y ait
deux types de conduits, les types de douilles,
c'est-à-dire les prises de courant et prises de
datagramme. et stream
est un manifeste fiable. Je suis datagram n'est pas
fiable et il avait vu quelles sont toutes les
fonctionnalités disponibles pour la fiable
et ce qui n'est pas fiable, nous utilisons surtout
leur socket de niveau la
plupart du temps parce qu'il fournit une
correction d'erreur tout. Donc, toutes les choses
que vous pouvez aller à la première session,
donc cela peut être six. Et la troisième chose que
vous devez mentionner le protocole de communication. Donc, depuis ce gène, donc je vais confondre ce protocole de
communication est TCP, nous mentionnons ici PCP, s'il s'agissait d'un datagramme et qu'il utilise un protocole de
communication différent, il est nouveau dont
j'ai également discuté lors la séance sur les oignons sur le
non-dommage que je viens de mentionner. Ensuite, il y a trois fonctions la même manière que celles que j'ai
mentionnées pour les fenêtres sont
également identiques ou
ignorées, alors cette méthode de
socket particulière
retournera un
pseudo socket descripteur. Où que vous créez le socket pour le cours
ou où se trouve notre gamme de produits, il retournera un descripteur
sur la socket pour cette ligne sombre en
fonction de l'endroit où vous l'utilisez. Ensuite, la chose suivante est
que les charges fonctionnent. Ici encore, cette fonction
proche est que nous utilisons dans le cas
de la prise fermée de fenêtres. Il y a donc une
représentation différente. Vous déconnectez
la prise par rapport au leader. Donc Nina est moi, j'utilise des inclusions et nous conservons
leur descripteur. Si c'est du football latéral, réagissez en le perdant,
alors vous devez mentionner qu'il est
scénarisé de service. D'accord ? Oui, j'ai mentionné inclure
la ligne de produits de socket que vous ne l'êtes au
descripteur du déclin. Ensuite, vous verrez
maintenant ces méthodes spécifiques au
matériel. C'est courant pour
Linux et Windows. Donc toutes ces choses qui
seront répétitives si avant cette session vous
avez passé par cette session,
c'est-à-dire socket dit, Eh bien les fenêtres quadruple client,
si vous êtes parti, alors vous trouverez ceci
chose presque identique. Cela sera spécifique
à la barre latérale. Nous avons donc déjà vu que la barre latérale doit se lier à une adresse IP
particulière
ainsi qu' à un numéro de port associé
chaque fois qu' une communication
doit avoir lieu. Tout d'abord, nous
devons montrer que le serveur est en cours d'exécution pour
qu'il puisse exister. Il est capable de recevoir toutes
les connexions du client chaque fois qu'il s'agit d'un client
Ignite this, comment il comprendra l'
identité du serveur. C'est pourquoi
le Salvo doit être lié à une
adresse IP et un numéro de port particuliers. Par le nom lui-même, vous pouvez comprendre que le mien signifie
qu'il est lié à
quelque chose à l'intérieur
de liaison avec l'adresse
IP et le numéro de port particuliers. Donc, tout ce que je vous
ai dit est écrit, est comme
ça que vous appelez
la fonction bind. Vous écrivez l'
argument impulsion en tant que descripteur. Ensuite, vous êtes le second
est un pointeur sur la structure, puis la
taille de la structure. Donc, ce descripteur est
un descriptif que vous atteignez la socket lorsque
vous appelez la méthode socket, il renvoie le descripteur dans la socket de la barre latérale afin que
vous ayez une dimension ici puisque via a m'envoie
En utilisant leur descripteur de cette prise, nous n'avons besoin que de lier les sédiments, d'accord,
nous devons le mien. Et à la seconde, nous donnons
la structure de la prise. structure plus humide est donc nécessaire. Il est nécessaire pour que vous puissiez remplir les détails de
l'adresse à laquelle ces conseils devraient être
achetés pour vous retrouver avec un numéro et d'autres choses
comme la famille d'adresses. Je vous explique également que cette adresse que
nous la remplissons est si nous
avons donné au serveur un EDD souligné et
installez une nouvelle session. Je vais vous expliquer que vous voulez que
l'importance est
très importante. Le numéro de code, il
doit être supérieur
à 10 à quatre car il est
utilisé lorsque 0 à quatre. Il devrait donc être
supérieur à 0 pour l'
un d'entre eux utilisé en nombre
particulier. Il s'explique par les trois cinquièmes. Nous allons simplement
passer en revue et voir quelle est la limite
de 65535. Et puis c'est le numéro
un, peu importe ce que vous avez mentionné, le numéro de port sur le
serveur, vous devez dire mentionner la même
fenêtre. Externalisation des clients. Il s'agit d'un numéro de port sur
lequel le serveur achète. À faire. J'ai expliqué maintenant que lorsque nous avons vérifié les
erreurs ici, vous pouvez le signaler plus tard. Je vous ai donc expliqué
tous ces paramètres. C'est juste un Non, ne le dites pas. Voir la fonction suivante est décidée par cette fonction
écoutée. Cela est commun à la fois à
Windows et Linux, spécifique à ce serveur. douille. douille. Pour la leçon, une fois qu'elle est liée à l'adresse IP
et au numéro de port, elle doit écouter cela. Pour écouter Dan, nouvelle
connexion du client. En outre, une chose que j'ai
ajoutée ici tout à l'heure parce que c'est
une erreur qui était morte. En outre, la même chose
simplement écouter la fonction. J'ai manqué que dans le
cas de Windows aussi ce que les méthodes de
socket de serveur. Voici donc les
paramètres supplémentaires qui, c'
est-à-dire en pliage,
s'appellent Allison punch. Mais dans la programmation que j'
ai écrite de la même
manière que nous l'avons fait, je vais vous expliquer,
qui va l'exécuter. J'ai exécuté de cette manière. Il est dit que passer les deux sont des
humains qui sont nécessaires. En mentionnant simplement dans cette
présentation, je l'ai raté. Nous parlons de la
fonction de leçon lorsque le podomètre supplémentaire, que j'ai édité
comme colonne vertébrale. Cet arriéré est
le deuxième argument ici. Ce que c'est, pourquoi il est
nécessaire avant tout u et v mentionner le descripteur de prise de
trottoir. Dans le deuxième carnet de commandes, cela
indique la quantité
de demande de connexion du client
dans la file d'attente. Par exemple, si vous donnez ici. Cela signifie donc que vous
dites que la post-conversation sur cette prise est capable de recevoir soit un conseil d'administration et des actions de déclin économique. Mais cela sera dans la file d'attente car puisque le Bazin
One est en cours de processus, s'il y a plusieurs lignes, aimant et les actions seront dans la demande de connexion de flexion. Donc, ceux qui attendront
réellement un opprimé dans un qui terminera la mine
actuelle est terminée, puis la valeur secondaire
sera d'
écouter celles des connexions
une par une à la fois. L'un sera traité, mais l'autre sera en soins intensifs. Donc, le nombre de connexions du client que
vous souhaitez conserver dans Q, vous pouvez mentionner dans
ce deuxième argument. Donc, toutes les sources
semblent dans le cas
du système d'exploitation Windows. J'ai donc expliqué
la fonction de leçon, mais j'ai manqué de donner
le deuxième argument et cela considère juste la même
chose qui est au Texas, même depuis que je le vois juste
pour Windows et Linux. Ainsi, le deuxième argument sera ajouté au repos,
tout est enregistré. J'ai juste manqué celui-ci. Maintenant, c'est ainsi que vous allez écouter d'autres nouvelles demandes de
connexion,
pour leurs demandes de connexion
à partir du dysfonctionnement du
dépôt de délai. Ensuite, vous appelez
la fonction de sortie. Et c'est que j'ai écrit
la fonction de sortie dans laquelle vous allez donner le
descripteur ici sur le serveur. Ensuite, vous mentionnerez le
pointeur vers la structure. Et puis un an pendant différentes
choses qui existent, c'est le client un DDL,
que vous obtiendrez. Donc ici, tout d'abord, dans le cas de la fonction de sortie, cette structure que vous
allez nous donner tout ce qu'elle
renverra cette fonction de sortie, elle retournera notre descripteur
de la nouvelle socket. Donc tout ce que vous avez à descripteur de
socket post socket descripteur. Vous avez glissé
le menu appelé fonction socket. Ici. Lorsque vous suivez la fonction
socket, vous avez acheté un descripteur.
C'est donc le cas. Il est utilisé pour recevoir
de nouvelles connexions. Pour la connexion
, il est utilisé, c'est ce
descripteur de tri que vous obtenez réellement lorsque vous appelez la fonction de sortie
et cette adresse. Il s'agit de poudre descriptrice Doug. Il est nommé
socket Glenoid car vous obtiendrez un descripteur pour le nouveau descripteur de
socket ou vous déclinerez. Ainsi, avec ce script, vous pouvez communiquer avec
cette ligne et envoyer les données pour refuser ou recevoir
les données à partir de neuf. Ainsi, les photographes déco
pourraient
utiliser Bazaar car ne
bloquez rien une fois que ce descripteur de socket
peut être utilisé pour connecter les demandes des
clients et que les descriptifs
ISACA deviennent attrayants lors de l'envoi et
de la réception des données. Il y a donc deux descripteurs. Et c'est à quel point le jugement vous explique ce que vous devez faire, comment remplir
cette structure, cette structure. Il faut mentionner les détails
de la structure elle-même. La prochaine chose entre
voir, c'est qu'une fonction C. Donc aussi une chose pendant le socket serveur, vous pouvez
appeler la fonction de réception. Vous pouvez appeler la même fonction. Donc, tout ce que vous pouvez appeler
en fonction des besoins. J'ai un bon
aperçu de cet indice. Mais cela n'est pas utilisé pour
recevoir le message
du client afin de voir s'il s'agit de
l'adaptateur sur cette ligne. Et ici, vous devez mentionner
que socket en fait. Donc, puisque nous ne pouvons pas
créer la socket
, nous avons obtenu ce
descripteur quand nous l'appelons, les
expositions sont au
descripteur lui-même. Nous devons recevoir cela. Tout ce que nous recevons du client sera recueilli
ici avant de
pouvoir l'imprimer avant qu'il
ne soit de caractère industriel. C'est donc ce qui se passe dans
le cas de l'ensemble de fonctions spécifiques au serveur. Et c'est la même chose pour eux ,
ainsi que pour Linux. Voyons maintenant les méthodes client qui sont une date limite spécifique. Donc, inclinable pour simplement le connecter même manière que je
vous ai expliqué lors de la
session précédente pour Windows. Il est utilisé pour communiquer
sur le réseau. Il est nécessaire de se
connecter au serveur. Nous devons ici mentionner
cette structure d'adresses. Aussi une chose que je vais très
vite dans cette session qui est pour les méthodes
client de la barre latérale socket pour Linux, car dans la
session précédente, il y avait des méthodes clientes
publicitaires pour Windows. Je vous ai tout expliqué
pour Linux aussi, la même chose juste, il y a un prince de beauté
dont j'ai parlé vous et vos dysfonctionnements de
repos, dont je parle. Presque tout est identique. Il y a donc une raison pour laquelle je
vais vraiment des mots de passe très, il est
recommandé d'acheter avec Danio session pour mieux le
comprendre. Mais je
couvre tout. Je ne manquerai rien. Je ne veux donc pas que tu partes
à plusieurs reprises. C'est une raison pour laquelle le jeu est
passé ici pour se connecter. La ligne **** est uniquement
censée se connecter. C'est donc ce que nous avions
tendance à céder leur dette. Il s'agit donc d'une dimension, de l'adresse
IP de la machine hôte
locale. Ainsi, dans notre cas, E et B ont la communication socket
au sein de la même machine hôte. Ainsi, même si vous le pouvez, vous pouvez avoir une
communication par socket sur la même machine hôte ou
au sein de différentes machines. Donc dans ce cas,
chaque fois que vous avez
une communication par socket, une fois
que j'ai lu, vous avez enclin à
courir sur la même machine, même ordinateur portable semblait s'arrêter. Ensuite, dans ce cas, l'IPS, le client
devrait se connecter à la récupération de donner l'
adresse IP sur le serveur où cette ivoire par m2 afin que vous puissiez
simplement mentionner l'idée de la adresse IP locale
car puisque nous exécutons
le client serveur sur la même machine hôte. Donc, de cette manière,
vous devez mentionner ici
IBM Internet et sa famille. Et le numéro de port que vous
devez me mentionner était que
nous avions des liaisons à
ce numéro de port, donc je donnerai
la même chose du côté client, puisque le client se connectera
au même numéro de port, puis nous appelons la fonction
connect dans descripteur de
pâtes de la prise que nous avons obtenu en la créant. Ensuite, c'est juste structuré
entre l'abrogation avec ceci, je serais à cette fin, le numéro de port et la taille de la structure. C'est le, c'est un vieux
Donato à propos de la table, une autre fonction est celle du capteur. C'est le client, c'est
la connexion en appelant
simplement la
fonction connect de cette manière, c'est simplement alors qu'il peut
envoyer et recevoir les données. Il s'agit donc d'une syntaxe
et vous pouvez également recevoir leur
fonction de semence de qualité à partir d'ici. En l'envoyant, nous envoyons
une chaîne de caractères, même chose, apprenant la
programmation de socket en profondeur. Nous transmettons les données du descripteur de
socket, envoyant cette
chaîne de caractères dont nous avons échoué avec les données côté Bouddha. Et ensuite aussi à partir du client, c'
est-à-dire d'ici lui-même, ces données seront envoyées
au serveur dans la
taille de cette chose. C'est donc ce que nous
enverrons conforme à plusieurs amis. J'en ai fini avec ces méthodes
Brookline pour Linux. Vous pouvez donc
comprendre en résumé, vous avez compris ce que
tous les princes, leur affiche pour un
dipôle sous Linux, il n'y a pas de configuration ni de liaison la
bibliothèque Wind Socket puisque nous sommes ne pas utiliser ces fonctions. Dans le cas de Nina, il
n'y a pas de fonction WSS Startup. Par conséquent, cette chose n'
est pas un dysfonctionnement n'
est pas le cas président de Linux. Ensuite, reposez d'autres choses comme la création de
socket est similaire
à celle des fenêtres également. Et la fermeture de la prise, nous devons également déconnecter dans
le cas de Windows, ce que la saisie de l'index est déterminée dans le
cas de Windows que nous
appelons prise de colle et
il y a différents, nous faisons également le nettoyage. Mais dans le cas de Linux, rappelez-vous
simplement que
Lewis fonctionne pour déconnecter le socket. Il s'agit ensuite
des méthodes
spécifiques utilisées pour le serveur. méthodes qui
lient ou le trottoir que nous
allons écouter puis accepter toutes ces
choses qui seront communes pour système d'exploitation
Windows
ainsi que pour les linéaires, pour les Lynas qui ont répondu de la même façon et pour les
fenêtres de la scène. Ce sont les choses
qui existent. Dans le cas du côté client, également les
méthodes spécifiques du client qui seront présentes, qui seront également courantes pour Linux et n'
importe quelle fenêtre. Vous devez donc vous connecter
depuis le client. Nous devons envoyer et
recevoir leur fonction. Envoyez et recevez les données. C'est donc ce que nous avons
vécu maintenant dans cette
session, je vais vous
expliquer la différence
entre les sockets d'application pour
Linux et Windows. Pour que je vous explique. C'est beaucoup de choses,
donc elles seront là, qui sera courant
jusqu'à présent, nous avons étudié c'est le
Waterman gagnant installé sur Windows, mentionnant
simplement cela pour
relier la bibliothèque et ensuite Linux inconsidéré
pour simplement installer GCC semblait
s'assurer que cela évoque. Ensuite, je vais vous expliquer
quels
sont tous les fichiers d'en-tête requis pour Windows, quels sont les propres fichiers d'en-tête
requis pour Linux ? Alors, quel code supplémentaire est requis pour Windows et quelles sont les méthodes
courantes ? Ce que je tape vérifier, comment vous allez signaler
une erreur sous Windows, comment vous signalez sous Linux. Une conférence morte. Nous serons vus une fois que vous aurez
passé cette session, puis plus tard, nous
commencerons la programmation. Les milieux que nous avons
vus vous
apprendront et
aussi en respiration sifflante. Une chose importante est que la communication client du serveur
HTTP sera en cours d'exécution si
vous ne l'avez pas
vu, en voyant comment le navigateur
parle avec le serveur Apache, comment
se déroule la communication chaque fois que vous ouvrez n'importe quel site, chaque fois que vous souhaitez ouvrir Beijing Jenny sur le navigateur
du navigateur envoie une demande, comment il sera connecté
au serveur Apache et comment les données seront remplies, comment la page sera remplie
de cela, avec ces données, la page sera
chargée afin que nous être vus en utilisant le socket, utiliser la communication
du serveur HTTP qui est très importante. C'est ainsi que nous allons
procéder étape par étape. Merci. Merci beaucoup.
9. Socket Session6 de différence ; Socket pour Linux: Bienvenue dans cette nouvelle
session qui fait la différence entre Windows et la programmation du socket de
Nina. Nous avons déjà vu dans
la session précédente les méthodes de socket Windows ainsi que les méthodes de
socket milliardaire. Et j'espère que vous avez assisté
à ces séances. Ils seront très utiles dans l'
esprit de cette session. Ce sera cela
qui vous donnera la différence entre les
fenêtres et celles de Nina. Mais certains adultes ici. Commençons. Sujets. Nous couvrirons la
défense dans configuration de
l'administration de l'eau pour effectuer la programmation des sockets
sous Windows et Linux, nous en discuterons. La prochaine chose que nous
discuterons ce que tous les
fichiers d'en-tête sont nécessaires pour la programmation des
sockets sous
Windows et Linux. Ces fichiers d'en-tête seront différents
pour les deux. Ensuite, nous verrons la
défense et peu de méthodes. Il s'agit d'une fonction
de programmation de socket
sous Windows et Linux. Bob. Donc, dans ce troisième, vous êtes peut-être un métal presque tout parce que nous
avons vu dans la session
précédente elle-même en vous faisant comprendre programmation de
socket pour
Windows et Linux. Je vous avais dit quelles fonctions sont utilisées sous Linux et Windows. Presque les séminaires sont presque
toutes des méthodes que j'utilise des globules rouges, fenêtres de dépôt
sur place et des fenêtres de dépôt
sur place et
une légère différence dans l'une des fonctions
et le reste. Toutes les choses que j'ai vues ont décidé de la configuration. Voyons donc voir. La quatrième, je
discuterai du sujet qui est différent
du scénario
Reporting entre Windows et Linux. Commençons donc maintenant la première publication
qui est la configuration, le prince et la facture,
ou les deux, faux. Nous verrons
la configuration du bac pour
les fenêtres pour effectuer la programmation du socket.
C'est donc B. Ce sera un peu
répétitif car nous
avons vu dans une
session précédente sur la source, le système d'exploitation Windows pour effectuer la programmation des sockets, nous devons lier à
la bibliothèque qui est Nous soulignons 32 points lib. Parce que nous
utiliserons les fonctions. Les fonctions sont définies dans ces bibliothèques pour la
fenêtre, le socket de fenêtre. Par conséquent, nous devons lier cette bibliothèque car le temps
d'exécution, si vous ne liez pas cette
bibliothèque plus tard lorsque nous exécutons le programme, il nous donnera
la liaison plus tard. Il ne trouvera pas la bibliothèque
car nous ne l'avons pas reliée. C'est donc très important
et les étapes pour le lier, j'ai mentionné ici la même chose, les options de construction du projet. Ensuite, nous devons cliquer sur le lien ou
les onglets de réglage et
ces choses, voici les étapes que
vous devez parcourir. Ensuite, vous devez
ajouter ces bibliothèques. Nous écrirons également le programmeur et vous montrerons
manuellement comment le faire, parcourir sur l'
idée et vous expliquer. C'est très important. La configuration est vraiment importante. Sinon, vous obtiendrez un
lien au moment de l'exécution. Maintenant, vous avez dimension, le boîtier pilote d'en-tête sur la programmation de la prise de
fenêtre. Maintenant, voici la configuration du
bâtiment Waterman, l'unité élémentaire
si je suis plus tard. Ensuite, la configuration du bâtiment
Waterman pour les Linuxes, vous devez simplement vous assurer que votre compilateur GCC
est installé ou non parce que c'est une
nouvelle de compiler le code qui est
différent mais idéal. Et donc, si vous souhaitez
passer par l'interface utilisateur de l'interface utilisateur, vous ne pouvez pas utiliser la ligne de commande. Vous pouvez installer un ID particulier, ce cas, et vous pouvez
créer un projet en réalité. Et vous pouvez envoyer du code de fuite ou de programmation ainsi
que du code programmation aléatoire ou aléatoire. Vous n'avez pas besoin de
lier la bibliothèque. Si vous utilisez un dessin en ligne de
commande, assurez-vous que votre GCC est bien, il
s'agit d'un compilateur
installé ou non. Il sera installé par défaut
sur les images et plus court. Aucune librairie de liaison ne
sera requise dans le cas
des bibliothèques Linux. Et nous devons mentionner
quelques fichiers d'en-tête pour Linux également pour
faire la
programmation de socket dont nous
discuterons plus tard dans les diapositives ultérieures. Maintenant, cette configuration
est suffisante pour démarrer la
programmation sous Linux. Voilà donc ce qu'il
y a en fait dans Windows et dans les libéraux. Et la différence suivante
pour la tarification des en-têtes entre ce que le fichier d'
en-tête doit être inclus ou Windows pour effectuer la programmation du socket
et pour la zone linéaire. Il s'agit donc de fichiers que
vous devez inclure mon
système d'exploitation Windows pour effectuer la programmation de socket.
Il faut que tu le fasses. J'ai mentionné ce stdio.h iodo, LA simple entrée-sortie pour afficher
simplement le message
sur la console ou
simplement donner l'entrée
de la console. Mais c'est ce qui se passe. Ce sont les
fichiers de crédit que vous devez fournir dans le cas de Windows. Ensuite, le bord du point de chaussette à vent, c'est spécifique à eux lorsque les fonctions de
socket
seront déclarées dans ce fichier d'en-tête. Vous devez donc mentionner
ce tuyau d'en-tête. Ensuite, il faut mentionner que les
MST vivaient sur le bord. Ce sont les trois
fichiers d'en-tête dont vous avez besoin pour effectuer
une
programmation de socket dans les devinettes. Ensuite, la date limite, vous devez mentionner tous
ces fichiers d'en-tête. C'est le dotage de socket
DIN stdio.h, I dotage, std lib,
string dot edge. Et puis vous Anna,
Anna, UNI stdio.h. Donc tous ces fichiers d'en-tête. Vous devez donc donner, dans le cas
du système d'exploitation Linux et vous effectuez la programmation de
socket. Ce sont là les différences
entre eux. Le sujet suivant
dont nous allons parler, quelles sont
les différentes méthodes entre les
différentes pour Windows
et l' ordre lorsque nous avons vu une
programmation de socket blanche jusqu'à présent, Windows, comme je vous l'ai dit, c'est la
fonction supplémentaire que nous utilisons. Cela est très nécessaire pour le système
d'exploitation Windows. Il est utilisé pour initialiser. Vous avez tous été une
bibliothèque de sockets, mais cela indiquera au réseau que le programme veut que vous puissiez utiliser la version numérique de la bibliothèque que le programme
veut que vous utilisiez. Cela
vous donnera donc la version deux chiens 0 sur la bibliothèque de
souches éoliennes. Le programme
indiquera cette version que vous devez utiliser
pour cette bibliothèque Mintaka. Et cette fonction est utilisée pour
initialiser la bibliothèque de sockets. Et la deuxième structure de données
indiquait la structure. Ainsi, la structure aurait été la bibliothèque de sockets fournira les informations
critiques de communication tout en communiquant le programme, voyant combien de sockets et permet de le
faire. à créer. Donc toutes ces choses
existent dans le cas de New, dans le cas du
système d'exploitation Windows, pas sous Linux. Il s'agit donc d'une
fonction supplémentaire qui est que dans Windows
et vous ne savez pas, vous n'avez pas besoin d'utiliser une valeur nominale. Il s'agit donc d'une différence
dans l'une des fonctions. Cette méthode
les distribue individuellement, IX étant une nouvelle version, le cours le lira mieux comme la visualisation sur les bibliothèques. Deuxièmement, lorsque je vous donne
les informations critiques sur la
quantité de ces
sockets qui peuvent être créées, elles seront envoyées de la
bibliothèque au programme. C'est ce que j'avais mentionné.
Oui. Puis Nina dit que je vous ai dit qu'il
n'y avait ni stock ni fonction, initialisation
ni cousine Nina. Maintenant, une autre chose est que
dans le cas des fenêtres, sont des fonctions qui sont utilisées pour déconnecter
la prise. Nous devons appeler ça la fonction
close socket. Vous devez provoquer ce descripteur de
socket. C'est ce que j'
espérais que parce que j'ai dit à propos de notre
client avait une offre
scriptée par deux pères en
fonction de vos besoins et une fonction de nettoyage devrait également être appelée dans le
cas de Windows. Qu'est-ce que ce nettoyage WSCC ? Il est utilisé pour délocaliser les sources de données
utilisées par le Beanstalk. Ceci est définitivement activé
et il retournera 0 et nombre de
succès et non nul en cas d'échec. J'espère que vous avez compris cela. Ce sont les méthodes qui sont utilisées
dans
le cas de Windows pour
déconnecter ce socket,
aucune fonction que vous devez appeler. Et il y a un but que
je vous
ai expliqué pour le nettoyeur WAC. Ensuite, dans le cas de Linux, pour
déconnecter le socket il suffit d'
appeler la fermeture. Ensuite, vous devez passer
ce descriptif. S'il est satisfait,
il s'agira du script vers le haut. S'il s'agit d'un Linux, s'il s' agit d'un client, il s'
appliquera. C'est bon d'y aller. Il est simplement fermé. Il n'y a pas de nettoyage et tout. Ensuite, une autre différence et autre sujet
approfondissent les défenses, la défense et
les rapports d'édition entre Windows et Linux. Voyons donc pour Windows, comment votent-ils par erreur ? Il s'agit de la réponse de
modification de la fonction. Le message
va arriver ici. Ensuite, il vous suffit de mettre ce message et ce message
et de le faire rassembler ici. Et c'est une
fonction qui est WL, je dis « get lost error ». De cette manière, vous
devez signaler une erreur. Alors, qu'est-ce que cette erreur
WSL GetClass ? Voyons maintenant
les détails de toutes ces choses
maintenant dans la fenêtre utilise sa propre fonction de message d'erreur
oui pour indiquer que ce qui a mal tourné
avec l'appel de socket, cette fonction peut renvoyer un entier représentant
la dernière zone où il y a une bonne décennie en raison du handicap du champ d'
appel de socket. Donnez-vous ce que mon, quelle est la raison
de la vidéo de prise ? Il renverra un entier. Maintenant, il y a la version Windows
ICD-10 des réponses de modification utilise duck, la dernière erreur. C'est donc toute la
description à ce sujet. Dans le cas de Windows, nous devons signaler une
erreur de cette manière. Voyons maintenant que les noix
linéaires Sweeney ont la même fonction, mais cette fois qu'
il n'a pas appelé, nous allons même appeler. Il s'agissait d'une classe GetClass
et d'une somme égale. S'il n'a pas fonctionné, c' est l'éditeur B et
le message de l'éditeur Yoda a été SP edit pour signaler
les messages d'erreur système. C'est une différence. Maintenant, toutes ces choses
sont nécessaires en fait. Voilà donc
les différences
entre la programmation de
socket Windows et Linux. Vous pouvez donc voir peu de
différences mortes ou de fonctions. Si vous parlez uniquement des
fonctions sous Windows, vous devez ajouter une fonction supplémentaire, la fonction de démarrage
OWASA. Et une autre chose concernant la fonction est que la fonction de perte est différente. Les syntaxes, différents
modèles, Windows et Linux reposent tout
ce qui est spécifique au serveur
dans un délai précis les fonctions sont les mêmes , donc nous n'avons
pas parlé d'eux. Je suis juste en train de tamponner la configuration est
différente dans le cas de Megiddo. Vous devez donc ajouter
ces bibliothèques, comme je l'ai mentionné dans
cette étape ici. Dans le cas de Linux, la
configuration de liaison est requise. Et sur Nipah Linux, nous devons en faire deux autres
si votre compilateur est installé et l'édition, les fichiers d'en-tête
que j'ai mentionnés, sont les
différentes entreprises pour Windows et pour ordre. Et la dernière chose à propos
du signalement des erreurs de viol, c'est le discours
différent, la fonction différente de Windows. Et dans le cas de Linux, il appellera la
fonction différente qui est meilleure. C'est ça, c'est tout. Vous devez en tenir compte. Les deux bombardent la programmation de
socket pour Windows et Linux. Alors ne vous inquiétez pas, les amis
maintenant dans la prochaine session, même voir la communication
client latérale du socket. Il écrira le
jeu de cartes verticales pour la programmation du
socket Windows. Et nous allons écrire le
code client pour la programmation. Pour le code client pour
les fenêtres sera et ensuite nous ferons
la communication. Je vais vous le répéter, comprenez qu'il y a beaucoup de différence minimale
entre Windows et Linux. Donc, une fois que vous connaissez le codage de la fenêtre pour la
programmation du socket pendant que vous êtes, c'est juste un gros
choix, mec, d'
écrire un programme
pour l'ordre, vous n'avez pas besoin de vous
inquiéter en fait, c'est juste pour
copier collage qui sort de Nina
parce que sous Linux, c'est beaucoup z que celui des fenêtres parce que certaines fonctions ne sont pas utilisées. Reposez également les
défenses là-dedans. La fonction close que vous
devez appeler minute indifférente car tout est identique et
aucune configuration n'est requise
pour Linux. Si vous connaissez la programmation pour programmation des
sockets ou si vous avez
décidé quoi que ce soit ainsi que client pour Windows, vous le
serez si ce serait très bien Z refaire la
programmation de socket pour Linux. C'est ainsi que nous allons
suivre les tendances. Merci. Merci beaucoup.
10. Socket Session7: Bonjour, bienvenue dans cette nouvelle
session qui est dit sur application de la programmation de socket pour Windows dans le bloc de code
avec son exécution. Donc, ici, nous allons écrire le code pour la programmation du
socket serveur que
nous allons faire, allons faire la programmation du
socket client, exécuter
pour les fenêtres, exécuterons
sur le bloc de code. Et nous verrons comment
ce jeu de socket s'appliquerait une minute l'un avec l'autre. Cette session ? J'espère que vous avez
déjà visité la session précédente
en segments riz
parce que nous avons couvert
les différentes méthodes,
les
différentes fonctions, différentes fonctions, le serveur de socket
ainsi que l'emmaillotage, socket client ou Windows, ainsi que nous avons également
synchronisé avec le code. Quelles sont les instructions utilisées, quelles sont les différentes
fonctions ou utilisations, quel est son but ? Et comment pour le côté serveur, quelles sont toutes les fonctions par opposition aux deux-points côté client, quelles fonctions doivent être ? Vous avez vu ? Toutes ces choses que nous avons vues, nous avons également vu la configuration de l'administration de l'eau du
bâtiment, qui est nécessaire pour programmation
de socket
Windows ait lieu. Si ce n'est pas le cas, veuillez
visiter ces sessions. Nous commencerons à coder pour la programmation des
prises de ligne de trottoir. Ce sera très physique. Je vous
expliquerai quand même puisque nous allons créer un nouveau projet
afin d'écrire le code
pour le serveur, la
programmation du socket client pour Windows. Et nous allons faire l'
ensemble de la liste que j'ai mise en place, voyant ce que
nous avons à lier. Quels sont les liens entre
les bibliothèques ? Vous allez donc toujours recevoir des groupes que nous traversons
cette session. Commençons. Donc, pour simplement réviser, nous avons vu plusieurs méthodes de
socket. Quels sont les serveurs qui sont de
bonnes méthodes que nous avons vues. Tout d'abord, il y a d'initialiser WAC. Cela est obligatoire sous
Windows pour Linux, nous n'avons pas besoin d'initialiser WSL. Nous avons donc vu quel est
le but ou le sujet. Il est utilisé pour
les initialiser et Socket Library. Et nous avons vu comment le
programme va provoquer l'avortement. C'est un, mais j'ai
été une bibliothèque de sockets. Les messages sont donc humains. Nous l'avons vu, vous avez vu
quel est le deuxième argument. ai fini par APA Socrates pour initialiser Dove et
Socket Library. Ensuite, la deuxième fonction que nous avons
vu pour créer une socket, puis elle retournera ou
descripteur de la socket. Nous avons donc vu que
lors de la création d'une prise, nous devons donner le type de
socket et il est régulé comme
une prise de courant. C'est une
socket fiable ou s'il s'
agit d'une prise de datagramme à
un certain niveau, socket. Et c'est à peu près comme
nous devons donner le protocole de communication. Puisque nous savons que le
socket de flux utilise TCP, datagram utilise UDP. Nous pouvons créer ce socket ET les portes sur les méthodes serveur
que nous avons C, puis nous obtenons
ce descripteur de socket. Ensuite, du
côté du serveur, nous devons lier ce socket au diabète et au numéro de
port que nous avons vu. Ensuite, nous avons
écouté cette prise. avons donc pas vu de fourgonnette, nous écoutons sur cette prise. Nous allons passer le descripteur de
socket, ainsi que vous mentionnez
dans le deuxième argument, combien de ces connexions de
socket
du client doivent être dans la file d'attente, en
attente file d'attente. Ensuite, nous avons une fonction
de sortie de bloc pour accepter la
connexion du client. Et une fois la
connexion établie, donc lorsque nous appelons cette fonction de gestion de
sortie, elle retournera un autre
nouveau descripteur de fichier. Et ce descripteur de fichier, nous pouvons effectuer l'envoi et la réception commencé pour envoyer et
recevoir des données à domicile avec ce client. Ce descripteur de socket,
qu'il s'agissait. Revenez donc de cette fonction de
création. Cela, nous continuerons
à accepter la connexion. Et un autre socket, le nouveau descripteur de
socket W, conservez-le pour la lecture et l'
écriture pour la communication avec ce qui a augmenté de 9 % de données
ainsi que pour recevoir les données. C'est ainsi que nous avons vu la
fonction de déconnexion terminée pour déconnecter le socket dans
le cas des méthodes de socket de serveur. Ensuite, nous avons vu la prochaine chose que sont les méthodes de socket
client. Je n'ai pas eu besoin
d'initialiser l'essai. Cela est également spécifique
à Windows uniquement. Initialisez la bibliothèque de chaussettes à
vent. Ensuite, nous avons créé le
socket sur les clients que j'ai souligné, il n'y a pas beaucoup de code si vous utilisez vos fonctions. Nous devons donc
initialiser les États-Unis pour initialiser les
bibliothèques de chaussettes à vent afin que nous puissions l'utiliser. Ensuite, nous devons
créer le socket pour ce client et ce serveur sont des applications
différentes, chacune d'entre elles doit avoir cette création de
socket sur eux. Et nous devons également mentionner
le même type de socket
ainsi que le protocole de
communication cible doit être identique de chaque côté, mais aussi des
sparklines pour qu'
ils puissent mais aussi des
sparklines pour qu'
ils puissent
communiquer entre eux. Ensuite, nous appellerons
la fonction Connect afin que le client puisse envoyer une
demande de connexion au serveur. Ensuite, une fois la connexion acceptée
par le serveur, envoyez et recevez des statistiques
du client lui-même. Ensuite, déconnectez la fonction,
ne déconnectez pas la prise. Donc, toutes ces méthodes que
nous avons vues maintenant commencer à
parcourir le serveur, la programmation du serveur
client
dans le bloc de code de Windows. Créons un nouveau projet dont vous avez besoin pour installer
l'IDE Woodblock. Et c'est vraiment des disponibilités
et de l'open source. Vous n'avez donc pas besoin
d'acheter une licence. Si vous l'avez vu, si
vous installez cet ID, vous pouvez écrire le
programme avec moi et exécuter et voir comment se déroule
la communication. Je l'ai déjà installé. Je vais ouvrir l'ID de bloc entier. Je vais créer un nouveau projet. Nous allons donc d'abord créer un nouveau projet
pour l'argent. Nous allons ensuite créer un nouveau
projet pour cette ligne. Une fois le bloc
de code installé, suffit de double-cliquer dessus. Vous verrez cette page. Maintenant, créons un nouveau
projet en cliquant sur Fichier. Sélectionnez nouveau, puis
projet, puis sélectionnez une application de
sol. Cliquez ensuite sur Suivant. Ensuite, puisque nous
écrivons le programme en C plus qu'il est déjà sélectionné, cliquez sur Suivant, puis
écrivez le nom du projet. C'est donc une sorte de prise. Windows doit être un nom
très raisonnable
ainsi qu'un nom court afin que vous puissiez comprendre ce que vous
faites dans le programme. Il s'agit d'un nom de dossier que vous
souhaitez vider ce projet. Cliquez ensuite sur Suivant et créez
simplement un programme Hello
World par défaut pour vous. Nous devons maintenant le
remplacer par le code serveur. J'ai déjà écrit le code. Je vais copier ici. Je
ne veux pas perdre temps à écrire des instructions
uniques. Vous avez déjà vu lors d'une session précédente ce que toutes les
instructions utiliseront. Je vais également
vous expliquer ligne par ligne les instructions sur le programme de
jeu lui-même. Et ensuite, nous
allons l'exécuter. Pendant que vous le faites. Une fois encore. En écrivant le code entier, vidons le code que
j'ai déjà écrit. Le code que j'ai déjà
écrit, je viens de télécharger. Je n'ai que des augmentations, j'
augmente cet
exercice pour que vous
puissiez voir quel codage
nous faisons. Augmenter cela excite. Commençons maintenant par comprendre
ce programme un par un, ligne par ligne sur le serveur. Il utilise donc les mêmes dysfonctionnements que nous avons déjà observés jusqu'à présent. Maintenant, l'exécution de votre programme commence
dès le premier, c'est la fonction principale. J'espère que vous sachiez peut-être
quelle est la fonction principale. fonction principale est la
meilleure fonction chaque fois que
vous compilez le code, chaque fois que vous l'exécutez, l'exécution de votre programme commencera toujours à partir de
cette fonction principale. Quelles que soient les lignes de code que vous allez donner dans
cette fonction principale, neuf par neuf exécutées. Et c'est un point d'entrée
pour commencer une exécution du programme afin que
le contrôle des coûts entre dans cette fonction
principale et ce moteur, quelles que soient les lignes
que vous
avez écrites ici et qui seront exécutées
ligne par ligne. Voyons maintenant pour le code
serveur ce que nous
avons écrit pour la programmation des
sockets. Nous avons déclaré que nous avons
vu cela comme des données WIC. Nous avons vu ce que c'est. Nous avons, nous l'avons initialisé, créé, créé la
variable sur ce type de données, c'
est-à-dire les données WSL. Nous avons vu qu'au cas où sur
les fenêtres, vous avez des foo. Initialisez la bibliothèque de
chaussettes à vent pour cela, nous utiliserons. Vous allez appeler la fonction
de démarrage. Cette fonction de démarrage comporte deux arguments
dont le second est
le pointeur vers les données WSL de la
structure. structure la plus large
au besoin. Nous avons vu que
nous avons besoin de ce DO. Il s'agit souvent d'événements de bibliothèque. Il communiquera
avec le programme, donnant aux chiens des
informations critiques, c'est-à-dire le nombre
de prises pouvant être créées. Cette structure sera remplie. conséquent, puisque nous allons
l'utiliser,
nous devons donc créer une variable proposée de cette
manière, les données WAC. Ensuite, nous créons l'
objet de cette socket. Nous avons deux
objets sur cette prise. Nous savons que le
descripteur de socket sera reçu lorsque nous appelons la fonction
socket ici. Et j'ai un
descripteur de socket qui me
trompe quand on appelle
la fonction d'exception. Alors, quittez la fonction sur leur descripteur
de socket à un mode. Nous avons vu qu'
il y a encore une raison. En créant l'objet
de cette socket, nous créons de nouveaux objets par le socket du serveur de noms
et par le nom Je suis sock. Ensuite, la partie suivante est SOP
ADD ou les ions de soulignement. Nous peignons donc à
nouveau à l'objet car dans V&V appelé
une fonction socket. Lorsque nous appellerons
la fonction de liaison, vous avez rempli
toutes les données structurées avec l'adresse
IP où
ce serveur va se brouiller et
avec le numéro de port. C'est pourquoi cette
structure sera nécessaire. Et il s'agira de
créer l'objet de celui-ci. Et là encore, ma
structure la plus structurée est nécessaire. Il est nécessaire chaque fois que vous
appelez la fonction de sortie. Nous devons mentionner cela ici. On dirait que c'est ici. C'est la raison pour laquelle cela
est nécessaire et que vous créez sur le pont
offert de cette manière. Maintenant, la toute première fonction
qui s'appellera UFC, il doit
les initialiser dans Salt Library. Nous appellerons donc cette fonction WSS Startup. Et vous allez passer
deux arguments. Le premier argument,
qui sera meilleur, indiquera au
programme
qu'il veut
utiliser la version des bibliothèques de bogues
et de sockets. Donc, puisque le programme
veut utiliser une version 2 avant que le premier argument
soit donné de cette manière, faites quoi entre parenthèses
deux virgules 0, cela signifie
que le
programme à utiliser. Lorsque Socket Library 2. Le second qui est un
pointeur vers cette structure, cette structure de sorcières, que les données
seront ici. Bibliothèque de sockets
avec programme ancien ou combien de
sockets elle peut être créée. Cela sera donc rempli avant la fin de la fonction
de démarrage du SMSI. C'est ainsi que cela sera transmis en tant qu'EMT
et il sera comblé. Je n'ai pas parlé de bibliothèque et ces informations seront remplies. Combien de
prises seront, encore une fois, créées ? Quittez les informations
préalables. C'est ainsi que nous appelons cette fonction pour la
programmation de socket de fenêtre et le site serveur. Ensuite,
puisque je n'ai pas, vous savez, une partie de la règle
est de créer une socket. Nous allons maintenant créer une socket. Donc, en créant le socket, nous devons mentionner que nous avons
la victoire
que les choses affichées seront
la famille d'adresses. Nous utiliserons donc IPV4 et la déployabilité de cette
manière. Deuxième moins la
prise, prise serrée. Nous voulons donc créer ce
socket de flux qui soit fiable et des protocoles de
communication bêta carbone. Nous le donnons donc sous forme de zéros, avant qu'il ne puisse être 0. Pour ce flux, il utilise
TCP, vous pouvez utiliser Xero. Un autre. Une fois que nous appelons la fonction
socket, elle retournera le
descripteur de la socket. Maintenant, ce descripteur
va utiliser pour différentes fonctions à venir. Il s'agit de la fonction de liaison ou l'écouteur
ainsi que de la fonction de sortie. Maintenant, vous pouvez voir ce que
nous faisons ici. Nous remplissons cette structure. Alors, quel est cet ensemble d'ADD ? J'ai dit plus tôt qu'il s'agissait
du type socket ADD. Comme nous l'avons vu, lorsque
nous appelons cela est requis, tout
ce code est requis
dans la fonction de liaison. Puisque dans la fonction de liaison, nous allons passer sur la
socket pour être lié. Numéro de port
et adresse IP particuliers. Le numéro de port et
l'adresse IP doivent être indiqués dans la structure. Cette structure est le serveur
ADD ou d'autres types, chaussette ADD ou le fer
de soulignement en remplissant un par un. Je vous ai dit que cette adresse, que nous donnons à un
serveur pour écouter se lier à cette adresse, est ce que je vous ai expliqué
en détail lors de la session précédente. Laissez-moi céder, AJOUTER
et souligner. Cela signifie que vous voulez que la barre latérale affiche toutes les
adresses IP de la victime, différentes
interfaces réseau. Bien que les utilisateurs utilisent la terre
pour récupérer Internet
, l'adresse IP de ce terrain décidera de l'endroit où il peut se lier. Et si l'utilisateur utilise le Wi-Fi, c'
est-à-dire que différentes interfaces
réseau ont une adresse
IP différente dense sur cette adresse IP sur
la même machine hôte. Ensuite, le deuxième argument nous
mentionnons l'image de la machine virtuelle. J'ai parlé de la famille. Donc, lorsque vous
leur donnez ce collecteur, IPV4, ce sera de cette manière. Ensuite, nous donnons la quantité
de numéro de port à la récupération de me donner quatre fois cinq. Nous pouvons donner n'importe quel
numéro de port supérieur à 1024, moins de six par 535, car un jusqu'à
1024 il est utilisé. Et bien qu'après 10 ans, vous pouvez donner n'importe quel numéro
de port. Donc, quel que soit le numéro de port, vous vous souviendrez toujours
du côté client. Vous devez attribuer le même numéro de
port car les clients se
connecteront au
même numéro de port où la barre latérale est
à moi à toute la structure. Une fois qu'elle est remplie, vous appellerez à nouveau la
fonction bind. Vous allez passer le
premier argument car le SOC est ce que c'est un
descripteur que vous,
qui est celui qu'il a été écrit lorsque vous appelez
la fonction socket. Il s'agit d'un descripteur de socket. Ici, nous passons les messages
et le deuxième argument humain est la structure que vous avez peut-être senti que
nous passons ici. Et ensuite, la troisième
est la taille de celle-ci. Infos. Maintenant, de cette manière, en achetant la fonction
maintenant, la barre latérale est liée au
numéro de port et à l'adresse IP. Maintenant, ce que font les auditeurs
dans le cas de
la leçon , de la fonction leçon, vous
passez le premier argument comme descripteur
de la socket. Et le deuxième argument, numéro, connexion
client, que
vous souhaitez conserver dans q, puisque nous ne voulons pas que
vous ne voulez pas qu'
aucune connexion
client reste dans q, alors nous pouvons simplement
écrire 0 ou nous pouvons écrivez une si vous voulez une connexion, elle sera dans une
connexion automatique et un cube. C'est ainsi que cela fonctionne. Ensuite, cette leçon signifie
qu'il écoute, écoute la connexion de la
ligne Connect. C'est ça. Ensuite, nous
appellerons la fonction de sortie pour quitter la
connexion de l'usine. Cela signifie barres,
encore une fois ce
descripteur de socket qui a été renvoyé
par la fonction socket. Deuxièmement, nous allons passer
cette dose frappée, si détruite comme vide, qu'elle se remplira réellement. Une fois que nous allons sur la fonction de
sortie. Ici, tous les
détails relatifs au client seront remplis. Toutes les informations
relatives à cette ligne. Quelle est l'
adresse IP, qu'est-ce que c'est, numéro de port auquel elle a mappé et tous
les détails qu'elle
sera renseignée lorsque nous appellerons la fonction de sortie et
la taille de celle-ci. C'est pourquoi nous passons
simplement comme il est. Et puis il est en cours d'exécution, puis vous trouvez un nouveau descripteur de
socket. Donc ce descripteur
ainsi que ce descriptif, les
deux sont différents. Je vous ai dit qu'il est encore
différent car ce descripteur peut être utilisé pour accepter d'autres
demandes de connexion de cette ligne. Nous ne voulons
rien bloquer. Ce Socrate s'est donc engagé
à écouter et à accepter
la connexion. Dans ce cas. Nous voulons également une opération simultanée de
lecture et d'écriture. Une fois que c'est le cas, il accepte une
connexion du client. Nous voulons que la lecture et l'écriture soient à recherche et nous ne
voulons pas que ce soit le cas, mais par conséquent, une autre charge, le script d'une autre socket ou descriptif sera au milieu
GET et nous le garderons, engagez en lisant, en écrivant
celui-ci et celui-ci. Qu'est-ce qui accepte une autre connexion
client. J'espère que vous avez compris cela et
ceci et cela se fera. Il a dit un jour qu'il
accepte cette
connexion du client et il est capable de recevoir le
message du client. Donc, votre descripteur lui-même, nous mentionnerons ici, si
cela réussit, nous seuls pouvons le recevoir ici. Donc, si la
condition est mentionnée et que ce client
V droit va obtenir, vous avez mentionné ce
socket descriptif. Puisque nous devons recevoir
sur ce socket lui-même
, tout ce que le client a dit sera
collecté sur ce tampon. Ensuite, nous
afficherons ce message. memset est ensuite mis en mémoire tampon sur 0. Et c'est ainsi qu'
après tout,
je perds la prise. Cela dépend donc de votre utilisation. Vous avez ce qu'on appelle
la même fonction ici. Si vous souhaitez que certaines informations
de
moteur soient transmises à partir du serveur, vous pouvez appeler
la même fonction. Et si vous voulez une connexion
répétitive, vous pouvez également mettre une boucle ici. Et vous pouvez écrire
la condition que si quelqu'un qui marche à la
condition que son utilisateur donne cela et sort de la boucle
et ne sait pas que Nieto au-delà veut une communication
en fonction de l'utilisation. Encore une fois, modifiez le programme. Il s'agit d'un programme simple et je reçois le message
du décor végétal. J'appelle cette
fonction de réception même si je peux
l'appeler une fonction sinusoïdale si je
voulais envoyer des données. C'est la même chose. Donc, la
fonction de sécurité et appellera à partir de cette ligne pour que
les clients puissent envoyer un message. Même chez les clients
que nous
appelons, nous pouvons appeler la fonction de
réception, mais nous serons là. Je vous montre comment recevoir le message
du site client. Le côté client va
envoyer ce message. Maintenant, nous fermons la
prise de cette manière. C'est ainsi que cela se produit. J'espère que vous avez compris
chaque ligne de code
et cela trouvera
plus que Z car nous
avons fait toutes les conditions préalables avant de commencer le programme. Nous avons vu toutes les
fonctions en détail. On s'enfonce avec le code. Je vous demande de
passer par là si vous n'êtes pas allé parce que j'ai répété
toutes les choses ici, mais en
expliquant plus en détail cette séance elle-même ne
vous a pas fait comprendre. Maintenant, allons-y.
11. Socket Session7: Avant cela, vous
voulez régler les poumons. J'ai donc déjà dit
la bûche à deuxièmement, pour augmenter la taille, je l'ai encore fait. Si vous souhaitez appartenir
ici sur la console, le réglage de la
paroisse est requis. Cliquez sur Nouveau, puis vous
devez vérifier ces verrous. Une fois que vous aurez vérifié ces verrous, vous verrez cet
écran bien-aimé que j'ai déjà vérifié, donc je reçois cet
écran de verrouillage maintenant je suis comment construire un
programme. Cliquez sur. Laissez-moi le nettoyer parce que je l'ai déjà essayé une seconde. OK, cliquez maintenant sur Build,
puis compilez ce fichier. Vous pouvez donc voir ici qu'il n'
y a pas de flèches
dans TO, côté serveur.
Maintenant, faisons-nous un lien. Maintenant, je voulais vous montrer
une chose importante ici. Je n'ai pas fait probabilité de réglage
dans la configuration de l'administration de l'eau, ce que je vous ai mentionné
lors de la session précédente que
nous sommes censés
faire pour les fenêtres. Je n'ai pas fini parce que je
voulais vous montrer l'erreur. Et après le, vous verrez là quand nous l'avons exécuté, il y
aura un lien dedans. Et bien sûr, vous pouvez voir que
je n'ai fait aucun réglage. Je ne suis lié à aucune bibliothèque, alors vous comprendrez
comment y remédier, comment la lier. C'est une raison pour laquelle
je ne l'ai pas réparé plus tôt, de sorte que si
je l'avais réparé, vous n'auriez pas touché mon cas. Je n'aurais pas eu d'erreur. Dans votre cas. Vous
ne l'auriez pas eu et je ne veux pas que ce soit
en retard. C'est une raison pour laquelle je
n'ai rien fait. Je veux que vous
compreniez
tout et comment tout arranger. Maintenant, lions
le graphique bleu. Construisons et exécutons maintenant. Je devrais avoir une erreur de liaison. Oui, je voulais lier l'en-tête. Vous pouvez le voir ici dans la
console ou sur le blog lui-même. Vous pouvez voir une
référence non définie aux startups technologiques
WSS ou aux fonctions
que nous
appelons eau. Lorsque ces démarrages, le Lewis a commencé
puis tout. Il obtient une référence
non définie. Pourquoi ? Parce que je vous l'ai déjà
dit pour le
système d'exploitation Windows et que vous piquez sur la programmation du socket
ainsi que sur le client. Puisque nous utilisons
différentes fonctions, nous utilisons les
fonctions
définies dans la bibliothèque Wind
Socket. Dans notre projet, nous devons établir un lien avec cette bibliothèque
non linéaire. Parce que nous avons
créé cette bibliothèque pour que
le temps d'exécution de la liaison se produise. liaison se produit toujours chaque fois que vous
exécutez le code, seule la définition de
la fonction ne rejetterait pas la renommée aucune déclaration
ou lorsque vous appelez vos
fonctions. au moment de la compilation, il sera compilé avec succès
car je n'ai vérifié aucune des déclarations
qui n'avaient été reçues du fichier
d'en-tête que vous avez mentionné. Vous avez obtenu toutes les déclarations pour vous, il n'y a pas eu d'erreur. Mais dans le temps de liaison, il
verra la définition. Cela, vous ne le liez pas. Vous obtiendrez la référence
non définie en
exécutant. Voyons maintenant comment
corriger ces erreurs. Bien sûr, je ne le suis pas. J'ai supprimé ces paramètres, créé des
paramètres d'environnement, donc je vais vous
montrer à partir de zéro. Pour ça. Je
vous ai montré comment faire cela. Les deux paramètres du compilateur, vos liens d'accès
ou l'étape des paramètres, bien, vous avez d'
autres options de lien ici. Vous devez donner à cette bibliothèque, ces bibliothèques pour le socket
Windows 32 bits. C'est donc pour cela. Vous avez l'utilisateur lorsque
Socket Library et donc vous
réfléchissez et donnez-moi moins Lusaka, puis
enregistrez simplement ces paramètres. Maintenant, lorsque vous compilez votre code, il doit être compilé avec succès. Maintenant, il est dit que
voir ce message, nous avons donné ce nom
pour les connexions entrantes. Nous avons donné ce message ici,
en fait, à l'écoute
des connexions entrantes. Tellement triste, qu'est-ce qui écoute ? Maintenant ? Nous sommes censés écrire ce code. J'ai donc dit que la charge de travail était en cours. Maintenant, rappelez-vous toujours
que nous devons renforcer le code du
serveur, puis grimper car le serveur est nécessaire n'était pas sans
port serveur si vous exécutez directement pour poser problème car il s'
agit d'un Un client
sera, je m'intègre. Ça devrait toujours être, faut toujours se lancer. Et ici, je vais vous montrer, puisque je vous ai dit que
nous verrons la communication entre le serveur et le client. Ici, vous pouvez l'utiliser, vous pouvez exécuter votre serveur sur une machine hôte,
c'est-à-dire un ordinateur portable et apprendre la langue. Et un autre ordinateur portable qui est une autre machine hôte
qui est des hôtes distants. Et vous pouvez faire la
communication de prise que j'ai. Je vais vous montrer comment
faire la communication
client du serveur socket une seule machine. Supposons que vous
n'ayez qu'une seule machine, alors comment vous pouvez l'exécuter. C'est donc également possible. C'est que vous devez
effectuer certains paramètres, comment créer un
processus serveur et un processus client. Dans ce projet,
nous utilisons cet IDE, que nous utilisons
est l'IDE de bloc de code. Nous avons déjà créé
un projet pour le soudain que dans cet IDE de bloc. Pour que le client puisse maintenant créer
un projet pour le client, nous ne pouvons pas créer le projet. Le client dans cet ID lui-même. Qu'est-ce que c'est dans
cet ID de bloc de code. Dans ce cas,
il est dit que nous ne pouvons pas effacer car à
un moment donné, on a besoin de cet ID de bloc de code. Nous pouvons
exécuter un seul programme. Nous ne pouvons pas exécuter deux projets. Je veux dire que nous ne pouvons pas exécuter mes
projets de pique-niques en une seule fois, dans le même cas
sur le bloc avant. Si vous souhaitez que plusieurs
projets soient exécutés, vous
devez lancer plusieurs
instances de journal alimentaire. s'agit donc que d'un seul cas. C'est que j'ai cliqué
une fois sur l'
ID de bloc de code et j'ai obtenu cette instance. Et ici, j'ai créé
un projet possible, donc je ne peux pas créer une autre ligne POC de
projet et même instance sur
l'ID de coordonnée et faire la
communication pour cela. Vous devez les créer dans l'ID de bloc de code. Créez une autre instance de
Woodblock ID et vous devez écrire du code bogué, puis vous
devez faire la
communication entre eux. conséquent, par défaut, vous
ne pourrez pas créer la deuxième instance du code mole sodique
sera à
l' heure de l'événement. Donc, en cliquant sur le mot
amour à faire pour obtenir une
nouvelle instance, vous n'obtiendrez pas. Parce que, par défaut, les paramètres
sont définis de cette manière que chaque fois qu'il lancera le même ID de bloc de
code. Mais maintenant, nous devons
exécuter le serveur et le client dans différents blocs de bois
indépendants depuis la boucle ascendante. Donc, pour cela, vous devez effectuer les paramètres. J'ai déjà fait les paramètres dans mon cas, mais pour votre cas, je
vous ai montré avant d'écrire le programme serveur comme double-clic sur
l'ID du bloc de code. Et vous devez
faire ces réglages. Et puis vous écrivez
le programme serveur, ce que je n'ai pas
encore fait, quel physio ? Ensuite, vous compilez le code, vous l'exécutez, puis la deuxième fois et vous cliquez
sur Code Block ID, vous recevrez la deuxième instance proposée et vous aurez raison, ce code de ligne, les paramètres
que je vous montre. N'oubliez pas que vous êtes censé
le faire avant de les écrire. Inhibiteur cérébral, affectation
complète, nouveau double-clic
sur l'ID du bloc de code. Vous devez effectuer les réglages.
Alors, comment faire ça ? Nous obtenons l'
instance multiple de Woodblock ID. Allez donc dans Paramètres. Ensuite, il faut aller à l'eau et admettre que je l'ai
déjà fait. C'est une raison. Déjà les changements qui existent déjà,
ce que j'ai fait. Bien que votre cas, vous
pouvez voir ici autoriser une
seule
instance en cours d'exécution qui se trouve ici. La case à cocher sera cochée. Il sera vérifié. Par défaut, il est coché. Et je l'ai déjà dévérifié. Parce que j'ai
plusieurs instances. Par défaut, cette case à cocher sera cochée pour autoriser
une seule instance en cours d'exécution. Et c'est une raison à chaque
fois que vous lancez l'ID de bloc de
code, comme obtenir la même chose
pour le lancement du bloc. Comme cela est vérifié par défaut, je l'ai décoché
car je veux que
plusieurs instances soient
également utilisées dans une
instance déjà en cours d'exécution qui est également
vérifiée par défaut. Il suffit donc de décocher que
vous plutôt que de décocher l'align sur l'
instance man running ainsi que d'
utiliser déjà en cours d'exécution, non coché les deux, ce que j'ai déjà
fait là où vous je ne peux pas voir cette
coche là-dessus. Ces paramètres sont
obligatoires et
vérifiez-les , puis cliquez sur OK. Je vais maintenant créer un autre
projet pour le client. Et vous pouvez voir
maintenant que cela
me permettra de créer un autre projet. J'avais encore double-cliqué
sur l'ID de bloc de code, j'ai eu les nouveaux projets. Vous pouvez donc voir qu'un projet est celui que je n'ai pas
écrit le programme serveur, et c'est l'autre projet. Cela m'a donc permis de créer une autre instance
du bois et non
du projet, c'est permis. Il s'agit donc d'une instance
de la coordonnée où j'
ai lancé une autre instance sur le codon
en double-cliquant dessus, je n'ai pas été enregistrée. instance en cours d'exécution.
Lancement de l'État. Non. Le projet pour le client. Cliquez donc sur Fichier,
sélectionnez Nouveau projet. Cliquez sur les étapes de
l'application de la console en tant qu'équipe, juste pour que vous ayez sélectionné deux cplusplus
dentaires. Cliquez sur Suivant, donnez la programmation de
socket. Cliquez ensuite sur Suivant. Cliquez sur. Il videra un programme
HelloWorld par défaut pour vous. J'ai donc déjà écrit un programme de
contour et je
copierai simplement le collage ici et je vous explique les
instructions ligne par ligne. J'ai collé une copie ici. codage côté client est un CDF à connecter simplement. Nous verrons dans une seconde. Permettez-moi d'augmenter la taille de la
police pour que
vous puissiez vous voir. Permettez-moi de terminer
cela afin que vous puissiez voir plus clairement
les instructions que je mentionne. C'est ce programme de ligne. Nous avions
cependant mentionné les dossiers de crédit. Depuis que nous utilisons, nous le
faisons pour le système
d'exploitation Windows. Encore une fois, la
fonction principale que vous connaissez, c'est un point d'entrée pour commencer
l'exécution de n'importe quel programme. Vous devez vider le
code ici lui-même. Même si vous pouvez créer
votre fonction modulo, vous pouvez simplement définir toutes ces choses
dans une fonction et vous pouvez appeler cette fonction, mais toujours à partir de la fonction
moyenne sur new, vous devez vous demander la fonction simplement année que j'ai fait le code. Je sais que vous êtes peut-être un métal. Ces données WAC, que
je vous ai déjà dit, cette structure est un deuxième
argument dans cette startup WSS, nous savons ce que WSS est empilé. Il est utilisé pour
les initialiser et Socket Library. Dans le premier argument, le programme indique
la version de la bibliothèque Wind Socket
si vous souhaitez l'utiliser. Puisque nous devons l'utiliser, voulais utiliser la version 2,
j'ai été la bibliothèque de socket. Il s'agit d'un argument faux et deuxième argument
est la structure. Cette fonction de démarrage remplit cette structure dans laquelle Devin
Socket Library pourrait passer. Je vais envoyer la communication au sujet d'une information politique. Il enverra à
ce programme
combien de sockets peuvent être créés dans d'autres informations, cette structure peut être alimentée lorsque nous appelons le démarrage bluesy. Cette structure, nous avons déclaré, déclaré la variable de la structure de cette
manière, les données WSU. Maintenant, le deuxième
objet que nous créons est pour la socket. Depuis moi, on m'appellerait
créer une socket côté client et donc VR dans sa
création disponible là-dessus. Ensuite, nous créons
la vidéo avant cela mais aussi la structure car nous transmettrons les détails de la commande. Nous avons été l'adresse IP et le numéro de port auquel le
client doit se connecter. Il doit se
connecter au serveur. Nous devons donc écrire
cela sur l'adresse IP. Donc, dans notre cas,
puisque nous exécutons le serveur et le client sur
la même machine hôte. Par conséquent, le côté client
doit se connecter
au boost local
car dans l'hôte local signifie sur la même machine hôte, la
même machine était la même machine car la clientèle a
besoin d'être exécutée en surface. Et comme nous exécutons sept et un client sur la même machine
hôte,
nous pouvons donc simplement donner l'adresse IP sur la
même machine hôte qui est une échappatoire, qui
veut machine. Le client n'est pas un
serveur d'entrée exécutant qu'il a dit vous devez fournir le
même numéro de port que
celui que le serveur écoute. Maintenant, je vais suivre
la fonction socket. Nous l'avons eu. Je pense que le premier argument
que je vous ai déjà dit, c'est une famille d'
adresses Internet. Et le second est que
le flux de type socket. La vapeur est un
type de prise peu fiable et tous les détails sur
la prise que nous avions vus dans la prise de courant,
quelles sont les caractéristiques ? Cette prise génétique est fiable. L'un, d'accord, est fiable. Tout ce que j'ai mentionné. Ensuite, le troisième est
un protocole de communication
et stream utilise une valeur par défaut de carte PCB est 0. Maintenant, cette socket va renvoyer
un descripteur à cette socket. descripteur que vous avez
obtenu sera lorsque vous avez acheté la fonction parent,
vous trouverez des pauses. En argument de cela,
ce descripteur de socket
passé humain par opposition à l'argument. Alors, que font ces trois choses ? Encore une fois, vous le souhaitez, car le client se
connectera au serveur. Les clients sont
donc enclins à remplir tous ces détails sur l'adresse IP et
le numéro de port. Puisque je vous ai déjà dit ce serveur et ce client, nous voulons communiquer par tout
cela étant donné la
même machine hôte dans le seul ordinateur portable, pente à
un seul pont lui-même. Nous ne voulons pas héberger à distance, nous ne voulons pas d'ordinateurs portables, clients
cérébraux et
d'apprentissage. Je vais être indifférent. Différents ordinateurs portables savent que nous
faisons de la programmation et même machine hôte et de la
machine enregistrée elle-même et, par conséquent, quelle adresse IP vous
allez donner du côté de la ligne, simplement, nous voulons le diabète de
la hôte local car l'hôte
local d'ajout
du client exécute serveurs
sources
exécutant quanta sur le même hôte. Lorsque vous êtes donné de cette manière, signifie
qu'il n'y a pas de bords arrière. Je vous ai expliqué que
lors de la session précédente, cela signifie qu'il se
connectera à l'adresse IP
de l'hôte local des nouvelles locales, quel que soit le problème que nous
devons résoudre. Et puis nous donnons
cette famille d'adresses et depuis qu'on a un aperçu de ce qui écoute le
numéro de port 45555 et depo, nous donnons le
même numéro de port. Si vous aviez mentionné un numéro de port
différent. Vous n'avez pas mentionné
ce numéro de port ici, il est indiqué côté client. Ensuite, nous appelons
la fonction connect. Fonction Connect. Nous passons ce
premier argument en tant que descripteur de socket,
ce que nous avons obtenu de là. Et puis dans ce descripteur de
socket,
Ensuite, nous
passons cette structure, puis la taille de celle-ci, juste
du côté client, nous devons appeler la fonction de
déconnexion. Et une fois que
le client appelle la fonction Connect, et une fois que le serveur
accepte cette connexion
, la communication
entre le serveur client peut se produire. communication à Broadway
peut se produire. Donc, je suis simplement en train de l'envoyer. Vous pouvez également appeler la fonction de
réception. Mais j'avais rendu la tâche très facile en l'
appelant de chaque
côté. Donc j'envoie cette carte mentale, envoie cette fonction bonjour vous fou et transmet
ce descriptif lui-même, puis je la passe tampon, j'ai initialisé à
la valeur qui est bonjour. Et puis la taille de la dette. Ensuite, je ferme le
nettoyage de la prise que nous avons vu. C'est le cas. Pour fermer le
socket dans le cas de Windows, nous appelons ces deux
éléments à des ressources. Donc, toutes ces choses
sont nécessaires pour fermer la connexion du socket
dans le cas de Windows, je vous ai expliqué quel est le but du
nettoyage et c' est ainsi que c'est
tout le site de la gamme de produits. . Ou laissez-moi compiler ce
code maintenant cliquez sur Build, le parent, pas de flèches. Donc je pense que je devrais obtenir l'erreur de liaison
parce que je n'ai pas terminé configuration de liaison pour lier
à la bibliothèque lorsque 32, votre build et votre exécution. Je l'ai déjà
fait, c'est la raison. Juste une seconde. Permettez-moi de croiser le règlement
des cadres à damier. Ok, cette bibliothèque est
déjà ajoutée. En fait, nous créons
la nouvelle instance et nous créons la nouvelle instance. Ces paramètres ne l'ont déjà pas été. C'est donc une raison pour laquelle vous
ne l'avez pas lié. OK ? Vous avez donc obtenu une sortie ici. Cette seconde, ce client, nous avons le client de lancement. Maintenant, vous pouvez voir que nous avons reçu le tout premier message
est connecté au serveur. Ce message s'affiche une fois que le côté client
envoie la connexion,
et une fois que le serveur
accepte une connexion
, ce
message est et une fois que le serveur
accepte une connexion
, uniquement connecté au serveur. Donc, ce qui se passe est tellement
accepté la connexion. Vous avez donc reçu ce tout
premier message du Royaume-Uni. Neuf, il est relié
à son côté. Ensuite, du côté d' un client, nous
passons ce message Bonjour. Le client envoie
ce message bonjour et nous avons toutes les
fonctions de réception du serveur. Il devrait donc quitter ce
message et l'imprimer. Ce message que nous avons, nous envoyons en fait
du côté client. Nous envoyons cela comme
Hello et un côté incontournable. Permettez-moi d'ouvrir le code
côté serveur. Il s'agit d'un code côté serveur. Il reçoit le
message du client, donc il est collecté sur la boucle et nous l'imprimons sur
la cytométrie du flanc, voir
la console côté serveur. Ainsi, lorsque vous voyez la console
côté serveur,
vous verrez qu'
elle indique que le client est déconnecté. Il dit que le client net dit bonjour les sources diminuent plus rapidement. Message de bonjour que nous avons vu et qui est reçu
côté serveur. Et parce que j'ai dit que le virus l'a fait, mais en effet ce message
sur la console, comme Lion dit Bonjour, voyez dans le service que j'ai été embauché. Quoi qu'il ait reçu ici, il a été connecté à Buffalo,
puis il est en train d'imprimer. Voici le client voit quelle
offre décroît. Bonjour Dakota, il est
imprimé de ce côté. C'est la raison pour laquelle
tu as eu bonjour. C'est ainsi que vous avez peut-être vu comment le client est
connecté au serveur. Et je pense que passer une
connexion au
serveur, c'est l'accepter. Ensuite, le client
envoie le message et écrit le
message envoyé. Et puis nous sommes en train de recevoir ce message disant
que cette ligne
disait bonjour, puis nous nous déconnectons du client, a été déconnecté
parce que nous avons appelé. Cela dépend de la façon dont vous avez exécuté l'édition, du codage de
votre programme. Depuis que nous avons fermé
le socket de ce client, il a
donc
été déconnecté. Mais rappelez-vous toujours
que vous ne pouvez pas fermer le socket du serveur et dire à un analyste que vous
ne fermez pas le socket, le client car les serveurs
de l'un ou l'autre auquel tous les clients
se connecteront. Il ne semble pas être un démon. C'est ainsi que nous avons vu
la communication
du socket trottoir neuf pour le système d'exploitation
Windows. Je dirai que vous avez acheté disparu. Vous l'avez compris et il
avait vu l'exécution de la conférence.
J'en ai fini pour l'instant. Merci. Merci beaucoup.
12. Socket Session8 ProgramExecution ServerClientCommunication Linux C Part1: Bienvenue dans cette nouvelle session de programmation de
socket pour Linux. Donc ici, dans cette session,
j'ai écrit
le code pour le côté système Linux de notre
programmation de socket client et nous allons également l'exécuter. Au cours de la session précédente, nous avons écrit le programme
pour le serveur
ainsi que le client en utilisant C
plus que les fenêtres. Et nous avons vu comment créer
un nouveau projet dans l'EDI, dans l'ID de bloc pour Windows et plusieurs configurations
sont nécessaires avant, accompagnent et exécutent le
programme pour la cybercriminalité. Nous l'avons vu et nous l'
avons exécuté. Nous n'avons pas fait la ligne
de trottoir de communication. Nous allons maintenant
programmer un serveur, un socket
client sous Linux, système
VM Linux en
langage C, et nous allons également
l'exécuter avant la session. Nous avons également constaté une
différence de mortalité ou non dans les méthodes pour
Windows et Linux. Et puis à une différence très
minimale et définissez les changements
nécessaires pour le circuit. Nous avons passé en revue la
présentation et nous vous expliquons. Consultez les conseils pratiques. Commençons par ici. La configuration
requise pour la première fois consiste à vous
assurer que vous n'avez pas de système d'
index valide dans votre cas. Et comme nous allons faire
le programme, vous n'avez donc pas besoin d' installer d'ID de bloc de code. Donc, ici même, il existe des façons
d'écrire votre programme soit si vous souhaitez l'exécuter
à l'aide de la fenêtre Dui, vous pouvez l'installer. J'ai utilisé une simple invite
de commande. Donc quelles autres choses
sont disponibles par défaut sous Linux ou
avez-vous commencé vous-même, je n'ai pas besoin d'installer quoi que ce soit nécessaire car
déjà pour Linux, si vous parlez directement des
linéaires, vous pouvez accéder à l'invite
de commandes. Si GCC est installé,
par défaut, vous
obtiendrez ce GCC. Gcc est un outil pour compiler
votre programme. Et vous pouvez également exécuter n'importe quelle sortie que
vous obtiendrez. Vous pouvez directement l'exécuter. Le support, cette
sortie, cela a été créé. Je vais donc vous montrer chaque
étape par étape. Également. Dans mon cas, je vous ai montré ces machines
puisque j'ai cet ordinateur portable est configuré
pour la machine Windows, je n'en ai pas assez. Mais qui vous fait expliquer ? qui avez-vous écrit le code ? Serveur, client ou Linux ? J'ai également installé sur mon système Windows lui-même
ou la machine virtuelle Linux s'est rencontrée. Par conséquent, nous intégrons, vous
savez peut-être qu'il s'agit d'une machine virtuelle. Si vous avez un système
d'exploitation différent ici, dans mon cas, j'ai Windows, mais je
veux aussi écrire le
programme pour le Lena. Donc, si vous voulez la
compilation croisée, si vous devez un système
d'exploitation différent que vous voulez, vous devez écrire le programme. Vous pouvez
installer directement VirtualBox. Et à partir de là,
vous pouvez écrire, vous pouvez télécharger l'image ISO, ISO pour le système
d'exploitation que vous souhaitez. Alors pourquoi mon cas je voulais
pour le système Linux, car je voulais vous
expliquer le serveur socket, la communication du code
client
et l'exécution sous Linux. Et j'ai déjà un rapport
Windows. J'ai téléchargé ISO pour Lena présent, ce n'est rien de
tout ce qui est nécessaire. Vous disposez d'un système Linux. Vous pouvez écrire directement le code. Les communistes vont
décider
du système Hat Linux.
J'ai des fenêtres. Mais pour exécuter le
programme pour les maigres, je dois installer
VirtualBox. Considérez simplement que vous
avez la machine Linux. Ainsi, même si vous
installez VirtualBox, si vous n'avez pas Linux, vous pouvez télécharger
l'image pour cela. Et si vous avez configuré votre
machine en mode linéaire, c'est simple. Alors ici aussi,
considérez que vous
avez un abdomen pour
la machine Linux. Vous aurez des déterminants par
défaut. Voyons comment y aller. Voyons donc l'aperçu, ce que vous allez
couvrir au cours de cette session. Il existe différentes méthodes
de
socket d'un autre serveur
à répéter et à tracer. Il crée une prise. Côté serveur, vous devez créer un socket, puis
vous devez le trouver. Toutes ces méthodes
sont donc communes à celles des fenêtres, juste au cas où
vous verrez qu'il s'agit d'
une méthode qui n'est pas présente
dans le cas de Vénus, c'
est-à-dire wx, une fonction de données
WSS. Cette fonction était
morte sur NAEP ou le code machine Windows ainsi que pour le
client parierait. Alina, j'ai déjà
mentionné que WAS
startup, fonction de démarrage qui est nécessaire pour initialiser
qui ont été ciblées bibliothèque n'est pas présente dans cas de cette machine Linux
qui est seulement le différence. Et ces autres fonctions sont presque identiques. Juste cette partie qui
déconnecte celle de Nina. La syntaxe sera
différente et il y a une certaine différence structurelle.
Je vais donc vous montrer. Si le socket client utilise à
nouveau, la même chose que la
fonction de données WAS n'est pas présente, ce qui est spécifique à Windows. Il s'agit de créer un socket, se connecter au serveur et recevoir des données
, puis de se déconnecter. Ensuite, les méthodes et les données
structurées spécifiques, nouvelles, spécifiques à Linnaeus connaissent la fonction
WSS Startup
utilisant Linux, ce que je vous ai dit que cela a
été fait sous Windows, puis la fonction de fermeture
est également différent. Dans le cas de Linux, les Soviétiques doivent simplement
appeler la fonction close. Mais dans le cas de Windows, nous avons vu que nous devons appeler socket. Et c'est aussi comme Nina nécessaire pour
déconnecter la prise. Donc, toute cette fonction
n'existait que pour la plate-forme Windows. Dans le cas de Linux, nous avons
une fonction de divulgation. Ensuite, le type de descripteur de
socket renvoyé par l'appel de la fonction
socket est différent. Donc ici, lorsque nous appelons la fonction socket dans le serveur et le client, donc il retournera descripteur de
socket dans la
fenêtre étant basaltes, c'était le même type
de descripteur de socket est différent en cas de retour
linéaire de type. Et dans ce cas, souvent
Windows, il renvoie socket. Ici, lorsque nous écrirons le programme, vous comprendrez que je
viens de faire ou ce que vous avez fait, je viens de
les écrire tous pour vous. Ensuite, il y en a différents. Ce type de
structure d'adresse de socket est différent s'il y a des
différences légèrement serrées. Les mêmes méthodes ou types de
données existent. Spécifique à Linux ? Puisque ce type de prise ou de
destruction est différent. Donc ce stock, vous savez que cette
structure d'adresse de socket, ce que nous faisons ici, vous la remplissez avec les détails de l'adresse IP
ainsi que le numéro de port. Puisque c'est différent. Par conséquent, vous savez
que l'idée de produit ou de service appelle la fonction
textée. Ainsi, sauf par une fonction, nous utilisons cet
archétype, cette structure. Ainsi, étant donné que le type est
différent, le, cela changera
également
dans la fonction de sortie pour le
côté client que nous appelons Connect. Encore une fois, nous utilisons cette structure d'adresse de
socket. Ce sera donc différent. Le type sera différent sur un ID de socket a été frappé stupide, il utilise la fonction ionique. Ainsi, même en les voyant diviser l'
écriture du programme, ne vous inquiétez pas, alors en ce qui
concerne
le fichier d'en-tête, les fichiers d'en-tête requis
pour Linux seront différents de ceux des fenêtres. Maintenant, cette autre différence, commençons
maintenant à
écrire le programme ou la programmation du code serveur et du
port client sous Linux. Encore une fois, vous êtes déjà sorti, je suppose que vous
avez un
système Linux ici et que
vous êtes sur le point d'écrire un code. Je l'ai donc rendu flexible. Je couvre
chaque chose ici. Même si vous écrivez
le processus
de programmation pour la programmation de
socket de l'application pour Windows, vous pouvez référencer la session
précédente et si vous
possédez
la machine Linux, vous pouvez enregistrer la session. Donc pour Windows a également couvert la programmation
et l'exécution et quatre unités et la publication, de
sorte que vous serez en 14 à écrire le
code pour machine
différente ou que vous
soyez à l'aise avec ça. C'est donc la raison pour laquelle j'ai mentionné une différence
et le code vous fait comprendre
la différence dans le QI. Commençons. Je vais ouvrir ma dominante
du dominant et nous
allons écrire le code. Ouvrons. Laissez-moi juste écrire
leur personnel. OK. C'est ma dominante de la VM. Laissez-moi y retourner. Donc je suppose que vous voulez, si vous démarrez la machine Linux de
conseil de code, vous connaissez les commandes. C'est comme si vous êtes
à l'aise avec Windows, vous pouvez aller à la session audio. Et si c'est le cas, vous voulez
écrire un programme pour Linux, vous devez être conscient des choses de
base comme ls. Que fait Ls ? Par conséquent, sous Linux, nous
utilisons principalement cette invite de commande. C'est notre terminal.
En fait, je l'ai ouvert. Vous pouvez voir le nom dominant. Et j'ai juste, vous devriez connaître les commandes de
base dans
Linux si vous voulez écrire le code ici, si vous voulez
comprendre comment
revenir au
répertoire précédent ou afficher ce que Einstein nous a dit en
particulier le répertoire. Donc je le suis, et vous pouvez voir mon PWD, c'est ma partie qui est mon nom. Et j'ai mis à jour le nom du dossier par programmation de socket MKDIR. Et ici, si je le fais et que j'ai déjà écrit
le code pour socket, peux coordonner le socket
plusieurs tribunaux. Je vais donc ouvrir ce code
pour vous sous cette forme. Nous sommes deux. Au lieu d'avoir des
fichiers C, Monsieur le Président, je vais passer par ces fenêtres et je vais vous montrer le fichier C. Je vais vous montrer toutes
les instructions utilisées. C'est presque similaire
à celui de la fenêtre, juste un peu
différent c'est que je ne le fais pas, je ne veux pas commencer à écrire Internet toutes les
instructions neuf par neuf, donc j'ai déjà écrit ici. Je ne veux pas perdre de
temps à l'écrire. Vous en aurez déjà
marre car presque tout est similaire à cette différence de
fonction spécifique, différence
structurée et 100 défenses différentes. C'est Ls. Pour commencer par le code
du serveur, permettez-moi d'ouvrir ce dossier. Dans le point de mise à jour du serveur
SOC c. Maintenant, comment ouvrir ce fichier en utilisant cette dominante, je peux ouvrir
directement par VI à
propos de la mise à jour point
c. Je peux
ouvrir directement ce fichier de cette manière. Vous pouvez voir qu'il s'agit du
code du serveur. Je vais vous faire expliquer. Même si vous voulez voir à
travers le bloc-notes, vous pouvez aller
dans le dossier et vous pouvez passer programmation de
votre socket que j'ai créée et c'est en
quelque sorte vertical. Vous pouvez l'ouvrir directement. Soit vous pouvez ouvrir
de cette manière. C'est le même pot
que vous pouvez vous référer qui domine chaque pied. Donc, vous pouvez y aller ? Je pense que oui. Qu'est-ce que l'humeur, comment peux-tu avoir ? C'est donc plus clair
en fait, vous pouvez le voir ici, alors laissez-moi l'ouvrir
dans le bloc-notes lui-même. Ce document lui-même. Tout d'abord, je vais vous expliquer comment le
compiler pour mes élèves. Voir le programme, ces fichiers
d'en-tête que je vous ai
déjà mentionnés. Il s'agit tout d'abord du code
serveur pour les Lena. On m'a déjà dit
la différence entre
les fichiers d'en-tête pour Linux et Windows et
la session précédente. Si vous ne l'avez pas traversé, vous devriez le parcourir
afin d'
avoir plus de guillemets simples. Ce sont donc les
fichiers cachés utilisés pour Linux, quelle programmation de socket. Vous pouvez effectuer des vérifications croisées plus tard. Ensuite. Il s'agit d'une fonction principale. Ici même, nous aurons une fonction principale où nous
avons écrit notre code. Je vous ai donc dit que cette fonction principale est un point
d'entrée pour commencer. C'est un point d'entrée pour démarrer une exécution de votre programme. Ainsi, chaque fois
que votre
programme est exécuté, cela arrive très rapidement dans cette fonction principale et quoi que ce soit ou vous écrirez ici, sera exécuté ligne par ligne. Voyons donc
ce que nous avons fait. Vous pouvez donc voir ici qu'il y a deux variables par
nom serveur et client, et j'ai initialisé à 0. Son type de données est entier. C'est une différence
en fait un post qui est ici. Vous pouvez voir ici, il s'agit de variables
spécifiques aux fournisseurs de données Linux , serveur et le client sont
utilisés ici même. Il s'agit donc du descripteur de
socket. Donc je vous l'ai dit dans
cette présentation, puis nous appelons la fonction socket le descripteur de socket que les visiteurs
ont renvoyés. Son type de données est différent. Il est de type numérique
dans le cas sous Linux, mais dans le cas de Windows, il l'avait vu comme de
leurs types socket, SOC
majuscule, socket QE2. J'espère donc que vous parcourez cette session si vous souhaitez
être spécifique à Windows. C'est donc un dollar. Ce sont les descripteurs. Donc, sur moi, mon descripteur de poignée de
prise seulement. Vous fonctionnerez sur le tube de
prise et vous appelez les différentes
fonctions telles que l'achat, écoute, la sortie dans la carte. Vous allez utiliser ce
descripteur de socket Adobe Cause pour le serveur. Ce type de données est différent. Encore une fois, la deuxième chose
ici, je vous ai dit que l'adresse de la
structure de socket est différente. Vous pouvez donc voir ici que nous
écrivons struct. C'est ce type de structure. Nous sommes en train de créer la
variable de celle-ci. C'est le serveur ADD
à ce milliard de dollars américains. C'est également spécifique à Linux. C'est différent si vous
comparez à celui des fenêtres. Maintenant, ici, cette structure, elle est remplie, elle compte tellement de membres. Donc je vous ai dit que
mes démembrés sont utilisés dans le parce que ce qui s'est passé du
côté de notre côté, je vous ai dit que nous en avons deux. Si c'est le cas,
la communication entre le serveur et le client doit avoir lieu. Nous devons payer l'
achat de la barre latérale. Si vous écrivez le code pour le
serveur, pour la barre latérale, il doit être lié à une adresse
IP et un numéro de port particuliers. Une fois que nous avons lié cela, cela signifie que, dans ce cas, le client
souhaite se connecter au serveur. Comment je comprends réellement ce que
nous avons eu, c'est le serveur en
pensant simplement avec lui, avec l'adresse IP
où il achète aussi, ainsi que le numéro de port. Donc, la
raison pour laquelle nous le devons, chaque fois que nous écrivons
le serveur ou que vous devez le lier à l'
adresse IP et aux numéros de port. Le client intime souhaite
se connecter au serveur. Il se connectera,
il
coulera avec la même
adresse IP et le même numéro de port pour couper communiquer avec elle afin que
ce soit ici ce que
nous, les instructeurs, l'adresse du serveur, nous
remplissons la structure à laquelle l'adresse
IP et le numéro de port
auquel le serveur se liera. Par conséquent, cette fonction le nomme comme je l'ai expliqué en détail
dans la session audio également. Et j'ai obtenu les
méthodes qui sont utilisées pour les unités et pour
les fenêtres avec discussion
chantant avec un port,
vous avez également passé par
la session. Maintenant. Vous pouvez voir que j'ai écrit ceci IN ADD ou n'importe quel
trait de soulignement et vous l'avez expliqué la même
chose en fait s'il est interdit pour Windows
aussi, que fait-il ? Cela signifie qu'il est lié à toutes les
interfaces réseau
présentes sur la machine
hôte sur laquelle le serveur est en cours d'exécution. Par conséquent, cela signifie que si vous êtes connecté
à la terre, il aura une adresse IP
différente. Il s'agit donc d'une interface
réseau. Si vous êtes connecté au Wi-Fi, adresse
IP sera différente
et
il s'agit d'interfaces
réseau différentes. Ainsi, votre barre latérale se liera à l'une
des étranges interfaces
réseau, quelle que soit votre utilisation
sur votre machine, sagesse de cette machine laquelle vous
exécutez notre serveur. Cela signifie donc que pour
que nous donnions cette variable, nous l'
attribuons. Ensuite, nous ajoutons
l'écriture des numéros de port. Tous les temps se battent contre
ce numéro de port. Vous pouvez donc utiliser tous
les nombres supérieurs 102465 par trois pi car 1024 il
est déjà occupé. Donc, si vous utilisez un
numéro de port supérieur à 1024, quel que soit le numéro de port de la
barre latérale à laquelle il sera lié. Pour l'état d'esprit thrombus, vous devez vous connecter
au même numéro de port. Et c'est une famille d'adresse familiale
pour nourrissons. Donc, votre air dedans. Donc, puisque nous utilisons
IPv4, par défaut, par défaut, si j'ai souligné ion et c' est la fonction de liaison.
Nous utilisons. Ceci, nous analysons
ce côté disque descripteur
de la prise oculaire. Et ensuite, nous passons à travers cette structure que
nous avons échouée. Vous devez construire
cette structure ici. Nous transmettons votre
typographie TO à ce
type et nous mettons à jour cela. Nous mentionnons ensuite la
taille de cette structure. Ensuite, nous appelons
la fonction d'écoute. Nous pouvons donc voir que les mêmes
fonctions existent pour Linux également que
les différences de type qu'il renvoie dans le menu de poignée de
socket de type. Encore une fois, il
écoutera en passant cette poignée de socket ici
dans le premier argument. Dans le second, le
nombre de numéros souhaités dans la file d'attente pour les demandes de
connexion
pour différentes lignes. Donc ici, depuis 0, je ne veux pas qu'aucune autre connexion
client soit dans la file d'attente,
donc j'ai écrit 0. Vous pouvez modifier votre code en fonction de l'
exigence de poésie humaine et de l'action du
client pour être dans le tube. La version actuelle est exécutée. Vous donnez encore,
donnez ce numéro. Vous allez écouter. Ecoutez signifie qu'il
écoutera cette prise. Ensuite, nous
imprimons le message côte
à côte qui écoute les connexions
entrantes.
13. Socket Session8 ProgramExecution ServerClientCommunication Linux C Part2: Je déclare une variable. Je suis, c'est un type de chaîne de caractères car il s'agit d'un tableau de caractères. Ici, dans la fonction de sortie,
j'appelle la fonction de sortie. Une fois que le site d'
un petit pain a été refusé, envoyez une demande au serveur. Il l'acceptera et
signifiait qu'il est accepté. Ensuite, peu importe ce qui sera posté, nous passerons
la même
poignée de prise que celle que nous avons obtenue
de cette prise. Et la structure ici, c'est ici que nous
initialisons comme nulle et nulle. Ici, il retournera
l'application descriptive. Ici, ce sera différent de
celui du droit. Comme je vous l'ai également mentionné, la poignée de prise qui est
renvoyée de la fonction socket. Il est utilisé pour qu'
il soit engagé dans l'acceptation de la
connexion du côté client. Alors que cette poignée de socket, qui est renvoyée à l'exception de celle-ci, sera engagée dans des opérations de lecture et d'
écriture à partir
du réseau, le client. Les deux
seront donc différents. Une seule utilisation dans le but
différent et elles sont également différentes. Donc ce descripteur de socket, que nous obtenons,
sera lié, peut-être avoir les
données du client. Donc, même si vous pouvez utiliser de manière
indépendante, vous êtes ici et je
vais lire. client utilise donc le même type de carte que celui que nous avons vu
depuis Windows. Le client envoie un
message, dites bonjour. Et puis c'est l'ensemble de l'étrange. Il sera tourné, il acceptera la
connexion de Dr. Lines, et il
lira les essais de tout ce que le
client lui a envoyé. Nous
appelons donc la fonction. Ici, nous utilisons
la fonction de lecture. Si le descriptif client
et ce tampon. Ici, nous avons déjà
déclaré cette variable et quel que soit le sens de l'ensemble du client sera collecté
dans ce tampon, et c'est la taille que
vous mentionnez. J'ai ensuite imprimé cette boucle. C'est le message qui
a décliné, descendant. Puis mm m'a dit, mais en le
faisant 00 cette boucle. Maintenant, je
ferme le socket qui
est là pour le client, puis le client est déconnecté. Vous comprenez donc ce que nous
attribuons à l'exception de la fonction, ce qu'il retourne sera lourd lié au socket de
fond de panier. Après l'utilisation, je le
déconnecte. C'est ce que nous faisons. Donc, la plupart des
choses sont similaires. Est-ce que la
machine Prado Windows que nous avons vue ? Il s'agit
du code côté serveur. Maintenant. Désolé. Oh, désolé. C'est un
vieux préjugé pour par-dessus bord. Permettez-moi d'ouvrir leur dominante. Oui. C'est le code, j' espère que vous connaissez
ces commandes, ce qui signifie que si vous voulez
ouvrir à travers la gomme à partir de, vous pouvez utiliser cet éditeur VIM, et vous pouvez ouvrir le fichier. Ces linéaires arrivent donc. Je suppose que vous savez
peut-être si vous écrivez
le programme sous Linux. Et toutes les méthodes que je vous ai
expliquées qui sont spécifiques aux serveurs, nous allons
donc le compiler, mais voyons comment
compiler ce code. Nous devons utiliser ce
GCC, donc je n'ai rien
installé sur cette machine Linux. Donc vraiment ce GCC, c'est un outil de compilation de base
pour compiler le programme C, directement disponible
chaque fois que vous installez. Chaque fois que vous
possédez une machine Linux, vous aurez ce GCC de base, agréable à l'air pour pouvoir
compiler le code. Gcc, vous pouvez compiler le code C. Je n'ai pas tout écrit, il
suffit de taper le fichier gcc, que je vous ai montré
quel code serveur, comment le compiler
dans la commande de GCC, puis ce nom
du fichier et de la cheville. Quand je le fais, vous pouvez voir qu'il a créé un point indiquant
que c'est le mien. Après avoir compilé le
code qui avait été obtenu. Maintenant, pour le lancer, je ne vais
tout simplement pas courir. Maintenant, permettez-moi de
vous montrer le code client. Maintenant aussi une chose que
je vous ai expliquée chaque fois que vous devez faire la programmation de socket
entre le serveur et le client, comment avez-vous fait quoi ?
La machine Windows. Si vous utilisez des vidéos,
l'IDE Woodblock, je pensais que vous ne le feriez
pas dans cet IDE, Wooden Block ID,
vous savez, vous ne pouvez pas créer 22 decks, un projet et
une ligne de produits. Et vous ne pouvez pas faire
la communication entre eux si vous le souhaitez
sur la même machine hôte, si vous souhaitez effectuer cette communication
entre le serveur et le client sur la
même machine hôte, alors c'est la même machine. Ensuite, vous devez ouvrir
la coïncidence de l'ID Woodblock dans le cas
de Windows, je l'ai fait, je vous ai montré qu'il s'ouvre
vers le haut à l'instance, ID de bloc
maladroit, car par défaut, il ne permet pas
et nous l'avons créé, ouvert à l'instance
de Woodblock ID. Une instance, nous avons créé un projet, centré
ou trottoir, et dans une autre instance de
bloc de code, nous sommes créés à ce code de modèle
objet de ligne. Ensuite, nous avons fait
l'obligation de prise. Là encore, je vais vous montrer ces communications client du serveur
socket sur
la même machine de Lena. Comment j'utilise ce GCC, j'utilise cette dominante pour
compiler mon code pour l'exécuter. Par conséquent, vous n'avez pas
besoin d'effectuer de configuration. Vous venez d'ouvrir un autre terminal. Il s'agit d'une dominante
dans laquelle vous
apprendrez le code du serveur, compilerez le code pour le
serveur et l'exécuterez. Et une autre dominante, nous
allons courir la garde. Une fois que nous aurons compilé le code client, vous rencontrerez
un autre terminal. Vous serez donc trop court
ou ouvert à différents communistes
différents
dans lesquels vous utiliserez un serveur si vous
devriez toujours exécuter le serveur. Donc, latéralement devrait toujours être
fausse car c'est le Damon principal. Des clients
différents et différents. Ainsi, cela peut se connecter à elle. Si vous n'exécutez pas de solveur,
que vous exécutez le nœud client, ce n'est pas possible, vous ne devriez pas,
cela ne fonctionnera pas. Triste, qu'est-ce qui devrait courir en premier ? Parce que le client qui
se connecte au serveur, nous aurons besoin d'un
arrêt
de communication pour fonctionner en quelque sorte que je n'avais pas prévu. Nous aurons ouvert en nominale. Je vais vous montrer que vous me
laissez faire des recherches. Oui. Vous allez l'exécuter à
l'intérieur de notre code dans
un autre terminal que je boucle. Nous verrons les
messages, le port client, puis nous allons compiler et ensuite vous
exécuterez le code client. Mais une fois le code du serveur, comprenez
simplement qu'
un terminal
exécutera Server Core
et l'autre dominant, vous auriez fini de code incliné. Permettez-moi d'ouvrir une autre dominante. Dominante. Vous avez cette option. Maintenant, vous pouvez voir
qu'un autre terminal est, c'est un autre
terminal qui est là. Je vais passer en
revue le code. Est-ce que le client code.
Voyons maintenant le code client. Nous avons déjà vu
le code du serveur. Encore une fois, le code client est
très court en fait. Vous pouvez voir ici, est-ce
que cela correspond à ce code de ligne, ceci, laissez-moi le maximiser. Il s'agit uniquement du code client. Tout d'abord, les
fichiers d'en-tête que vous devez écrire pour la dette seront différents
de ceux des fenêtres. Il s'agit des fichiers
d'en-tête du socket de
la machine Linux. Encore une fois, la fonction principale
qui est un point d'entrée. Maintenant, au cas où je
vous disais, nous devons simplement créer une prise et nous
devons appeler la fonction
connect. Et puis nous n'avons pas
écrit d'opération. Ce n'est que la différence. n'est que la petite carte pour le client par rapport
à celle du servo. Encore une fois, nous allons
écrire un site de Salk. Il s'agit de la
poignée de la socket, qui est de type entier différent de
celui des fenêtres. Ici encore, l'adresse de socket qui est également défensive et de type de données. Maintenant, nous appelons
la fonction socket. Donc ici, rappelez-vous toujours chaque fois que nous devons faire
la communication entre serveur et le client doit avoir le même deuxième argument qui est transmis dans le
socket est le type de socket. Vous devez avoir le
même type de prise. Il peut être diffusé
en continu sur couches de flux de type
datagramme. En utilisant le
protocole de communication TCP, il est fiable, alors que le datagramme
utilise UDP, ce qui n'est pas pertinent. Donc la plupart du temps,
il utilise TCP sur moi. Par conséquent, les deux côtés
service généralement lorsque
vous créez une socket, ce type doit être
du type flux. Et si vous utilisez
ici le flux. Les deux devraient donc
avoir le même type. un ou l'autre à l'extrême sont l'un ou
l'autre doit avoir type de
datagramme afin de venir en ordre des communications vers le ductile, ce qui signifie la
colonisation dans les plantes. Nous appelons donc la fonction
socket. Tout d'abord, nous passons la famille d'adresses
Internet, puis le dipôle du flux de socket et Lindsey Nicole, le protocole
de communication. Ensuite, cela retournera une
poignée à la prise de ligne sombre. Vous êtes en train de créer
le produit socket. recul. Il le fera. J'ai modifié ce nom de
variable. J'ai donc écrit le nom de sel parce qu'il va
se connecter au serveur. Il y a une raison, mais ce socket que nous créons pour eux. Client. Encore une fois, la destruction, c'est ainsi que je vous ai dit la structure que
vous devez remplir. Tout d'abord,
côté client écrira l'adresse IP du
serveur, qui est la même. Cette adresse IP
doit être la même que celle à laquelle le serveur est lié, et le numéro de port devrait également voir pourquoi j'ai donné 127$ No.1 et vous expliquer. C'est ce qu'on appelle une
adresse de boucle arrière car puisque
nous le sommes, nous voulons faire la communication
dans le même système. Dans ce même système, mon serveur est en cours d'exécution et mon client
aussi j'aurai fini de manger. Je le suis. Par conséquent, comme il s'agit du
même écho système cette année, cela signifie qu'il signale
l'adresse IP locale, qui est morte sur
la machine hôte. Dans cette adresse IP locale de Lochia, le serveur est uniquement en cours d'exécution. Par conséquent, nous ne faisons que
mentionner 127$ le point un. Cela signifie qu'il faut signaler
l'adresse locale de cette machine hôte,
car nous savons que notre serveur est en cours d'exécution sur
cette machine hôte locale. Cela signifie qu'il
passe à la même adresse IP où le serveur est en cours d'exécution. Et le numéro de port est la raison pour laquelle
cinq fois, quatre fois cinq. Car ici, nous avons acheté le serveur à
ce numéro de port. Si vous aviez des classeurs, j'ai acheté deux numéros de
téléphone différents, disons 9994 fois neuf, alors vous en
auriez donné quatre fois neuf. Quel que soit le numéro de port auquel vous, votre serveur se lie, le côté client doit se
connecter au même numéro de port. C'est tout ce que nous remplissons
ici dans cette structure. C'est ça. Et puis, lorsque
nous appelons la fonction connect, nous transmettrons le premier argument est le handle de la socket, que nous retournons de cette valeur appelant la fonction
socket et cette structure que
nous avons remplie l'adresse IP et le numéro de
port, puis la taille. Ensuite, nous
écrivons du côté client connecté au serveur, car une fois la
connexion terminée, ce message sera
imprimé du côté client, disant connecté à ce client est connecté au solveur. C'est ce que nous avons fait, puisque dans notre programme, nous
envoyons le message. Nous écrivons le message
du côté client et nous
allons le lire et
donc le site du serveur. Quel message nous envoyons, nous envoyons simplement bonjour. Ici. Nous sommes en train d'initialiser cette chaîne qui est un
tableau de caractères avec ce bonjour. Et laissez-moi appeler la
bonne fonction. Le premier argument est
traité des sédiments sortant de la poignée de socket, puis le
second argument en tant que tampon, que nous initialisons
à cette valeur. Nous voulons que cette valeur
soit transmise au message
du serveur
pour qu'elle soit transmise à la longueur argentée de celui-ci. Par conséquent, nous appelons la bonne fonction par
la bonne fonction. En mentionnant dans ce
socket, nous devons envoyer ce tampon de message
qui est bonjour au serveur
du côté client. Il s'agit d'un côté client. Ensuite,
nous imprimons le message. Ce message est envoyé
pour appeler cette rapière, mal dépensé le message
sur le site client. Mais cette colonne vertébrale,
puis nous fermons cette poignée,
puis la prise est fermée. Il s'agit donc du
code du site client. Vous pouvez donc voir ce tout
prêt à l'emploi, simple et z. Maintenant, j'ai ouvert
un autre terminal. Allons à la substance. Nous devons toujours exécuter un code serveur
plus rapide pour que
nous l'exécutions. Je vais donc ouvrir. J'ai exécuté le code de serveur
mural post-hoc. Comment l'exécuter en mentionnant
simplement pourquoi j'ai
mentionné cette barre
oblique, car cela signifie que je suis dans ce
répertoire actuel du dossier, et que je vais l'exécuter. Un point out, dot out est présent
dans ce dossier lui-même. Donc, lorsque je cours, j'
obtiendrai le côté serveur, ce message qui écoute
la connexion entrante. Maintenant, le serveur est à l'écoute. Nous devons maintenant exécuter notre code
client sur un mètre. Une fois que nous avons exécuté le code
, le client doit se connecter à ce
client de maintenance déconnecté. Ensuite, le client doit
envoyer un message
au serveur et nous
allons lire du
côté serveur, vous
verrez un message de bienvenue indiquant que 0,09$ sera affiché
sur le terminal client. Et vous pouvez voir côte à
côte si ce message est également
lu et imprimé côté serveur en service, je peux maintenant voir sur l'écoute de la connexion
entrante, lançons le client code également. Laissez-moi donc ouvrir l'accord
dominant. Donc, je vais compiler ce code client
simplement par cette fonction, DCC et le nom du fichier. Lorsque vous exécutez, vous
ne verrez qu'un point sortant qui correspond la sortie produite
après la compilation. Maintenant, nous devrions l'exécuter. Vous pouvez donc voir ici que vous voulez que
le message du
côté client connecté
au message de plusieurs fournisseurs envoyé avec des tampons s'affiche lorsque le client envoie un message
au serveur, alors ce message arrive. Nous allons donc ouvrir le service. Je ne nous ai pas permis de voir si
le message est arrivé et si les informations ont
été mises à jour. Oui, vous pouvez voir après avoir écouté la connexion
entrante, ce mode unique que nous
pouvons jouer en toute sécurité sur la ligne de site du serveur connectée. Le client dit que le tampon est bonjour. Du côté client, ce que je veux dire
vient de vous demander, vous pouvez imprimer la ligne dit
mais, mais c'est bonjour. Et puis nous avons obtenu la fonction
déconnectée de cela aussi à partir d'ici. C'est ce que nous faisons. Vous pouvez voir comment se déroule cette
communication. C'est donc juste que j'
envoie
le message du client et je
lis le message, j'écris le message
du client et je le
lis côté serveur. Vous pouvez donc écrire et lire sur le serveur ainsi que sur le client. Vous pouvez avoir n'importe quelle
communication bidirectionnelle à l'allèle. Donc, vous ne vous contentez pas de vous
expliquer la syntaxe que j' ai écrite du côté client et que j'ai
lue côté serveur. Vous pouvez donc faire Weiss comme
moi et vous pouvez
écrire et lire et faire le chèque. Le chat d'un serveur
à l'autre. Je le suis aussi. C'est donc ce que nous avons vu, comment cette obligation de socket explique comment le message est
envoyé et ce que toutes les fonctions, la structure
différente, la différence d'
en-tête mobile ne sont pas. Permettez-moi de passer à la seconde. Permettez-moi, je reviendrai à ma présentation qui sera faite en voyant toutes ces
choses qui sont là. Nous avons fini avec le serveur, la programmation du
socket client. Nous avons fait en langage C ce que Linux et nous
l'avons
également exécuté. J'en ai fini pour l'instant. Merci. Merci beaucoup.
14. Socket Session8 ProgramExecution ServerClientCommunication Linux C++: Bienvenue dans cette nouvelle
session quatre, et cetera, programmation de socket
client
et voyez le sang divisé les noix trimestrielles
avec son exécution. Avant cette session, nous avons passé par
la session pour le serveur, programmation de socket
client en langage
C ou Linux
avec son exécution. Nous avons donc écrit le code C
pour la ligne de trottoir de socket, et nous avons fait sa communication pendant que
le système Linux, nous avons vu comment le client et serveur
communiquent entre eux. Maintenant, nous allons plonger le code C
plus plus et le système
d'exploitation Linux, et nous effectuerons une programmation de
socket pour la cybercriminalité n'est pas une grande
différence. Le compilateur sera différent. Nous avons donc vu que nous avons utilisé
sous Linux pour compiler
le programme C. Vous avez utilisé GCC, mais nous
utiliserons sur GPS car ce n'
est que la différence. Et certaines fonctions que nous
appellerons quart d'
entrée et de sortie seront différentes au sein toutes les fonctions liées à
la prise seront les mêmes. Ce n'est pas une grande différence. Nous pouvons donc rapidement passer par
la session telle qu'elle est presque, presque similaire à l'ensemble de directives que j'ai
programmées en C sous Linux. Juste en haut de la porte de Jens. Trois fonctions, les fonctions d'
appel seront différentes à mesure qu'elles sont utilisées,
il est fluide d'entrer
sur la console. Voyons voir. Juste pour vous montrer, comme si vous pouviez
appliquer la stratégie de codage, vous pouvez coder pour cplusplus seul le compilateur deux
changera. Passons très rapidement à travers
la session en détail. Si vous voulez passer par la session précédente
que j'avais expliqué en détail le même programme
et voir ce que Linux. Je vais donc être
moche parce que c'est simplement les choses répétitives sur
la différence minimale, différence
biologique et certaines
fonctions d'appel différentes. Encore une fois, la même chose ici pour les
méthodes de socket de serveur pour linéaire, puisque nous allons
effectuer cela, que ces fonctions distinctes
ne créent pas la socket, liant à toutes
les choses si vous comparer avec la
machine Windows sera similaire, mais une fonction n'est pas présente. Pour Linux. Autrement dit, bien que WAC démarre et lorsque nous nous déconnectons
du socket, la
syntaxe serait la différence par rapport à
celle fenêtres pour
le CC plus plus. mêmes fonctionnalités sont qu'il n'
y a pas de différence
au Texas. Ce n'est pas différent
et la programmation des sockets utilisant C et C plus plus sur aucun des deux outils de compilateur et certaines fonctions d'
appel liées à l'entrée et à la sortie
sont différentes. Nous compilerons
le code à l'aide de g plus ici en
cas d'écriture, lorsque vous aurez fini d'écrire
le code et cplusplus. Et ensuite, il l'exécutera. Maintenant, près des méthodes de
socket client. La même chose que je dois faire en
tant que startup n'est pas présente. Cette syntaxe est différente
de celle d'avoir la même syntaxe pour C et C
plus plus changera. La même chose avec le Dr a été abordée
lors de la session précédente. C'est pour Linux, sont les méthodes et les données
structurées qui ne sont pas une fonction versus Startup
utilisée dans le cas de Linux, comme je vous l'ai dit maintenant. Ensuite, la chose suivante,
perdre des fonctions différentes IW ou leur perdre le socket. Nous appelons la
fonction que par rapport aux
fenêtres qui ne collaient pas Macondo
dans la limite WE malade. C'est donc différent
au cas où si vous comparez avec
Linux, je vous verrai. C'est similaire, c'est le même. Et un descripteur de socket dipôle, il est piloté par l'appel de la fonction
socket est écrit. Il s'agit donc d'une différence
spécifique à Venus
car pour Windows, le descripteur de socket,
puis les enregistrements retournent, la fonction socket
sera différente de
celle de Linux. Nous avons vu que lors de
la session précédente dans la programmation c pour le système Linux nous appelons la
fonction socket la socket. Et puis nous avons obtenu,
le type de socket
handle est de
type entier dans le cas de Linux, mais dans le cas de Windows, nous l'avons vu comme d'autres types proposés en capital SOC Katie,
c'est une différence. Mais pour CC plus, plus les mêmes
fonctionnalités sont mortes. Il n'y a aucun changement à ce sujet Et puis la
structure désorganisée ou rayée est différente. Encore une fois, spécifique à la structure d'adresse
Linux sera utilisée pour la lecture du socket et
révélera vraiment le diabète. Et le numéro de port qui
dipôle cette prise et restructuré est
différent dans le cas de Vénus par rapport à Windows. Un animal de compagnie fonctionne également
comme disant pour CC plus plus. Ensuite, puisque cette
édition est structurée comme un autre type de structure
décidée, utilise
l'indifférence ou le
dysfonctionnement. Et donc leur site Web portico appelle
accidentellement
la fonction d'acceptation. Nous utiliserons cette structure
d'adresses. Il n'avait donc pas le
type différent de
celui de leurs fenêtres de
médecin. Donc, le client que nous
appelons connect. Encore une fois, incline,
je vais être appelé
fonction Connect inclinée. Ils ont dit que le DO structuré
est utilisé au moment où la dette est différente de
celle des fenêtres. Encore une fois, le fichier d'en-tête, si vous parlez en termes de synthèse spécifiquement
pas si mort. Polynices était que la
programmation des sockets est différente de
celle des
fichiers d'en-tête. Sélections de fenêtres. Je suis juste en train de me précipiter dans cette session parce que c'
est une session libératrice. Je veux juste
vous montrer si vous compilez code
cplusplus et Linux et
quels tuners combinateurs ont utilisé. Et certains en-têtes, puisque nous appelons des fonctions pour
entrer et afficher, cet appel associé
sera différent. Donc Socrate. Toutes les fonctions disent que c'
est revenu là-dessus. Si vous comparez C
et C plus. Commençons donc à
écrire le code. Laissez-nous passer par cette discussion. programmation de
socket cplusplus Cetera gland avec exécution d'
identités peut ne pas exister. Accédez au système
d'exploitation Linux. Ensuite, je montrerai ce que
nous utiliserons. Bienvenue vital pour
écrire ce code en C plus n2. Combinez-le. Passons à la suivante. Donc, je suis en train d'avoir ou
quand Linux ici. Deuxièmement, permettez-moi
de donner le premier. Ici. Je vais
ouvrir la dominante. Puisque nous le serons, nous deviendrons en écrivant
le code dans la dominante. Vous savez, je vous
ai
déjà dit la session précédente que dans l'autre tendance à la
programmation ou à la communication sur
socket sous Linux, je vous ai déjà dit que nous avions le fourniture
d'utilisation de déterminants. Donc, si vous avez
cette configuration de Linux, je vais vous montrer et avoir, vous savez, les
commandes de base utilisées, ou le Linux qui est
très important. Nous avons donc déjà abordé les commandes du
WC et brièvement lors
de la session précédente. Nous allons écrire
le code dominant. Laissez-moi ouvrir ça. Il est lancé une minute. haute qualité a créé la salle de conférence du
dossier, C plus plus. On dirait presque vouloir une défense
fonctionnelle. C'est merveilleux. Et vous pouvez maintenant voir le
fichier que j'ai créé, j'ai déjà écrit
le code afin d'éviter le temps nécessaire à la rédaction de
chaque instruction. J'ai donc déjà expliqué
chaque instruction et session
précédente
qui n'avaient pas écrit le code en C et B. Ensuite, il est dit passer en revue
si vous voulez aller en profondeur. Donc oui, juste pour comprendre quel outil est utilisé
pour compiler le code C plus plus et quelles
différences minimales elles ne sont pas
dans la programmation des sockets, mais quand vous appelez la console pour lire et
écrivez sur la console, juste cette fonction sera différente,
alors que les fonctions socket, comme on le voit ici, ce fichier que vous
avez en
langage C plus plus aura l'
extension point cpp que dans le Vedas engagés résoudre le langage C lorsque
vous écrivez le code C, nous avions vu que l'extension n'
était pas vue, mais dans le cas du siège, la meilleure extension est point CPP. Vous le savez peut-être si
vous avez effectué la
partie de codage C plus plus, laissez-nous y aller. Maintenant. Si vous voyez que,
si vous comparez
le langage C, si vous êtes moins compétitif en langage C
physique, toutes les choses sont identiques. Juste une différence de ce fichier d'
en-tête que j'ai inclus dans C plus plus parce que vous connaissez
peut-être ce flux I O. Il s'agit de l'en-tête de l'affichage et de la
saisie
achetés spécifiques sur la console. Ainsi, comme nous l'avons vu, qui s'engage sur le
langage C, nous utilisons stdio.h. Ici. Vous pouvez simplement supprimer ce stdio.h qui n'est pas nécessaire. Laissez-moi juste venir
ici. Cela n'est pas obligatoire. Car ici, vous
allez appeler les fonctions
affichées sur la console. Vous appelez le code
de la fonction. Vous savez donc peut-être que
lorsque vous écrivez le code et cplusplus affiche
un message sur la console, nous appelons la fonction cout qui est acquise en sortant
le message sur la console. Donc, cette unité
de message est sortie sur la console. Et c'est le cas, j'ai utilisé l'espace de noms std. Vous pouvez voir que j'ai
ajouté l'école en utilisant l'espace de noms std car cette bibliothèque de
modèles standard std est que cette fonction est définie. Par conséquent, lorsque vous
avez deux C plus plus, vous devez mentionner dans cet espace de noms sur ces
fonctions. Nous devons donc tout d'abord mentionner cet espace de noms
et ensuite nous pouvons voir, si vous ne mentionnez pas
cet espace de noms et utilisez l'espace de noms std, il l'écrira ici. Ensuite, vous pouvez simplement l'écrire à l'école comme solution. Donc ces fonctions, et je suppose que vous êtes maintenant
dans le code C plus plus. Si vous entrez dans le
cplusplus, coordonnez la lumière qui est la
fonction de base pour l'afficher. Je pense que cette année et donne les commentaires sur la
console que nous utilisons C. Dans notre cas, nous
ne donnons aucune contribution sur le DevCloud. Je n'appelle pas la fonction pour entrer sur le je fais appel à moi. Voyez-vous, j'apporterai leur message sur la console pour qu'il y ait la seule différence
ici, c'est que les fonctions
liées au sulfate sont identiques. Donc, si vous constatez qu'il s'agit d'une coordination
cirrhotique, vous exécutez votre programme. L'exécution s'est arrêtée
à partir de cette fonction principale. Donc, quelle que soit la ligne d'instruction, nous allons
donc plonger
dans cette fonction principale. Il sera exécuté
neuf par neuf. Il s'agit de la même session
répétitive, juste pour vous mentionner la
différence entre C et C plus, plus. Je suis, j'ai donné
cette séance très rapidement. La gourde ici. Comme je vous l'ai dit, vous appelez la fonction
triée utilisée pour créer la prise et plusieurs tribunaux
appartenant à la famille
d'entrée Internet. Il s'agit du type de
socket par lequel il est diffusé en continu. Nous avons donc acheté la communication serveur
et client. La prise est créée
et les deux côtés. Le type doit donc
être le même si vous voulez que la
communication entre le serveur et le client ait un flux type neuf points ou vous devriez
avoir ce guide génétique. Stream est à un
type de responsabilité de la socket ici. Et le troisième
est une valeur par défaut
du protocole de communication est 0. Il renvoie un descripteur
de type in vivo. Cela se voit donc dans le cas de la séquence cn à chaque
fois la région qui est utilisée pour la programmation de socket en langage C et
aussi pour la maladie, mais pas de différence que sur moi, cette couleur bleue l'affichage et entrée de la console
que seules les fonctions que nous appellerons
sont différents au cas où je serais C et C plus plus dans ce fichier d'
en-tête que nous devons inclure. Et puis c'est la structure d'adresse
dans laquelle la route latérale, nous devrions la lier
à l'adresse IP et numéro de
port afin que lorsque le client souhaite se connecter
à elle, il puisse synchroniser la même adresse IP
adresse et numéro de port. Nous avons donc rempli cette structure côté serveur avec cette valeur. Et les
numéros de ce conseil sont dévalorisés. Cela signifie que c'est le cas, qu'il peut se lier sur les interfaces
réseau. J'ai donc expliqué que vous plongez
dans une section précédente. Et puis les numéros de sport, quel que soit le nombre que vous donnez,
devraient être supérieurs à
10 à quatre, car il est encore
1024 occupé. Et vous pouvez utiliser
plus de 102465535. Ensuite, vous appelez
la fonction bind pour lier une sorte de socket à
l'adresse IP et aux l'adresse IP et numéros de
port uniquement pour repérer données d'
amorçage pour une période de
deux ans ici. Ensuite, nous écoutons ceci, je
préfère écouter ce logiciel. C'est le nombre de numéros qu'il décrira la connexion qui
innoverait. Ensuite, appeler la fonction
de sortie à partir de l'ensemble de notre
site acceptera tout message provenant d'une
connexion, disons, accepter n'importe quelle connexion
de ligne du côté ligne, cette fonction de
sortie de phobie appelant décline et la connexion sera alors acceptée par
le serveur. Et puis la version filtrée et un autre descripteur de football
qui est également de type int. Ce descripteur de socket,
si vous n'avez pas écrit vocal tout patient et
le descripteur de socket, qu'il ne renvoie pas, c'est que
vous vous engagez
avec une connexion Dark Line. C'est ce qui se passe. Et puis cela dit, évitez
ce que nous faisons. Nous envoyons le
message du client. C'est ainsi que j'ai dit que nous allons le lire. Ce message sera collecté. Nous appelons la fonction de lecture. Ce message
sera relié à de
petits fonds qui
fonctionnent simplement, louent. Vous pouvez voir ici que la différence n'est pas seulement ce
qu'ils impriment. Nous appelons donc ici
la fonction CL, c'est-à-dire C plus, plus
C plus plus langage. Et pourtant, en affichant sur
les conseillers C out et cette dentine double guillemets
quel que soit le message que vous donnez, vous n'avez pas besoin de donner le spécificateur de
format
et C plus plus. Et puis vous devez donner
dans cet index la sortie,
puis le tampon,
puis mettre fin à la rougeur. Vous souhaitez qu'il apparaisse sur ce
message sur la nouvelle ligne. Donc cela deviendra entrant
sur le nouveau cas United sur le CV donne une barre oblique n. Mais
au cas où je verrai bénir,
bénissez-moi, donnez END l et l qui apparaît en train de faire un message de saut de ligne
Windows
pour venir dans la nouvelle ligne. Et vous le pouvez encore, donc quoi que vous puissiez voir ici, où que nous voulions afficher
Animals huit au conseil, nous appelons la dette C0, C0, C0 sur ces dettes différentes
par rapport au langage C, il y a deux lignes
de code supplémentaire qui est haché, y compris iostream. Vous devez inclure
ce fichier d'en-tête et hachage, puis utiliser l'espace de
noms std, car dans STD sur
moi, le PDG est mort. C'est ça. Et puis je vous ai dit, puisque nous allons jouer, a dit Laissez-le
communiquer avec le client. C plus plus dans la même machine, fait des écrous dans la même machine. Dans ce cas. Si vous ouvrez
le nombre total de minutes dans un terminal et que vous obtenez cela comme un terminal dominant et un terminal, nous exécuterons
le code pour les événements ou biais de
réduction du
code est compilé et exécuté dans une position dominante
dans un autre terminal. Une fois le code client
compilé, nous l'exécuterons. Et une autre dominante,
l' eau totale sur
eux devrait circuler dans des terminaux différents et ensuite ils
communiqueront entre eux. Compilons ce code. Donc ici, c'est
différent dans C plus plus, nous utiliserons l'outil de compilation g
plus plus. Dans le cas du langage C, lorsque nous avons creusé du code C, nous avons utilisé GCC. Mais bienvenue pour trouver
le code C plus plus. Nous ne pouvons pas compiler
le GCC car outil de compilation
GCC est utilisé pour combiner malaise,
nazi et bénédiction. C plus plus est un module
complémentaire sur scène. Tu n'as qu'à aller plus. Il s'agit d'un outil de compilation. Vous pouvez compiler le code
C ainsi que le code C plus plus car
il s'agit d'une version évolutive, d'une douzaine de versions mises à niveau, celle du langage C. Ainsi, le langage C ainsi que le langage C
Plus Plus peuvent devenir classés
par g plus plus Y2 à
l'extérieur n'est pas autoritaire, mais c'est-à-dire que vous ne pouvez pas combiner votre
code C plus plus à l'aide de ce GCC. Vous devez utiliser g plus plus. Ainsi, puisque C plus prend en
charge, prend en charge le langage C seul, donc par G que
nous utilisons D plus plus, vous pouvez combiner le code
C et C plus, mais vice versa n'est pas possible. d'autres termes, vous ne pouvez pas utiliser GCC pour combiner le code
C plus plus. Par conséquent, nous
utiliserons g plus plus, puis nous serons bilingues
ou utiliserons l'étudiant. Donc encore une fois, il va
créer le fichier et j'ai eu avant de l'exécuter. Voyons également le
code hiérarchique qui a ouvert une nouvelle dominante ou les
accidents que j'ai totalement massacrés courent dans une dominante
différente. Maintenant. Maintenant, depuis que je vous
l'ai dit, le code C plus, que nous allons plonger, a vraiment
l'extension pour piloter l'
extension vers CPP, ont fait les changements pour appeler l'entrée
et la sortie fonction. Vous pouvez donc voir ici, encore une fois, que nous avons, c'est un
code très court en une minute. Vous remarquerez que le code
client est très petit par rapport à celui
de la salve par rapport aux fonctions de socket
comme disant plus aqueous plus quatre langage C
sur le support appelant l'entrée et vous êtes la fonction désordonnée pour afficher le message sur le pied de la
console n'est que différent. Par conséquent, nous devons inclure
ce fichier d'en-tête, iostream. Vous devez écrire
cet espace de noms std. Donc, les mêmes choses
hantées de repos rose voient en
rapport avec la prise. Vous appelez donc la fonction
socket dans le client. Et nous disons que c'est que
nous mentionnons ici, donc la même syntaxe, nous la remplissons
avec l'adresse IP. Donc je vous ai dit que 127$ No.1 n'est pas une
adresse Lubeck qui, puisque nous m'
ajoutons , je vous demande si
la communication se produise dans la même machine. Profondeur ou le serveur
et le client sont exécutés sur la même machine. Par conséquent, cela signifie qu'une adresse
Lubeck signifie que
cette carte est à l'
adresse IP locale, hôte local. Ips souffrait certainement de diabète sur l'hôte local
car nous savons que dans le
serveur hôte local est également en cours d'exécution, donc il rétablira l'
adresse IP de l'hôte local. Ensuite, nous mentionnons le numéro de
port côté serveur,
quel que soit le numéro que nous donnons qui
ne correspond pas au côté client, il devrait être coulé vers le même numéro de carte
pour se connecter à la cellule. Et l'adresse IP
doit également être la même. Ensuite, nous continuons à la fonction de
déconnexion. La barre V est cette structure ici. Ensuite, nous écrivons le
message depuis le site client. Le même message que j'ai écrit. Vous pouvez donc voir que le
V, V que j'affiche au
conseil est différent puisque nous faisons ce
codage en C plus plus. J'utilise donc le
PDG qui s'affiche sur la console et N dollars avaient l'habitude leur
envoyer un message
le jour de la nouvelle nuit. Une fois encore. Voyez comment il est utilisé ici pour
imprimer le message, quel que soit le client que nous finissons
sur la console. Ces différences
sur aucune des fonctions liées
aux sockets sont les mêmes. Vous pouvez donc comprendre que si
vous connaissez la même langue, vous pouvez démarrer C plus plus
rien de différence n'est que dans les fonctions liées au socket sur le nucléaire affichent le
message sur la console, le C plus plus parce qu'
il y a ce code. Mais ça fait caca sur la console. Trouvons le tableau ici. Voici donc l'outil de combinaison j'utilise GPS car,
comme je vous l'ai dit, nous ne pouvons pas utiliser GCC pour compiler le code pour le C
plus, car gcc, parce que C ne prend pas
en charge C plus, mais z plus le support
C parce qu'il ne l'a pas fait, c'est une
version embarquée de la mer. Par conséquent, vous pouvez
utiliser le GPS au mieux pour compiler le code C ainsi que le code
CPP C plus plus. Mais vous ne pouvez pas utiliser GCC pour
compiler le C plus quatre. Vous pouvez utiliser GCC si vous
devez combiner le code C. J'espère que vous avez compris
la différence. Alors compilons
le code ici. Il génère
un point faux. Nous devrions exécuter le serveur, puis nous devrions exécuter cette ligne. Et quel est leur processus
démon ? Il doit être lancé
en premier à l'exception
de la connexion du client. Laissez-nous maintenant exécuter le
code pour le serveur. Vous pouvez le voir côté serveur et nous recevons
ce message qui écoute les connexions
entrantes, en quelque sorte qu'est-ce qui écoute ? Lançons maintenant le code client qui est mort
sur l'autre dominante. Maintenant, nous
envoyons simplement un message, nous enregistrons un message de fonction
correct sur le socket à partir du client, disant que le stage DOM
témoin côté serveur sera mis à jour. Dieu a connecté et
quel que soit
le message , la date limite qui descend à l'enquête Derby pour
accélérer le passage au sodium. Ensuite, mutuel en utilisant la prise. Mettons Dando by AD et le site souligné de l'
inducteur de sortie. Vous pouvez voir ici connecté au site
de la ligne de chargement argenté. Après la fonction Connect, vous sortez ce message utilisant CEO qui est une
différence et C plus plus. Et puis une fois le
message envoyé, ceux que j'écris sur la socket
du côté client, nous les recevons sous forme de déclarations. Il est équipé d'une poignée
inclinée en tampon. Passons donc au
côté serveur et voyons si le message a été reçu. Vous pouvez voir ici que
dans le programme, agit d'un serveur appelé
socket plusieurs code. Vous allez passer ce message
canal après avoir écouté connexion
entrante du
côté argent, si vous voulez qu'elles aient autant d'âge
que Glenn connectées, dit le
client, mais qu'est-ce que bonjour ? Donc ce message, vous
êtes une bonne chose sur la sortie, puis le
client est déconnecté. Ici, j'ai eu une autre chose. Je l'ai initialisé. Si vous voyez ici, bien
que nous ayons deux rétrogrades que
j' utilise ici côté
serveur, j'ai initialisé à 0. Parce que si je ne le fais pas initialement, cela signifie qu'il s'
initialise sur eux. Et le buzz de l'Eddy, Brésil, vous pouvez directement, vous n'avez pas besoin d'écrire 0
tous les 102 ordinaux par région. Vous pouvez simplement écrire
Connie racisme 0, ce qui signifie que l'ONU
initialise par défaut 0. Cela est donc très
nécessaire car
une fois que le
trottoir recevra le message
du client. Dans ce cas, puisque si vous n'initialisez pas
par dipolaire à 0, quels que soient ces
clients, envoyez un message sur le célébrant vous avez sorti d'un nouveau
affiché sur la console, vous allez recevez ce message, mais de la vitae supplémentaire, quelle
chose vous obtiendrez également. Par conséquent, nous devons d'abord
initialiser cette chaîne, c'
est-à-dire le caractère Eric à 0. Et puis nous
devons tout ce que le client
envoie au serveur quand moi, cela ne va pas
bouger les autres et peut s' afficher sur ça
sur la console. Vous n'aurez pas accès à
la base de données. Ce que vous obtenez,
c'est que la cliente ne dit que bonjour, donc elle aura sa pelouse. C'est oui. Maintenant, nous en avons fini avec cette carte de programmation
socket. Décidez d'appliquer les vacances à
venir sur plateforme
Linux
à l'aide de C plus plus. Donc, une boisson chaude code C. Vous pouvez passer par la session
précédente que j'ai abordée en détail. J'en ai fini pour cette session. Merci. Merci beaucoup.
15. Socket Session9 Comprendre Socket: Bonjour, bienvenue dans cette
nouvelle section qui comprend la communication
client serveur sur ECP. Ici encore, la
communication sockets que nous
verrons entre le
serveur HTTP et le client. Par le terme HTTP, vous savez
peut-être qu'est-ce que c'est ? Http. Http signifie Hypertext
Transport Protocol. Et chaque fois que nous
surfons sur le net, chaque fois que nous voulons graver des
informations sur le net, nous saisirons le lien, visiterons le site et nous donnons
toujours http ou HTTPS. Par pont, nous obtiendrons le lien de lancement de page
que nous obtenons de cette manière. La fin de semaine d'information. De cette manière, quel que soit
le lien que vous passez, vous donnez sur n'importe quel navigateur. Il peut s'agir du Mozilla, du
marié, d'Internet Explorer. Ce sont tous les types de navigateurs. Il s'agit du côté client, côté
application, de sorte que nous
donnerons n'importe quelle URL,
cette URL, qui sera le lien Odyssey, que nous, vous donnez, supposons que vous
donnez à Google.com et c'est Que va-t-il se passer ? Vous souhaitez récupérer la
page sur Google.com. Vous serez donc un lien sur, vous saisirez le
lien sur le navigateur,
sur le site sous-jacent
côté application. Et cette liaison que nous
passons sera
envoyée côté serveur. Il s'agit d'
Apache, côté serveur Apache, et il enverra les données
en réponse à la demande, ce qui est des crêtes données
à partir de ce côté. Les données seront alors
chargées côté navigateur. C'est ainsi que se déroule cette
communication. Nous avons surtout
plongé le lien, mais nous ne savons pas comment cela
fonctionne pour aider à gérer cette communication,
c'était simplement une somme de données que nous récupérons. Supposons que nous voulions récupérer une image pour même
taper le lien là-dessus, sur le, sur le navigateur. Cela peut être le problème peut
être un explorateur de soupe génétique. Ensuite, nous obtiendrons
les données de l'image. Alors, comment
obtiendrez-vous les données sur l'image ? Comment cela se produit réellement, vous tapez simplement le lien et vous enrichissez les données sur l' âge de votre page, la façon dont vous obtenez ces données. Par conséquent, cette communication a lieu entre le
serveur et le client et le serveur. Une mutation a lieu. Et c'est la communication
client du serveur HTTP. Cela se fait donc sur le TCP. C'est-à-dire que nous avons
vu la session TCP. C'est un protocole fiable car tout
est fourni ici. Il fournit la correction des
erreurs. Il est fiable car toutes
les données seront envoyées. Certaines données sont perdues, puis encore une fois, elles
seront transmises. Il peut également être avisé
de nous. C'est ainsi que
la communication est fiable. Il est également lourd. Nous l'avons donc vu, nous avons discuté de DCP. Nous allons donc voir comment ce HTTPDD est plusieurs communications
client se déroulent sur TCP. Il ne s'agit donc pas d'UDP
parce que TCP est fiable et que nous voulons que la communication lieu, elle
ne devrait pas être fiable. Par conséquent, il aura
lieu sur GCP. Comprenons plus. Allons-y pour
que vous
compreniez en détail de quoi
tout ce dont nous discutons. Lors de nos conférences précédentes. Nous avons vu, vous savez
peut-être comment se
déroulerait cette communication sur
socket client serveur TCP cette communication sur
socket client serveur TCP, car j'
ai déjà expliqué quelles méthodes
bien connues sont utilisées. Ou serveur TCP, communication sur
socket client. Et nous avons également vu qu'avec le
code pour Windows et Linux, nous avons tous trié dans le
programme sur l'ID Woodblock, cette communication
temporelle du serveur TCP, la communication par
socket
et les fenêtres. Et nous l'avons exécuté. À l'aide de ces connaissances, nous verrons comment cette communication sur le
socket client serveur HTTP se déroule sur TCP. Ce sera donc
très facile pour vous car si vous avez passé
par les sessions précédentes, vous serez
presque tout l'
accord VI qui utilise dans cette communication socket de
chaque serveur HTTP hors ligne mais avec quelques
modifications. Vous allez donc trouver
cela plus intéressant. Et commençons les sujets
qui aborderont compréhension par
les gens du diagramme du
blog d'un médicament. Ensuite, nous verrons
comment le client HTTP envoie la demande sous la forme
de la tête et de la NBC, Qu'est-ce que cet en-tête en détail ? Ensuite, nous verrons comment
ce serveur HTTP donnera ces liens à la
demande des clients HTTP sous forme d'
en-tête et de corps. Commençons par le sujet afin que vous puissiez mieux
comprendre. Il s'agit maintenant du diagramme de conjugaison des contours du serveur
HTTP. Vous pouvez donc voir ici qu'il
s'agit de HTTP neuf, et il s'agit du serveur HTTP. La demande sera envoyée
du côté client HTTP vers le site serveur HTTP en termes
de message de demande HTTP. Et c'est généralement la barre latérale
que la danse qu'elle reçoit ne reçoit pas. Hum, entrez les données
du client. Il produira cela dessus, puis il enverra
la réponse
des données au client HTTP. Donc aveuglément considéré
comme un navigateur. L'exemple dont je vous ai
dit que vous n'étiez
pas un lien sur le delta. Le navigateur peut être de la place, il peut être l'infini explosé, ou il peut être tiré faux. navigateurs tellement
différents, différents. Vous pouvez donner
différents liens dans lesquels le lien contient une barre oblique de deux-points
HTTP. Supposons que vous
et vous vouliez donner le lien WW, le
moodboard, google.com, vous voulez donner Facebook
acheté standard commun, je suis point com n'importe quel lien mais vous voulez le multimédia
lié
lien. Quelles que soient les informations que vous souhaitez obtenir
un lien, vous
indiquerez les différents liens. Ce lien que vous transmettez. Ce sera le
résultat du côté client. Ce sera donc le lien. Ces informations seront envoyées
au site serveur
plutôt que sur le site, elles répondront à ce lien. Il va récupérer, il
constituera les données qu'il
doit envoyer au
client de sorte que les données
qui étaient un site sur, ces données seront
chargées et vous obtiendrez la page chargé du côté de
votre navigateur. Donc,
toutes ces données seront envoyées
du serveur au client, qui doit être chargé
côté navigateur. Commençons cet autre
diagramme, opaque. C'est votre
navigateur Web, comme je vous l'ai dit, il peut s'agir de Chrome, il
peut être déclenché, faux. Sephardi, Internet
Explorer, n'importe quel routeur, cette partie est le client et
vous transmettez la demande. C'est-à-dire que vous
tapez n'importe quel lien sur ce navigateur comme Google.com, facebook.com et
aujourd'hui Internet. Cela ira de
ce côté où il s'agit de trier ce serveur Web
et ce serveur d'applications, c'
est-à-dire le serveur HTTP, ce mini constitue les données. En fait, il recevra les
données et les enverra en réponse à cette demande
ici au navigateur, puis la page sera chargée. C'est ainsi que se déroule
la communication. Nous voyons maintenant plus de détails. Comprenons maintenant ce qui
se passe dans le diagramme
précédent. Par conséquent, le client HTTP, envoyons
la demande au serveur, y
répondra via TCP. La même chose que
je vous ai dit que ce client envoie une
demande au serveur. C'est ici la ligne, il
s'agit d'un client et
le serveur décline. C'est votre navigateur. Il
peut s'agir de n'importe laquelle de ces choses. Chrome, Firefox, Safari,
Internet Explorer. Il envoie la demande, requête HTTP qui sera
transmise via le protocole TCP. Cette demande
sera donc envoyée au serveur, y
répondra renvoie les données. Il y répondra ou s'
il s'agit de TCP. Il utilise donc le protocole MQTT, il utilise le protocole TCP car
c'est un protocole fiable. Le protocole Tcp est un protocole
fiable. Voyons maintenant l'exemple, celui dont j'ai déjà
parlé, le navigateur chrome. On se voit quand on donne de
l'eau pour dire que nous donnons http, www.google.com, adobe eyes, en
donnant l'URL. Supposons que vous receviez l'URL, le Buddha
blue.example.com. C'est supposément un lien. Il s'agit de la page par défaut. Ce lien a été configuré pour avoir la page par défaut chaque fois que
l'utilisateur tape ce lien. Ce lien lui-même
est configuré pour accéder à cette page, page par défaut. S'il est
configuré sur cette page, index.html, n'importe lequel des
liens qu'il peut être. Que se passe-t-il alors ? Voyons donc voir. Cet UID, il sera
transmis de cette manière. Ce que vous avez ajouté sera
transmis au serveur. Cette surenchère le traite et renvoie les données en réponse
et la page sera chargée. Voyons voir, un par un,
que se passe-t-il ? Maintenant ? Nous discuterons
étape par étape. C'est ainsi que le client HTTP enverra une demande
au serveur Apache. Nous l'avons déjà fait, nous
discutons de l'exemple comme si nous donnions
un lien vers le navigateur. Le navigateur peut être tout ce que nous avons vu dans
le diagramme de blocs. Supposons que si vous donnez example.com, comme je l'ai dit que certains
de ces liens, ils sont à l'ADA ou
configurés par défaut sur une page. Supposons que cette page, example.com, soit configurée sur index.html, c'
est-à-dire que sa valeur par défaut
a joué votre lieu. Donnez ce lien
que l'égalité
sera ce index.html humain. Ensuite, ce lien que vous donnez sur le navigateur ce qui se
passera dans ce cas. Dans ce cas, vous devez taper n'
importe quel lien sur le navigateur. Et cela nous donne un PIB. Autrement dit, si vous donnez
http ww.example.com, alors STT en choisissez neuf. Ms, envoyez une demande
à ce serveur. C'est ce que vous avez ajouté un peu de
passé au serveur Apache. Ici, j'ai mentionné ce test. Les données sont envoyées au serveur et ces données qui sont cette interface utilisateur. Ceci, il sera envoyé sous
la forme d'un huddle. Qu'est-ce que cet en-tête ? Tout ce que j'ai
mentionné, l'en-tête. Cet en-tête, qu'il est là. Il y apparaîtra différentes
choses. C'est là. Il s'agira des méthodes qui sont différentes
méthodes HTTP disponibles. Nous allons voir la liste des méthodes
de choc disponibles pour HTTP à la toute dernière
fin de la session. Celui qui va
utiliser est une méthode GetMethod. Cet en-tête, c'est des cancers. Si nous parlons de cette URL que vous transmettez
sur le navigateur, sur le marié, disons que vous tapez n'importe quel lien, disons www.example.com. Et que se passera-t-il
en arrière-plan. Donc postdoctorale en
arrière-plan, ce client HTTP
enverra une demande à cette
pratique avec cet UID, c'
est-à-dire W W.Example.com. Et cela, il n'y aura
pas envie d' envoyer cette demande ou leur
pratique chez ce client. Il convertira cette URL
dans la maison ou l'en-tête, cet en-tête est ancêtre de toutes ces choses que S
est composé de méthode. Il existe différentes
méthodes comme get, delete, les
différentes méthodes. Mais celui qui est ceci, GetMethod
verra ce que nous sommes tous des méthodes
différentes pour obtenir
cela pour récupérer les URL. Donc, dans notre cas, puisque nous donnons l'URL, nous récupérons l'
USDA via un an. La méthode GetMethod sera
rapide. Dans ce cas. Alors, nous aurons fini. Là. Il y aura
la méthode, et elle consistera en URL de boutique. Vous avez ajouté que ce sera le cas, c'est-à-dire dans notre cas
est mort exemple.com. Mais s'il est configuré pour un paiement différent,
dites index.html, puis b hat, puis
la version du protocole. Puisque c'est que nous
utilisons le protocole HTTP, il appartient
donc aux réponses
de la version du protocole. Ensuite, cela viendra
depuis l'
hôte, l'hôte sera comme
www.example.com. Il s'agit de l'adresse IP qui crée tout ce que vous
demandez quelle sera l'adresse d'hôte proposée ce
mois-ci et l'agent utilisateur. Donc, ce Nu est cet agent. Ce sera nouveau pour vous, en fait chaque fois que vous
utilisez Mozilla, Firefox
ou Internet Explorer, comprenez simplement que
différent, différent, différent, différent, différent, différent,
différent, différent API de l'agent utilisateur utilisant, si vous voulez, vous
pouvez également tester de cette manière. Il suffit d'essayer des exemples de points WW. Le navigateur bill.com sur Chrome et vous vérifiez l'agent utilisateur. Vous le tapez, le feu est faux, vous
voyez l'agent utilisateur. Il sera donc drôle de les
avoir en fonction des dipôles que
vous utilisez VDC. La diapositive suivante pour en savoir plus
sur les détails de cet en-tête. J'espère donc que vous avez compris
que lorsque nous envoyons ce nouveau
lien URL au navigateur, achetez en arrière-plan, ce navigateur se formera sur
cet interprète de plan. Et il s'agira de toutes
ces choses qui seront transmises au serveur en détail. Je vous ai dit cette méthode d'annulation de
stock d'en-tête en fait, puisque nous voulons récupérer l'URL, la méthode sera
la méthode GET. Ensuite, l'URL que
vous tapez réellement, et la version du protocole, dont le type est GDP
Virginia utilise. Ensuite, vous hébergez en fait ce qu'est une adresse IP d'hôte
et l'agent utilisateur, comme je le fais pour
différents navigateurs, il y a un
agent utilisateur différent sur elle voir en détail. Cela est détaillé de cette
manière. Par cette chose. Vous le comprendrez et c' motoriquement ou donc
c'est l'en-tête. Donc, dans notre cas, nous allons
chercher l'URL. Puisque je vous ai dit quatre méthodes
différentes et
différentes qui sont des méthodes HTTP différentes, dans notre cas, obtenir la méthode n'
est appelée que parce que GET est utilisé pour récupérer
l'URL pour cela, vous vous obtiendrez cela comme méthode. C'est une méthode,
ce index.html. Je vous ai dit cet exemple
du petit blue.example.com, mais dans d'autres paramètres par défaut, zonage est configuré
sur ce index.html. Vous obtiendrez donc l'URL
ici de cette manière. Ensuite, cet en-tête sera composé de cette version de protocole de HTTP. Ensuite, il cancera
l'hôte ou l'hôtesse, www.example.com, que
nous analysons, puis l'agent utilisateur. Il s'agit donc d'une source d'agent utilisateur. J'ai toujours écrit. Donner le lien sur l'agent utilisateur de
Mozilla Firefox signifiera que cet homme était un codon alors qu'il
aurait donné différent. Mais sur une inversion de la
syntaxe sur cet agent utilisateur. Et tous les détails à ce sujet, sauf le
trouble du langage, ces choses. C'est tout l'
en-tête constitué de toutes ces informations qui
seront envoyées au serveur. Ainsi, chaque fois que vous tapez une
URL vers sin example.com, l'appel
est
configuré pour ce index.html sur
Mozilla Firefox. Ensuite, en interne, ce client formera
cet en-tête de cette manière, et il sera envoyé au serveur. Maintenant aussi quand nous allons
faire de la programmation. Je vais donc expliquer ici tout
ce qui concerne cette communication
client du serveur HTTP. Et lors de la prochaine session, nous
ferons la programmation. Quand j'ai exécuté le code d'un vous verrez
toutes ces données. Nous imprimerons
les données qui descendent vers le côté. Ces données seront donc
imprimées côte à côte pour que vous puissiez les
comprendre plus clairement. Ce sont toutes les
choses que le client envoie au serveur
et vous
pouvez afficher sur la console du message du conseil
consultatif qu'il a reçu du client. Ensuite, nous avons vu
maintenant ce qui se passe lorsque la requête HTTP à ce
serveur voit maintenant des ouvriers, c'est triste, mais cela enverra
la réponse à ce type. Maintenant, ce côté doit voir cet en-tête que le
client lui a envoyé. Maintenant, en dehors de l'endroit où
c'est le serveur Apache, comment il va répondre
à ce client. Il aurait donc dû chuter de 70. Les données en termes de ce format d'
en-tête, dans ce formulaire, je vous ai dit de les envoyer
pour que vous les obteniez sur la page. Obtenez la page appropriée
chargée d'informations. Donc, cet album, ce qui
NE PAS DANS le cas de la barre latérale qu'il
constitue constitue sur cette information cette information qui
est de ce côté, où qu'il soit, s'
arrête si elle est possible, il y aura la
version du protocole, comme GTP, quelle version il utilise, le code d'état et le message. Qu'est-ce que cela fait, c'est si le lien que l'
utilisateur lui a donné a été correctement la barre latérale
Ce matin. Il y a une défaillance du
réseau, n'importe quoi. échec réussi,
dépendent du code sont
leurs messages sont là pour cet échec succès et de nombreux messages différents. Il l'
enverra donc réellement dans cet en-tête que nous
considérerons toutes ces informations qu'il devrait contenir, ainsi que le
type de contenu et la longueur du contenu. Quel est donc le
type de contenu et la longueur du contenu ? Dans notre cas, nous donnons le www.example.com ou par défaut que lien est
configuré sur index.html. Supposons que cet index, notre type de contenu
soit de page HTML. Supposons qu'il s'agisse d'une image, alors il aura donné que
le type de contenu est l'image. Et que prête ce
contenu ? Le champ de contenu correspond à
la quantité de données reçues. La quantité de données ascendante réellement
envoyée par le serveur au client. Cela dit le contenu. Et cela sera
suivi d'une ligne vide et du message avec le serveur 1% pour
refuser que vous puissiez écrire. Ce que nous ferons lors de
notre prochaine session, nous écrirons un programme
pour ce serveur. Nous n'avons pas besoin de rédiger le
programme pour le vol. Utilisez toutes les méthodes que
nous avons étudiées jusqu'à présent. C'est pour la communication
du serveur HTTP, au lieu de l'aide américaine, tout ce qui est nécessaire pour créer une
socket à laquelle se lier , écoutez pour accepter toutes
ces coordonnées seront écriture et quelques
petites modifications en fait, il s'agira de
cette modification. Depuis que je suis
avec vous, depuis, je vous dis que
le serveur
répondra en termes de production. Donc, puisque nous allons
écrire le code sur Leda côte à côte, puis sur mission. Écrivez toutes ces choses. Nous devrions fournir ces informations du côté serveur dans notre code afin que nous obtenions une
réponse appropriée pour annuler, nous obtenons une page appropriée. Donc, quel que soit le message que nous
saisissons côte à côte bas, nous voulons que ce message soit
affiché sur le navigateur, mais dans le document dit il
doit être imprimé côté
navigateur. Supposons que nous envoyions
haut de maman, le bonjour ou le bonjour ascendant, achetez n'importe quoi
du côté serveur. Il doit être affiché sur la page de
votre navigateur comme
bonjour, bonjour, quel que soit le message que
vous envoyez. Mais nous en avons deux types. Nous ne devons pas détecter
et détecter les textes. Nous devons l'envoyer sous
forme d'en-tête. Et ce que cet en-tête
annulera s'arrête. Il sera composé d'une version de
protocole. Vous devez indiquer la
version HTTP dans notre ancien code serveur. Ne vous inquiétez pas à ce sujet. Expliquez-vous avec le tableau. Ce n'est donc qu'une description
tellement de personnes qui commencent à embarquer, je vais vous expliquer ce que le codage est requis
et c'est très simple. Il suffit de deux ou
trois lignes d'
extrait de code or
pour effectuer le serveur HTTP, la communication
client
puisque vous
savez déjà ce qu'est le
trottoir ou le doc TCP, nous l'avons vu dans
notre précédent puis faites simplement l'objectif est
adulte et c'est une chose simple parce que ce que nous
devons simplement constituer l'ensemble de verticales ou de combat, nous devons constituer
que le message, quel serveur enverra à la revenus de ligne en crédit formel. Ce n'est que la différence. Ce que nous avons montré,
c'est, Alex, je vous mentionnerai
toutes les choses que nous avons à donner à un nouveau portail afin que vous puissiez simplement signaler tout
ce que j'écris, quoi que ce soit que je fais du codage
et vous pouvez Comprenez-le. Qu'en est-il de ceux que
vous faites vous-même, vous exécutez vous-même, tout ce que vous allez vous faire savoir ce que
toutes les choses sont nécessaires. Donc, ce message de score d'
état de la version du protocole, vous devez leur donner
le type de contenu
, puis suivi d'une
nuit vide et du message. Voyons donc voir. Dans ce cas, il devrait
s'agir du format. En fait, il s'agit d'une image de
format ou diagramme et du
type de message que je vais expliquer. Je vais vous expliquer lors
de la prochaine session. Quel message sera
donné de ce côté en termes de fichiers d'
en-tête. Si nous leur donnons ce que nous
ferons dans notre cas,
comment le faire ? Si nous leur donnons ce que nous
ferons dans notre cas, Vous effectuerez cette
communication entre la fenêtre
du navigateur, le serveur
Apache. Nous allons simplement,
puisque nous l'avons fait, nous avons la configuration
de notre machine elle-même. Il voulait le tester, il allait y arriver. Nous fournirons l'adresse de
l'
hôte local et l'ordinateur, le serveur, pour écouter sur l'hôte local du lecteur DynamoDB côté navigateur. Chaque fois que nous donnons le VI à donner au local qui donne l'adresse IP
a été tiré sur la machine elle-même. Dans ce cas, il va parler. Et vous n'avez pas mappé avec le
même port, le même serveur et le même client. Par conséquent, une fois que nous écrivons l'
adresse IP de l'hôte local dans l'ordre, mais je donnais les sources de numéro de port sur ce numéro de port où je l'applique avec
le même numéro de port. Nous allons donc nommer
le serveur de ce
numéro de port, c'est-à-dire 80. Et nous allons faire du
côté client, cet hôte local, l'hôte local sur l'adresse
IP côté client
et avec le numéro de port. Je vais écouter, écouter
la demande du client. Étant donné que l'ADA a le
même numéro de port et qu'il est mappé à la même adresse IP sur le serveur.
Devrions-nous l'écouter ? Et il va l'accepter. Il accepte la
connexion, puis envoie un message au
client qui sera affiché sur le
côté du navigateur. Alors, ne t'en prends pas, détendez-vous. Je vais vous expliquer en détail
lors de la prochaine session. Pour comprendre cela, il s'agit des données dures
que nous devons constituer. Il sera intégré directement dans notre message
du site serveur. Seul ce message
sera modifié à partir de l'identité du serveur pour écrire le message entier qui
donnera la version du protocole, puis il donnera le statut 200 et les messages d'état. C'est tout ce que
j'ai réussi. Il y a une raison pour laquelle
nous donnons ce détail et cette information comme la date. Et puis
les types de contenu de n'est pas EPA prenez l'exemple
de ww.Example.com, puis il est configuré
sur index.html. C'est donc le type de
marché suivant qui n'est pas le type d'image, donc c'est le
type de contenu et la quantité données transmises à partir
du serveur en a pris neuf, c'
est-à-dire le contenu Lin. Ensuite, une ligne vide et le message doivent être envoyés
du serveur au client. Dis bonjour par n'importe quoi. C'est la chose composée par le site serveur sur
lequel ces données sont un format d'en-tête qui sera
envoyé au client
afin de charger
la page côté client. Donc oui, une fois que ce centre de
conseils répond comme
indiqué dans la diapositive précédente
, la page sera chargée
sur le site de ligne du navigateur, mais le message envoyé
par le serveur, la même chose que
je vous ai dit une fois. Le serveur constitue cet
en-tête et l'envoie au client. Et puis la page
sera chargée sur le côté,
côté navigateur avec le message de ce
côté, mais elle est envoyée. C'est ainsi que nous
allons procéder. Maintenant, nous avons fini comprendre
les concepts nécessaires. Et à la toute dernière fois, méthodes
HTTP qui y sont présentes qui sont radicalement différentes méthodes
HTTP comme get, c'est pour corriger l'URL. Dans notre cas, cette méthode sera utilisée car
nous récupérons l'URL. Par conséquent, la méthode
GET sera appelée lorsque l'en-tête
est constitué, puis un autre message
et en-tête, c'
est-à-dire pour récupérer les
informations de l'URL. Une autre méthode consiste à stocker dans la méthode URL publiée
sur
les données
qui vous sont envoyées. Je n'ai pas reçu de réponse et
j'ai supprimé le D2L. Il existe donc
différentes méthodes du HTTP. Ce que nous
avons juste besoin, c'est la porte d'entrée puisque nous
devons récupérer les URL. J'espère que vous avez compris le
concept avant de vous arrêter. Avant de commencer par le codage. Il est nécessaire de
suivre cette session. choses de base dont nous
avons discuté, nous avions vu comment
cette communication depuis le navigateur se déroule
trop sombre des deux côtés. Autrement dit, quel que soit le lien que vous avez mentionné sur vos
différents navigateurs,
quel que soit le lien que vous ce lien sera analysé. Autrement dit, une demande du
client sera transmise
au serveur et ce
client en arrière-plan, elle constituera
l'en-tête qui
contiendra ce format
si vous dégoûte, il contiendra le
car vous devez récupérer l'URL, puis l'URL. Supposons qu'il soit indexé, supposons qu'il s'agisse d'exemple.com. La valeur par défaut est
configurée sur index.html. Il s'agira donc de l'URL, puis de la version du protocole. Puisque nous utilisons std, une version de celui-ci, alors l'
hôte qui est example.com. Puis il a été écrit, je
vous ai dit quatre navigateurs différents, comme Chrome pour
mon acquisition tombe. Dave dérivé dans
différents nouveaux agents utilisateurs. Ensuite, ces informations s'y trouvent, comment cette
disponibilité répond-elle ? Donc, il avait également été
constitué répond en constituant cet
en-tête et ce corps lui-même. Donc, cet en-tête
comprendra toutes ces choses. C'est donc nécessaire
pour notre cas. Nous allons écrire
le message à partir du milieu de la réécriture en collant
la même
copie ou HTTP ou téléphone,
désolé, le contour du serveur TCP
que nous avons vu. Nous copierons le même
code parties que DCP. Le codage client de plusieurs
lignes Dcp n'
est pas nécessaire seulement le serveur TCP, nous écrirons le code, le même code et
tout simplement inutile les
envoyant
du serveur au client. Textes non centrés
comme bonjour, salut, sable en termes de format de crédit, dans ce format que nous
devons admettre changé dans la liste
tout dit. Et puis vous pouvez voir
comment j'ai pu
finir application à
quel point un lien hypertexte sur la façon de charger la page, comment les
afficher au format de page d'index. Dans l'évaluation du
format basée sur le Web, vous passez du côté, mais du côté du navigateur, c'est
ce qui existe et il
existe différentes méthodes, alors soyez prêt pour une nouvelle session, mais n'est-ce pas codera pour la communication en ligne du serveur
HTTP, c'
est-à-dire le serveur HTTP Apache, et la communication du navigateur sur TCP dans Windows VDB,
alors soyez prêt pour cela. Merci. Merci beaucoup.
16. Socket Session10 ProgramExecution HttpApacheServerClientCommunication Windows C++ Partie 1: Bonjour, et bienvenue dans
cette nouvelle section qui est la programmation et
l'exécution d'un TPP. Notre t-shirt permettrait de
naviguer dans la communication client
sur l'IDE, sur DHCP. Comme lors de la session précédente, nous avons constaté la
compréhension du navigateur
du serveur HTTP Apache. communication client
a peut-être vu ce qui est nécessaire, comment se déroule la
communication de la barre latérale et du navigateur, comment le client, mais quand, chaque fois que nous lançons, nous avons ajouté en tapant
lien
sur le navigateur Web. Et le navigateur qu'il peut être, il peut être explosé, il peut être développé, il peut s'
agir de Firefox, de navigateur. Je suis député. Ensuite, cette URL est envoyée à la barre latérale sous la forme de l'
en-tête que nous avons vu, nous avons vu le
format de l'en-tête. Veuillez donc vous référer à la section
précédente si vous ne l'avez pas parcouru,
c' est la compréhension en détail avant de commencer l'exécution de
ce programme sur ID et de faire cette communication sur le
navigateur et serveur Apache. Nous avons vu comment le client
enverra un message
aux sédiments et n'
informera pas l'en-tête, puis le colon y répondra. Même dans le dôme Salk, en-tête et le corps. Ensuite, nous recevons enfin le message où ils n'avaient pas décidé, eh bien, nous enverrons le message s'affichera sur le
navigateur et la page Web. Nous verrons que cela
va être en cours d'exécution, va écrire le programme sur l'ID appelé ID de bloc. Ici, nous l'utilisons car
il est disponible gratuitement, puis nous l'
exécuterons et vous
verrez comment nous
faisons la communication. Commençons. Maintenant, la déclaration du programme, que j'ai mentionné
maintenant que sur le navigateur, ce que nous allons faire
sous les navigateurs. Supposons que vous utilisiez
un navigateur Chrome. Vous pouvez utiliser n'importe quel navigateur. Dans notre cas, nous
utiliserons le navigateur Chrome. Et l'utilisateur donne
le lien comme celui-ci. Quel est ce lien ? L'utilisateur
peut donner n'importe quel lien. J'ai donc donné ce
lien parce que je le veux, je veux que la mienne prenne la communication
sur la même machine hôte. Bede écrit le code dans
la cellule de la manière dont les électeurs
indécis achètent à l'adresse IP de l'hôte
local lui-même, de cette machine elle-même. Et il sera lié
au même hôte local. Et le client devra alors se connecter
au serveur. Nous devons donc donner
la même adresse IP. Je me suis donc demandé
qui vous avait dit un à sept points 0 point un, que vous donnez
du côté client. Donc toute cette compréhension, en
écrivant le programme
comme je vous l'ai dit la session précédente, cela nécessite la connaissance
de la communication TCP, que nous avons vu la programmation de
socket, que nous avons vu ont fait
pour les fenêtres. Nous avons effectué un ensemble de communications
en ligne lors d'une session
précédente ou précédente, nous avions vu comment le faire si
vous pouviez écrire le code pour le serveur ainsi que client, puis
la communication. J'ai donc
d'anciennes méthodes de cascade
utilisées pour les gammes de produits
finaux côté serveur. J'aime le volume. Ensuite, il faut l'écouter et ensuite, sauf sous le programme que
j'ai vu sur ceux-ci. Vous avez donc passé
toute cette session. Vous allez bien séquentiellement. Décodage presque ce
que nous allons faire. Quelle est la valeur de HTTP ? Neuf, utilisera le
même codage que celui que nous avons fait pour la communication
client du serveur de programmation de
socket TTP . Mais une petite modification peut être une modification d'une ligne sur hauteur de l'envoi
du message du serveur au client. Comme nous l'avons vu, si nous devons faire la communication pour nous, ces
certificats d'actions valent neuf communications et messages. Nous devrions le faire pour que ce soit
le format d'en-tête. serveur doit donner la réponse au
client dans FOMO, non comme dans le prétexte. Il ne s'agit que d'une modification trois lignes de code plus anciennes. Qu'est-ce
qui sera pareil
pour le site serveur, que vous n'avez pas encore
fait PTP, que nous avons vu
et exécuté. Nous n'avons donc pas besoin d'
écrire cette ligne. Ford hillary, nous
ne devons écrire que les lignes de port du serveur
et vous ingérez une faute de frappe, vous élargissez sur ce
navigateur, cette adresse IP particulière, c'est une adresse de boucle arrière. Cela signifie que ce sont ces adresses sur cette machine
hôte locale elle-même, quelles que soient les adresses
IP de la machine hôte locale, c'est celle sur l'adresse IP et le numéro de port que
nous sommes donnant un 0 AT, nous savons que c'est spécifique à HTTP va donner la carte
également pour le côté serveur, c'est une bonne ligne disant
où nous allons donner cette URL sur le Chrome
n'écrira pas ce code de ligne, cette unité n'a pas besoin d'
ouvrir cette URL et cette URL
uniquement ouverte si vous souhaitez que la communication
ait lieu sur la même machine hôte pour
cette ligne. Donc, ce minima. Il s'agira, et je
pense à l'adresse IP, adresse IP
locale de
la machine elle-même. Donnez donc cette adresse IP elle-même. Et ces numéros de port sont simplement que le client
se connectera au serveur et a dit qu'en est-il du
message que nous envoyons
du service via l'envoi
du crédit SOC, composé de la Haggadah. ainsi que le corps à
corps se poursuivra. Le message a
également été que vous devez passer. Et puis sortez. C'est sur l'écran du téléphone, vous obtiendrez une sortie
quelles que soient les sockets, quel que soit le serveur
envoie au client, le message comme High Auto, bienvenue dans la programmation du
socket quels que soient les messages
sur centralis. Donc code de démarrage pour que vous
puissiez ne pas comprendre ? Ce n'est que l'énoncé
du programme. Ce que je vous ai dit. Vous devez
ouvrir ce lien dans la pièce. Il s'agit de l'application, c'est l'application cliente
qui se trouvait à l'application. Ensuite, la demande sera envoyée
au serveur et le serveur répondra en
envoyant le corps. Ensuite, vous
obtiendrez sur l'écran le message de la réponse
et des étudiants. Dans la page, c'est une fin que nous pouvons voir
dans la commande erronée, comme lorsque vous exécutez du code cérébral, vous pouvez voir ce que tout le
client lui a envoyé. Nous l'avons également vu en
détail lors de la session précédente. Voyons
donc ici comment
se produit la communication entre le navigateur, le
client et Apache. Donc, lorsque nous donnons ceci mais ce
lien Endo Chrome navigateur, alors ce lien est envoyé
sous la forme d'en-tête. J'ai déjà
discuté de ce message. J'ai vu que le lien
sera envoyé
aux clients et aux clients
et nous tapons ce lien. Et puis le client
constituera, créera un en-tête, sera envoyé au serveur. Il va donc construire le caché
, puis l'envoyer au serveur. Nous avons vu comment, lorsque le client envoie des constructions, il
se dirige, comment cela se fait-il lâchement ? J'ai vu, dans ce
cas, la méthode est terminée. Ensuite, nous avons vu que cela
donne ce résultat. Nous avons vu, puis il
y a une version de protocole, puis c'est un hôte. Ensuite, il s'agit d'une région énorme sur l'ancien format dans lequel
une échéance pour le serveur en termes d'
en-tête dont nous avons déjà discuté avant cette
session, veuillez la parcourir. Et Dani, je l'ai mentionné, envoie le message à la
septième fois que j'ai entendu dire ce qui devrait répondre
à ce client aussi, en termes d'en-tête lui-même, je n'ai pas fait de format corporel, c'est juste répété ce sens
unimodal latéral et
stimulus qui répond au client et le serveur l'
envoie dans cette ligne. Il devrait donc être au format
tête et corps. Nous avons donc vu que le serveur enverra cette
preuve de toute vierge, puis le statut qu'
il réussit ou non. Ainsi, le numéro d'état du
message d'état dans ce format de carte, puis les dates détaillées,
identifiez le type de contenu. Donc, dans notre cas, il s'agit
simplement d'un message texte. S'il a choisi le
type de contenu texte, HTML. S'il s'agissait de l'image, cela donnerait avantage,
puis le contenu atterrissait , ce qui signifie
combien de données sont transférées du côté serveur vers le client, puis des lignes
non vides. Et ici, vous allez
écrire le message. Voyons donc comment les
écrire en tant que h
à partir du site serveur. Il y a eu au-delà du
changement nécessaire en plus de la carte entre
une scène ou le serveur TCP. Il s'agit alors d'un message que nous devons envoyer
du serveur au client. Je ne fais que mentionner ici dans cette présentation
, puis je réécris le tableau. Donc, cela vous fera
un z pour comprendre ce révisé ou les petits
concepts, les objectifs de
communication sur l'alcool. Alors il y a une raison pour laquelle
je vais simplement parcourir cette présentation maintenant ce message,
ce que vous allez envoyer, vous ne corrigez pas les
indices que vous ajoutez ou que vous pouvez définir, vous pouvez
hachage définit la taille maximale, la
somme et vous pouvez éclore pour trouver ses yeux sur ce nombre et vous pouvez lire les signes ici. Il s'agit simplement d'un Gooding simple
pour comprendre le concept. Et puis ce que je fais, que j'initialise cette
chaîne dans cette image. C'est juste une chaîne
qui est le message, il
s'agit de caractères Ariel
et j'écris une copie de chaîne et je lui
transmets cette chaîne. Comme je vous l'ai dit, comme nous l'avons vu dans cette diapositive, je devrais
envoyer ce format. Donc, ces détails sur moi, j'ai rempli
le message qui est une version du protocole que les numéros d'état Davis et ce
contenu du serveur de dates. Et donc, si vous voyez ce message, il s'agit de bits sur le HTTP, puis leur version
du protocole et le statut à but non lucratif l'ont
alors okayé comme un message que les continents et ensuite il est 47 contenu. C'est-à-dire combien de données sont envoyées du serveur au
contenu client qu'
il faut pour vaporiser. Et puis nous ajoutons dans
le corps, puis il y aura
des lignes obliques vides et il
y aura une nouvelle ligne. Et puis, corps, je lui
écris du tsunami. Je peux écrire tout ce
que je vais écrire. Je peux écrire la programmation de
sockets, bonjour ou n'importe quel message que
vous voulez censurer. Il s'agit d'un message adressé aux élèves. Ce message s'
affiche sur votre page. C'est donc ce que vous allez
envoyer du côté serveur. Commençons donc notre code. Vous devez donc installer Code Block ID est disponible
gratuitement et
c'est un open source. Vous n'avez pas besoin d'
acheter la licence. Il est très facile à installer et suffit d'aller sur le site de téléchargement et installer et de commencer à
programmer avec lui. Commençons. Dans mon cas déjà, je suis ouvert avant le menu et double-cliquez
sur le bloc de code. Vous obtiendrez cette page. Créons la nouvelle application
Project Console. Cliquez sur Suivant, C plus plus, puis sur le nom qui se trouve ici. C'est le cas. Pour lui donner
un nom raisonnable, cliquez sur Suivant, puis sur Terminer. Il videra sur le programme d'appel
Hello World pour vous. Laissez-moi donc augmenter la
taille du texte afin que vous puissiez voir tout ce que vous allez
taper hill juste une seconde. Les Juifs seront très grands. Laissez-moi plonger un
copier-coller le code. J'ai déjà écrit le code. Je ne veux pas gaspiller un seul revêtement de
diamant, comme expliquer chaque ligne. Il ne s'agit donc que du code
répétitif. Il suffit d'ajouter
ce message que j'ai montré dans
cette présentation. C'est ça. Alors ouvrons. Je l'ai collé. D'accord. C'est tout le code, donc ce n'est pas nouveau pour vous. Vous l'avez déjà vu dans la valorisation de la
communication de TCP. Permettez-moi de le réviser. 12 comme une ligne supplémentaire en cas de communication
hors connexion du serveur HTTP. Ce que nous faisons tout d'abord, l'exécution
de
notre programme commence par la fonction principale. Encore une fois, la raison pour laquelle
la fonction lumen est un point d'entrée pour démarrer
l'exécution de n'importe quel programme. Quelles que soient les lignes de code que vous
écrivez dans cette fonction principale, elle sera exécutée
ligne par ligne. Nous devons maintenant déclarer
ces fichiers d'en-tête. Dans le cas du système
d'exploitation Windows, cela montrera que nous pouvons utiliser
les fonctions de celui-ci. Chaque fois que vous appelez une
fonction, utilisez n'importe quelle fonction. Puisque j'ai trouvé
que vous avez mentionné il ne donnera pas de chaîne de prairie compilée en fait, c'est un vrai personnage de
livre et nous avons simplement initialisé
avec ce format. Je vais vous expliquer
cela dans le même format. Pourtant, je fais passer les messages apprenant la programmation des
sockets. Ensuite. Il s'agit de données WSL. Vous avez déjà
vu ce qu'est WASH. Révisez-le rapidement. Ces données WAS sont donc utilisées pour initialiser la bibliothèque de
socket gouvernementale. Nous avons vu ce WAC d tau, c'
est-à-dire post-op toutes ces données, c'est-à-dire qu'il s'agit d'un
croisement structuré des structures
en second argument. Alors, qu'est-ce que cette structure ? Tout d'abord, quelle est cette fonction,
comme je vous l'ai dit, elle est utilisée pour les initialiser. Et Socket Library, zip
extrait ces données WSS dans lesquelles le premier argument indique ce que
le programme
veut utiliser,
qui se connecte à la bibliothèque Women
Socket. Puisque le programme veut
utiliser la version 2, nous devons
donner dans ce format faire un, puis
arrondir deux virgules 0. Ensuite, ce deuxième argument, c'
est-à-dire les données Ws, c'est une structure
qui est la suivante. Vous avez créé un
objet de cette structure. Cette structure. Donc,
nous passons ça. Vous mentionnez l'
adresse sur cette structure, donc elle est renversée
par cette fonction. Quel est le but
de cette structure ? On dira donc que cette bibliothèque de sel de diamant
transmettra les informations critiques. Aucun programme n'indique le
nombre de sockets pouvant être créés et d'autres informations
nécessaires. C'est ainsi qu'il construit lorsque nous appelons
cette fonction cible, qui est utilisée pour initialiser
la bibliothèque Wind Socket. Ensuite, nous avons vu ce
ROSI et vous devez créer une socket en appelant la
fonction socket trois arguments
ou leur argument posts. C'est une famille d'
intérêts Dennett. Il est EOQ souligné dans une seconde est un type de type de
prise. C'est un courant d'eau. Nous utilisons une communication
sockets fiable et n'oubliez pas
que puisque nous faisons la communication de HTTP, vous devez toujours avoir
lieu sur TCP lui-même, c'
est-à-dire le rack VCB où
vous avez de la dimension. Voyez-vous le protocole
de communication musicale ? Vous avez déjà vu dans
socket six sessions. Et vous avez mentionné le
type de flux, puis les zéros. Il s'agit du protocole
de communication par défaut. Vous êtes dans un chaser 0. Maintenant que nous avons
créé le socket, il va
maintenant renvoyer le descripteur de
socket. Donc, par ce descripteur, nous appellerons
la fonction bind, appellerons la fonction d'
écoute, puis la fonction de sortie par
ce descriptif puisque nous
allons relier cette
socket de descripteur de socket, alors ce morceau de
code est celui-ci. Cela, nous avons déjà vu
qu'il s'agit d'une structure. Ajoutez R. C'est donc une structure que
nous avons écrite ici,
bien que serrée, celle-ci, c'est une structure
et c'est une vidéo, un peu
une sphère
créée que vous avez, je vous ai dit que nous
doivent créer un
nouveau obtenir avantageusement le descripteur de socket
post en appelant la fonction socket et l'
analyse sur un disque news, saga, descriptive
et Nicole la
fonction de sortie que nous avons déjà ajoutée. Et cette structure. Dans cette structure,
vous renseignerez l'adresse IP à laquelle
Edward doit se lier, ainsi que vous prendrez en charge normalement tous les détails nécessaires que
vous y donnerez. C'est ce que vous donnez dans un DVR et excluez
tout peu intrusif. J'ai expliqué en détail
la signification de cette adresse IP à laquelle le serveur doit se lier est que
nous avons utilisé pour cela. Ce qui est un EDD à un besoin
souligné peut être lié à toutes les interfaces
réseau la même machine hôte. Donc, si vous vous connectez, si
vous n'utilisez aucun, Il a une adresse IP
différente, est une interface
réseau indépendante. Cette adresse IP adresse à nouveau le
serveur en remplissant tout ce que vous utilisez pour vous
connecter à lui dans le cou. Si vous utilisez land out, si vous utilisez le Wi-Fi, le
Wi-Fi et que vous avez une idée différente, une interface réseau différente. Encore une fois, si vous utilisez le Wi-Fi, il peut se lier
à une dissolution de cinq ans. C'est là. Il peut s'agir d'acheter deux
interfaces réseau qui ont ensuite été ajoutées, c'est
ce que nous
avions mentionné qu' alors numéro que nous
écoutons dub. liaison latérale
à ce numéro de port est 0 AT pour la connexion HTTP. Côté client, il doit être connecté
au même numéro de port. C'est-à-dire qu'en achète-t-on deux. Il s'agit donc d'un nombre très important de
diabète important que la ligne doit
correspondre à la même ligne, devrait être reliée
à la même. Ensuite, cette structure nous
avons senti que nous appelons la fonction dans laquelle nous sommes confrontés à ce descripteur de socket. Nous passons cette adresse. En fait, les perturbations
étaient relativement supérieures au diabète et au
numéro de port et à la taille de celui-ci. Ensuite, nous avons eu une fonction d'appel
de la leçon. Maintenant, vous écoutez. Fonction d'écoute
à nouveau, nous passons le descripteur de socket par
opposition à l'argument. deuxième argument
contient le nombre de numéros
de connexion client
devant figurer dans la file d'attente. Combien ont décidé quoi encore une fois, traitent réellement un
par un et Ken traitent une fois la ligne de
communication terminée, puis il traitera l'autre ligne jusqu'au
nombre de numéros il devrait y avoir attendre le site de connexion
client mais
accepter le site de connexion de
ligne
déclinant, se connecter au client. Combien de demandes client peuvent-elles être présentes
s'il y a plusieurs lignes ? Donc, s'il y a trois lignes, nous voulons être allumées,
Connectez-vous en fait, donc elles devraient être dans la
ligne d'attente en cours de traitement. Nous pouvons donc mentionner le nombre de neuf conditions qui
devraient innover. Vous avez mentionné des zéros car nous ne voulons qu'une seule
connexion après temps.
17. Socket Session10 ProgramExecution HttpApacheServerClientCommunication Windows C++ Part2: Une fois qu'il obtient une
connexion du côté client, il écoute, puis il
acceptera la connexion. Vous êtes par le passé le
descripteur de la socket. Nous allons passer cette structure
vide. Cela est renversé lorsque nous
appelons la fonction de sortie ici, les détails du client
seront là, quelle adresse IP, numéro de
port et tout cela. Cette ISO pour la destruction,
vérifiant cette condition, qu'elle
soit réussie
ou non, puis elle retournera au chargement est le descripteur de dividende
crypto de la socket, nouveau descripteur de la socket. Alors pourquoi les descripteurs
sont-ils nécessaires sont pour vous le premier
descripteur mort, il faut x pour écouter. Demande de
connexion indépendante réellement financée. Cela sera engagé
avec celui du client. Et le socket est peut-être utilisé pour envoyer et
recevoir les données. Cela sera donc engagé
dans ce travail. Par conséquent, ce
sera différent de ce que nous faisons. Ici. Nous avions reçu le
message à partir de la date limite. Alors quel message
vous obtiendrez simplement puisque nous allons écrire, taper ou écrire cela, j'ai été un lien sur
le navigateur Chrome. Comme je vous l'ai dit, vous ne passerez qu'
un numéro de port d'hôte local. Dans ce cas, ce message, mais il serait transmis des revenus
client au serveur de l'
ancien soviétique au-dessus de la liaison
Bassanio. Je vous ai donc dit que cela
devrait être rapide en termes de commentaires d'en-tête
de client en serveur, le message sera en train de
transmettre la gestion a
vu ce format
d'en-tête lors des sessions précédentes. Il devrait envoyer
la méthode et il devrait y avoir U1, U2. Il devrait s'agir du coût de la
version du protocole sur la méthode. Il doit ensuite s'agir de l'URL, puis de la
version du protocole, de l'hôte, puis des en-têtes User-Agent. Ainsi, chaque fois que vous
recevrez ce message
du client, message sera reçu dans
cette chaîne d'environ quatre et nous l'imprimons afin
que vous puissiez imprimer
toutes les choses.
côté serveur. Ce que le client voit
est au format masqué, c'
est-à-dire le mouvement sur le HTTP puis sur l'
URL, puis sur eux. À ce sujet, à propos de
la méthode possible, vous obtiendrez la méthode,
puis vous allez encore une fois, URL et vous obtiendrez la version HTTP et qui est la région utilisateur,
vous verrez cela. Et ensuite, la vue de Dieu, qui envoie le
message, est celle-ci. Qu'est-ce que ce
message que nous avons vu ici et que nous avons
ressenti à celui-ci, c'
est-à-dire que nous transmettons également la réponse du serveur
au format d'en-tête, pas un simple message texte, pas bonjour, Bonjour, comme ça Nous le sommes. Vous devez écrire dans ce format lui-même pour que le message qui sera envoyé
du serveur au client
soit affiché. L'affichage, qui
apparaîtra sur la console doit être le format de page
Web interne. Donc, ce sera un
passage du login ici. Ensuite, ces données, chiffres,
statut, contenu des messages et combien
de données ont des liaisons
forment notre échéance, puis dix types dans détectent
SDM et le corps principal. Ce message ou ceci réagit passant une programmation simple de socket
d'apprentissage de message. Cela devrait donc être
affiché sur le navigateur. Une fois que les sédiments
sont connectés, faites-le à la ligne. Le client
décroche la complication. Comme le client, nous
lançons l'URL. Ensuite, vous ajoutez une liste obtenue du client au
serveur, informelle ******. Ensuite, nous enverrons également ce message et le
crédit formel et sur le navigateur. Enfin, vous recevrez le message
quel que soit le message puisque c'est
ce que l'analyse thrombo encore du serveur au client ce message, puis
nous ajouterons la vérification. Aucun éditeur ne signifie que s'il s'
agit d'un message signifié à 0
, nous fermons la socket. C'est donc tout le codage requis. Quel serveur HTTP, nous n'avons pas besoin de coder ou de client, il vous suffit de
taper un lien sur le navigateur qui n'est que bien ou un message
qui n'a pas écouté. Et le dénominateur compile
le code. Et voyons voir. Ceci est combiné avec
le fichier actuel. Donc, ici, vous ne pouvez voir aucune mitose présente et laissez-moi juste essayer. De nouvelles idées sont présentes. Vous devez maintenant exécuter ce
programme en cliquant sur. Sachez comment vous voulez,
vous devez y aller. Je l'ai déjà dit lors de
la session précédente , allez
également à la vue. Et puis, dans la perte, il
faut prendre cette boîte. Maintenant, lorsque vous donnez une facture, en fait lorsque vous construisez
et exécutez, dans ce cas,
vous pouvez voir ici que le
serveur est en cours d'exécution et il vous permet de vous demander, c'est viable si
vous voulez autoriser Nexis ? Oui. Maintenant, le serveur est à l'écoute
de la connexion entrante. Maintenant, nous devons envoyer, vous
devez ouvrir l'URL. Vous devez taper un lien sur
le lien du navigateur. Ce sera le plus simple, comme je vous l'ai dit, ce sera l'
adresse IP locale un à 7 points un et le port numéro
80 de récupération tapez ce lien sur le navigateur
qui se trouve sur neuf sites. Ensuite, la communication
se fait au serveur et le serveur
enverra le message en termes d'héritage
et atténuera sur navigateur ce message
comme ce que nous devrions obtenir. Nous devrions obtenir celui-ci qui est,
quel que soit le message que vous leur avez
donné sur le site corporel, apprendre la programmation de
socket. Voyons voir, Allons-y. Je me suis ouvert et
je tape cette URL. Je vous ai dit que nous avions
deux cotylédons, un à 710 côlon n° 1 80. Il s'agit de l'adresse de bouclage, même adresse IP de cet hôte
local et des numéros de port dans le serveur sans serveur se lient à cette adresse IP
et aux numéros de port. Donc, du
côté client, nous devrions donner le même que celui que nous donnons, puis double-cliquez dessus. Donc, vous pouvez voir que
nous avons reçu ce message, j'ai double-cliqué sur ce lien. J'ai appris la programmation de
socket. Que s'est-il passé maintenant ? Je suis mort sur le navigateur, navigateur
Chrome, cette adresse IP
particulière. Le numéro de port qui
décide de ce qui est lié simplement et ce
message que Dieu a reçu, quel que soit
le client envoie l'eau, fait le service, et ensuite
il se convertira, se
trouvera convertit cette URL avant de l'
envoyer au serveur, la
convertira au format d'en-tête de sorte que dans le service je
reçois ce message. Voyons donc ce message. Ce que nous avons obtenu ici, vous pouvez voir où j'ai reçu le message du côté
client en termes d'en-tête, chaque fois que vous ajoutez un nouveau
passé ici en FIV, adresse
IP et numéro de port. Il a donc été converti
au format d'en-tête et il a été imprimé côté
logiciel,
quel que soit le client qui
descend vers le serveur. Le message. Ici, vous pouvez voir comme je vous l'ai dit, toutes ces choses que son
client voit cette méthode, la version du protocole, puis l'hôte est ceci,
puis l'agent utilisateur. Ce déclin descend donc
jusqu'au serveur que nous imprimons côté serveur. Comme vous pouvez le constater, nous l'avons
vu dans ce programme lui-même, comme vous l'avez vu dans ce
programme lui-même, l'a vu. Cette ligne indique, en fait, et de l'autre côté, ce qui reçoit le
message et nous apportons cette année à la fois en tampon et nous l'
imprimons en haut, invendu. C'est pourquoi nous
recevons tout ce message, quel que soit le client envoie au serveur en
termes d'en-tête. Maintenant, le client, puis le serveur en fait une fois
ce message reçu, nous ajoutons à nouveau ce message latéralement, puis le serveur
envoie un message. Une fois qu'il reçoit le message
du client
, le serveur répond
en envoyant le message. Et ce message que
nous avons vu ici, nous passons ce que
nous transmettons ce message et nous vidons toutes sortes de formats
dans le même format. Mais nous écrivons
tous ces détails, cette Fama Titus, différentes photos et pour le
client ou le serveur. Tout d'abord, il y aura la version
du protocole que l'état. Ce numéro est le
message de Peter, le type de
contenu, la longueur du contenu et
toutes ces choses, puis avec la banque,
puis le corps. Quel message ? Ce message que Southwest Science Server envoie
au client doit être affiché dans cette base. Vous pouvez donc voir à propos de la programmation de socket
d'apprentissage. Il s'agit donc d'une
communication bidirectionnelle qui a eu lieu. C'est ainsi que vous devez courir. Une autre chose à mentionner
en fait, pour vous, si vous n'avez jamais Rodin la communication
par socket sur votre seule machine, même machine peut être lorsque vous
écrivez cette nouvelle ADA, numéro de port que vous
obtiendrez peut-être en tant qu'éditeur. En fait, c'est
très important, alors veuillez le télécharger. Vous obtiendrez peut-être une
autorisation de modification refusée car il existe un pare-feu dans lequel il ne vous permettra pas
de communiquer. Ça peut arriver. Cela peut arriver. Il permet, mais
s'il ne le permet pas, il donne la
permission refusée. En fait, dans ce cas, vous devez effectuer certains réglages. Je viens de mentionner que
vous l'avez mentionné maintenant afin que cela vous
soit utile. Ne manquez donc pas ce DOM, qui est très important. Il peut s'agir de quelques phases un problème, vous pouvez le résoudre simplement. Il ne faut qu'une seconde. Dans ce cas, vous devez
ouvrir le bloc-notes. Vous devez en fait, cela ne vous permet pas de
communiquer réellement, et c'est une erreur connexion à l'hôte
local lui-même. Par conséquent, vous
devez modifier le fichier hôte. Ce fichier hôte, vous n'avez pas l'autorisation de le
modifier en tant qu'emplacement
particulier du président que je
vais vous faire savoir
maintenant que le fichier hôte, vous devez ajouter une
ligne qui en fait, donc qu'il peut
se connecter à l'hôte. fichier hôte que vous
modifierez sa porte n'a
pas la permission,
donc vous devez d' abord ouvrir le bloc-notes de cette
manière, retour d'argent,
vous devez écrire, coureurs les administrateurs
vous demanderont où souhaitez-vous autoriser ? Oui. Alors, je le ferai. Très bien. Cette
ligne est en fait de un à 7$
un point, puis locale. C'est le format. Et
je vais le sauver. Ici. Je vais le
sauvegarder par le nom comme avec, ST est forcé. Alors, quel sera
son emplacement ? Il s'agira de la liste des recherches
du programme C. Je dois aller sur le système C Windows Trente-deux pilotes. Puis EDC. C'est un vétérinaire et je
vais devoir le sauvegarder. Et puis c'est le, je
dois l'enregistrer ici
en cliquant sur Enregistrer. Je l'ai déjà enregistré. En fait, je ne
veux plus enregistrer, donc il est déjà vu, il
suffit de cliquer sur voir. Une fois que vous cliquez sur
Enregistrer, dans ce cas, cela vous sera aligné pour éviter tout problème de
refus d'autorisation dentaire. Cela vous permettra de voler. Il n'y aura pas de
viable en fait, vous pouvez
donc communiquer
via cet hôte local. Il s'agit uniquement
du paramètre requis. Revenons maintenant à la présentation. Maintenant, nous en avons
presque fini. Donc oui, nous en avons fini avec cette communication du serveur HTTP
neuf, c'
est-à-dire la communication du serveur HTTP Apache avec le
contour du navigateur que nous avons vu sur l'idée et l'a exécutée
ici. Vous pouvez donc voir comment se
déroule la communication et vous pouvez voir modifications
très minimales requises
par rapport à celle de la communication TCP, il
suffit envoyer le message
à partir
du serveur à client. En pédale formelle,
nous avons vu comment, quel est le format de celle-ci
et nous espérons que vous l'enverrez. Quelle est la session
que nous avons vue ? Comment lorsque vous donnez l'URL sur le navigateur
situé au sol Chrome, vous pouvez utiliser n'importe quel navigateur,
Firefox, n'importe quoi. Ensuite, comment ce client envoie
le message au serveur, il
constituera un en-tête. Nous l'avons vu en l'
imprimant sur le dessus. L'identité du serveur a vu comment le code côté serveur,
qui va écrire. Nous enverrons le message du
serveur au client de manière formelle que vous
avez vu ou parlé pour envoyer dans l'un ou l'autre des programmes. Et ce n'est pas des décharges de tout ça. Ensuite,
le message
envoyé par le serveur sera affiché
côté client. C'est ainsi que la
communication se déroule et nous en avons terminé
avec cette session. Merci. Merci beaucoup.
18. Socket Session11 ProgramExecution HttpApacheServerClientCommunication Linux C: Bonjour, bienvenue dans cette nouvelle session. système d'exploitation Polyphemus ne l'avait pas fait, nous allons faire un autre programme pour avoir la
communication entre HTTP, serveur
Apache, ainsi que la communication client du
navigateur
utilisant le langage C. Donc, plus tôt dans cette session, nous avons réalisé un autre programme
dans le système d'exploitation Linux. Nous avons vu la
programmation en utilisant C et C plus pour moi, j'ai fait la communication pour TCP et la communication client. Dans cette session, dans cette session, je
vais vous expliquer comment
réaliser la communication en ligne sur le serveur
HTTP Apache. Voici donc ce que nous allons faire, ce même programme
que j'ai fait pour le
système d'exploitation Windows en utilisant C plus plus. Vous avez également passé
cette session ici, en fonction de vos choix, que le système
d'exploitation dispose de fenêtres, vous pouvez enregistrer cette session et écrire le
codage pour cela. Devrait être partie à plusieurs
croissances que d'éviter une session
antérieure. Si vous possédez le système d'exploitation
Linux, vous pouvez référencer cette session, mais nous ferons le même programme pour le système d'exploitation Linux. Que se passe-t-il dans ce bord
pour vous donner sur Di Salvo, la communication client
Rosa, un mélange. L'utilisateur donnera
un lien sur le navigateur. navigateur peut être n'importe quoi, Le navigateur peut être n'importe quoi,
il peut être plus silencieux
qu'il peut être cultivé. Que se passera-t-il dans ce cas, car ce navigateur est une application
cliente. Donc, la demande en interne
ira à l'Apache, quelque sorte bizarre, sera en
termes d'en-tête. Ensuite, le serveur envoie une
réponse en termes d'en-tête. Et ensuite, cette réponse
sera là avec le message, quel que soit le serveur
veut envoyer au client, tout ce qui sera affiché sur la
page du navigateur. Nous avons donc vu que
nous avons fait cette
compréhension du navigateur de serveur
HTTP Apache dans
notre session précédente, dans notre compréhension
de cette session, mais en Islande, vous avez
le concept Le
navigateur du serveur HTTP Apache décrit comment cela, comment le client
enverra-t-il une demande
au serveur en termes
de format parallèle. Et puis comment en envoyant une réponse
à la cliente en termes d' elle qui incarne toutes les explications
couvertes en une seule séance. Cette session vous
pouvez également en avoir besoin pour ce
système d'exploitation Linux, ainsi que pour le système
d'exploitation Windows. Et puis j'ai couvert
un autre chirurgien pour Windows dans lequel
nous avons, nous en avons fini avec la
programmation et
l'exécution sur les rides d'iode qui feront
ici pour Linux, va faire la programmation
Polynices et nous l'exécuterons. Mais les combinés,
la compréhension des concepts que vous pouvez rapporter la session précédente que je n'ai pas faite. J'ai abordé la
compréhension de base de cela, façon dont le serveur et le client Apache
communiquent en termes d'
envoi de l'en-tête et comment il répond au côté de nos cadeaux. Vous pouvez donc comprendre
les concepts renvoient aux sessions précédentes, qui sont rares pour Windows
et Linux. Commençons par ici. Comme je vous l'ai dit, ce que nous
allons faire ici, j'utiliserai la boîte
silencieuse de l'acheteur comme navigateur. Et je vais donner ce lien. Ce lien, que je vais nous
donner simplement, vous pouvez, vous savez que ce point 0 point un de
127$, c'est une
adresse de bouclage. Je vous ai expliqué. L'adresse de bouclage signifie
qu'elle fait référence à l'adresse IP des hottes
locales de Lucas ma chaîne. C'est donc mon ordinateur portable partout où je
vais donner ce
lien dans mon navigateur. J'ai eu toutes les dimensions, ce point de 127$, il rapportera à l'adresse IP de ma machine locale de mon ordinateur portable. Cela signifie simplement que, et c'est le
port numéro 80 AT ce navigateur signifie que vous
méritez une application cliente. Maintenant, cette ligne va
communiquer avec eux. Il est donc décrit
l'envoi de ce lien au serveur vers le serveur qui
est maintenant la deuxième partie des serveurs. J'ai donc expliqué au cette session précédente peut-être ne jamais
expliquer les concepts. J'ai donc expliqué comment
ce client enverra ceux qui sont en tête ce que toutes les choses
représenteront à portée de main. Si vous devez
passer en revue les détails, veuillez signaler ces sections. Ensuite, le serveur enverra
une réponse au client. Donc, vous
obtiendrez tout ce que
le serveur envoie un message
sera chargé là-dessus. J'étais chez Brown, j'ai dit que
c'était sur la boule de feu. Nous avons donc également effectué
la programmation et une autre session pour le système d'exploitation
Windows. Maintenant, vous
verrez que pour Linux, c'est tout ce que nous allons faire. Il suffit de donner ce lien
du côté de l'application, du côté client du côté navigateur, utilisez-le qui est un Firefox. Et puis la demande interne sera envoyée du client
au serveur dans la cellule elle-même, je leur donnerai
un message en termes de
déplacements dans déplacements dans format d'en-tête supérieur du
dôme
et quel format de corps. Et cela sera chargé
sur votre navigateur, quel que soit le
message du serveur qui sera affiché sur votre navigateur côté client,
quel
que soit le message ou si
le programme socket, n'importe quoi, quel que soit le
message envoyé. Il sera affiché sur la
page Walmart. C'est ce que nous allons
faire dans notre programme. Ici, c'est juste une explication de
ce que je vous ai dit. En termes de doses élevées,
vous pouvez y passer. Ensuite, le lingual envoie un produit formel au
serveur depuis le client. Et en réponse, je vais contracter le message, le crédit et le corps
formels. Si vous devez signaler
le format approprié en-tête et
du corps référencé à la session précédente comprendre le
concept de programme. Programmation pour le plan
du serveur HTTP. Vous pouvez simplement comprendre, passer par cette session pour comprendre le concept plus
en détail. Ensuite. Ce n'est que la tête, un format qui est envoyé
du serveur au navigateur. Ce n'est donc qu'un format
que j'ai envoyé, que j'ai affiché ici. La barre latérale détecte quelle
que soit la ligne décroissante ou que vous donnez une URL donnez une URL
du côté client certifiable sur
le terrain. Ensuite, la
demande sera envoyée du client au serveur.
Les fermes sont parallèles. C'est ce que le serveur
enverra une réponse en cas de déclin, et il s'agit de toutes les réponses. Il s'agit donc du type
de réponse du format tête et corps. Ici, vous pouvez voir que je vous ai dit plus disparate n'est pas dans les
cheveux déterminés que le serveur envoie au client, veut appeler
la version du protocole que nous utilisons
le HTTP puis le statut, qu'il soit réussi ou non, les numéros d'état, le message
d'état. Ensuite, il y a des détails, c'
est-à-dire le serveur de dates, puis ce
type de contenu de type de contenu. Puisque dans notre cas, dans notre programmation,
nous enverrons, enverrons un format texte simple. Nous enverrons un message simple, n'
enverrons pas l'image
du serveur au client. En réponse, nous
mentionnons que leur
type de contenu est texte HTML, lipide était une image,
puis c'était différent. Il avait Nous enverrons simplement des détects comme une réponse
du serveur à l'autre. C'est pourtant la raison. Cet en-tête qui
sera présent et envoyé du serveur au
client sera endoderme. Le type de contenu sera le texte, HTML et le len, quels que soient les octets de données que
ces sédimentaires tendent à décliner dans ses liaisons que nous
devons mentionner ici. Ensuite, une ligne blanche qui est un
peu et ce corps, ce corps, nous enverrons le message d'un serveur à l'autre
, donc nous avons besoin de tension. Vous pouvez vous dépasser. Vous pouvez
comprendre que c'est de l'eau. Ceux-ci ont toujours été
envoyés au client. Ensuite, vous
obtiendrez la page chargée. Ensuite, passez à la prochaine chose. Ici, tout est ici, comme lors de la précédente session sur ce système d'exploitation Linux. Lorsque nous avons fait
la communication pour le client serveur TCP, que faut-il pour le client serveur
HTTP ici, si vous comparez avec la session
précédente rencontrée
et que nous avons été système d'exploitation de sainteté pour la ligne de serveurs TCP. Il n'y a pas beaucoup de différence
dans ce HTTP sur la communication
numérique
parce qu'il
assemblait, nous avons ajouté les stolons. Nous devons donner le message. Si nous envoyons un message, il devrait être de ce type. Autrement dit, il devrait contenir
le corps Hadean Haydn. Vous pouvez voir qu'il doit
contenir l'en-tête. Cet en-tête. Il s'agit
de la vue diagrammatique. On dirait que ça ressemble à ça. La version, puis le numéro d'
état du message d' état et
tous ces détails, le type de contenu, le contenu, le lin, la ligne
vide, puis le corps. Nous devons donc nous
écrire notre code. Nous
n'écrirons donc ici que le code du serveur
alors que le serveur HTTP, nous n'avons pas besoin d'écrire
le code client. Tout en faisant cela ou en programmant. Client seulement nous devons donner un
lien sur le routeur le dette et du côté serveur,
vous devez écrire ce code et nous devons
envoyer ce message. Et fermier, je n'ai pas fait de corps, ce que j'ai mentionné
dans ce diagramme. Lorsque le service, Cela
veut monter, cela devrait
signifier plus chaud. ne s'agit que d'une modification. Si vous devez atteindre cet institut de
communication, si bien incliné, vous devez donc
ajouter ce message en plus. Ce que nous allons faire pour comparer à la session précédente
pour le client serveur TCP, ce que vous devez boire, c'est simplement envoyer un
message au serveur. Que va-t-il se passer ici ? Si vous comparez ce programme avec ce message HTTP au
serveur en termes d'URL. Et puis cela
sera interne, sera en termes
de format d'en-tête, il aurait dû être couvert
lors de la session précédente pour comprendre
le concept de cela. Ensuite, ce serveur a
ensuite dit à propos de la disponibilité. Envoyez donc un message dans une vidéo datant du
message du site client disponible. Écrivez également le message
sur la prise. C'est donc notre
modification et quels sont les messages de ce type ? C'est de ce format. Il s'agit de la densité de
version du protocole HTTP, ce numéro, des numéros d'
état, du message d'état,
puis de la terre du contenu, quantité de données qu'il
transfère depuis le solaire a pris ligne, puis le type de
contenu où il y a un excès de GM, puis de corps. Ensuite, vous pouvez voir une
barre oblique et c'est une ligne vide, un corps et un corps. Oui. Bonjour, quel que soit le
message que vous écrivez ici
sera transmis
au client en réponse. C'est donc une
chose supplémentaire que nous
ajouterons pour le serveur ou le
client HTTP si vous comparez avec la programmation précédente
pollinise dans laquelle la FDA, PCP plusieurs neuf et
agitent tous les bateaux. Idem si vous avez
comparé ce que nous avons suivi
lors de la session précédente. Commençons maintenant à
programmer la laideur en utilisant le langage C comme moi pour atteindre le système
d'exploitation Linux. Systèmes d'exploitation Unix. J'espère donc que vous avez
eu cette domination ou que nous passons simplement au
code que j'ai déjà écrit. Le code est un code pour
HTTP. Juste une seconde. Laissez-moi faire les choses avec le genre. Il s'agit d'un tableau
de bord pour le serveur STDEV. Puisque je vous ai dit que nous devons
simplement écrire le code côte à côte, pas pour le
côté client, côté client, nous donnons probablement un lien. C'est-à-dire que, comme je l'ai mentionné, vous finissez avec un point
indigent de 127$, et le numéro de port,
c'est un 018. Il indiquera que le
client signalera la même
machine hôte locale que celle que j'avais sur
le serveur en cours d'exécution et la
même variable de numéro de port. Alors, quel est le mien aussi ?
Laissez-moi ouvrir ça. Comme je vous l'ai dit, quelle
sera la différence ? Si vous comparez, si vous avez vu le système d'exploitation Linux, ces fichiers d'en-tête via la programmation de socket de
modèle. Il s'agit d'une fonction principale
qui est l'entrée pour lancer une exécution
de votre programme. Toutes les choses qui
sont répétitives, c'est-à-dire encore une fois,
sont sous Linux. Je vous ai dit cette fonction socket, que nous
appellerons tout d'abord, les messages et arguments seront
cette famille d'adresses Internet. Second argument flux de données
correspondant à un type de socket. Et le troisième, le
groupe d'abnégation est bien égal à 0. Que reviendra-t-il ? Il retournera la
poignée de socket Laissez-nous le serveur. Et ici, il sera de type
et a commencé le cas de Linux. C'est la lumière de l'instructeur qui est utilisée pour remplir les détails
afin que le serveur,
quelle adresse IP et numéro de port à nouveau . Nous avons donc eu cela, nos
corps y achètent aussi, en particulier par adresse IP et numéro de port
et cette structure nous pouvons ressentir un peu en arrière l'adresse IP et le numéro de port. Vous avez assez ici
dans ces trois lignes, vous pouvez voir celle-ci. Où appelez-vous la fonction
mienne ? Vous passez cette
poignée de la prise que nous avons ici et nous
analysons cette structure. Et puis nous appelons «
Écoutez, écoutez ». Je vous ai dit qu'il s'agissait d'une prise, d'une poignée et de 0. Cela signifie combien de connexions de ligne doivent
être présentes dans la file d'attente. Donc, nous ne voulons
rien lire dans la lecture que vous avez fait
0 V mal fait. Vous pouvez multiplier en fonction vos besoins et
du numéro de commande qu'il a fait avec les raisons pour lesquelles nous faisons membres du comité de
communication recommandés par
X GTP. Nous l'avons fait en tant que mien
pour ce numéro de port. Par conséquent, si vous
parlez de GDP par HTTP, puisque je vous l'ai dit, cette extrémité de
message sera
envoyée du côté serveur
lors de notre session précédente. Puisque nous avons couvert ce que le serveur
TCP et la communication, seules les cartes qui mangent
ce que le client sent. Vous pouvez donc faire n'importe quelle complication qui était un
outil de communication de chant où vous pouvez également envoyer depuis le soleil
était du côté serveur. Et vous pouvez également lire et
écrire du côté client, rectus, selon
vos besoins. Ici, puisque peu importe ce que le client lui envoie un
message, je vais y répondre. Et cette réponse, elle
devrait être en termes d' en-tête et de corps. Je vous ai donc expliqué dans la présentation ainsi les détails de l'
hybride et plus encore. Pouvez-vous passer par
les quelques séances que j'ai entendues avant et dont j'ai abordé compréhension de ce qu'est le PIB,
plusieurs communications avec les clients. Vous pouvez passer par cette session. C'est courant pour
Windows et polynom. Voici ce qui
n'envoie pas le message, ce message de Dieu s'
initialise avec cette valeur. C'est que HTTP 1.1 ne connaît pas l'
état, le nombre de statut, message, puis le contenu à la demande de succès
. Combien de temps il est, 47 et puis il y a du
temps, c'est un humain. Ensuite, dans la barre oblique et
il y a une nouvelle ligne, il y a une ligne vide,
puis nous passons ce message. Mais il s'agit d'un
serveur de grosse caisse côté client. Ce message ici,
ce que nous avons plus tôt, lorsque nous arriverons ici, nous
enverrons ce message plus tard. Nous m'enverrons comme
une simple connexion à partir des fichiers du site client à nouveau la tangente de socket
, puis cette structure. Et puis nous obtenons une nouvelle poignée de prise, un nouveau descripteur de
socket. Ainsi, ce descripteur de socket qui
est nouveau sera engagé dans les opérations de
lecture et d'écriture
avec cela sur la ligne. Alors que les
personnes qui reviennent ici seront engagées à
se connecter à cette ligne. Donc c'est ce qui, et puis ces tristes ce qui
est lu quelles
que soient les lignes et le message qui est ascendant ou URL, c'est un à plusieurs, 7,010$ point un et
les anciens chiffres, sorte que lien qui est un lien
local ou l'ordre avec
eux, il nous
enverra un message
sera converti en
paradata formel en fait, et
il rapportera, il sera transmis
au serveur et neveu et vous
collecterez ici au numéro quatre, vous pouvez simplement imprimer
ce tampon côté serveur afin d'obtenir toutes les données en crédit
formel que les
clients et serveur-1 me donnent le
lien sur Firefox. Mais aussi dans le pistolet inversement, qui enverra une réponse. Vous pouvez donc voir que nous avons
écrit ce code supplémentaire ici. Par rapport à l'écriture de
code précédente, nous appelons la
bonne fonction
du côté argent en analysant cette
poignée de descripteur sur la socket, ce message en fait et
lorsque le message est simplifié, ce message est le même que celui
que nous avons vu. Il y a ce message, ce message descend
du serveur au
client en réponse. Vous pouvez voir que nous appelons
donc la bonne fonction
du côté serveur, traitant la
poignée de socket et ce message. Ensuite, nous
vérifions les erreurs. La façon dont la
communication se déroule est déformé. Compilons donc le code
et donnons un lien sur le navigateur ou Firefox et voyons ce qui se passera côté serveur. Permettez-moi de poster le score compilé par, puisque nous écrivons le
code qui ferait le point c
du serveur HTTP GCC . Vous pouvez voir ici un point
est créé, il suffit de le lancer. Vous pouvez donc voir en haut de
la page Quelle est
l'idée d'écouter les connexions
entrantes. Qu'est-ce que l'écoute de la connexion
entrante ? Maintenant, ce que nous allons faire, nous devons toujours poster
le lancement de notre serveur. Et puis nous avons boo-boo que les
communications côté client, c'
est-à-dire sur le navigateur
ici, nous utiliserons Firefox. J'ai mis en hyperlien $127 point
un et le numéro de port. Et puis de façon dentaire, vous avez ajouté ce que le client
que nous avons fait du côté de l'
application, côté client, ce
client enverra une demande aux saccades
informées du trottoir. Donc, quel que soit le
déclin inquiétant, vous enverrez une demande au
serveur à partir de laquelle nous
allons lire sur le serveur. Vous pouvez ainsi voir le message
imprimé sur le serveur, quel client envoie
sous les formulaires Al-Qaïda et le serveur enverra un
message au client. Et vous pouvez voir comment le navigateur, la page sera chargée
avec ce message comme
ce qui est envoyé en
réponse au déclin. Voyons un par un. Laissez-moi d'abord ouvrir ça. Vous vous élargissez sur Firefox sur
le site de l'application. Vous pouvez voir comment ce
jeu de message du côté de l'application,
du côté client, du centre de trottoir
d'eau. Revenons au terminal et voyons ce que toutes les choses
ont été imprimées des deux côtés. Nous pouvons donc voir ici ce qui s'est passé après ce que
l'on appelle du côté serveur
que nous avons ou nous avons exécuté cette application
serveur. Exécutez, nous avons R1, désolé, côté serveur, c'est ça. Nous avons reçu ce message à l'écoute
de la connexion entrante. Ensuite, du
côté client, nous avons donné ce lien qui est 127 points un côlon t. Donc rien n'
était mort et la plage, c'était juste ce gâchis. Ce lien que nous avons dit, nous avons donné sur ce Firefox, c'
est-à-dire le
côté application, côté client, ce lien, qui
provient de ce message, Dieu, Dieu envoyé du client
au serveur en crédit formel. Et puis NACADA, nous avons imprimé
notre cure de désintox côté serveur. Vous pouvez voir que c'est sombre. C'est l'en-tête
en fait dans neuf états. Tout ça va se diriger. C'est un en-tête quel client ? Client sur le serveur. C'
est donc en avance sur ce format, c'est l'agent utilisateur hôte et existe et tous
ces détails. Donc, si vous devez
connaître ce détail de la réponse d'en-tête
du client au menu
du serveur, donnez n'importe quel lien sur ce combat ou faux
mais opposé. Et vous allez à la session
précédente qui
comprend que sticky
est comprend que sticky une communication
client de serveur de partie, vous passez par
cette session, mais un inexpliqué savait ce que tout en-tête contient
des régresses et du client en site
et la réponse n' était pas un vrai client en
termes d'en-tête et de corps. Vous pouvez donc passer par
cette session. J'espère que vous y serez
parti et que vous allez suivre
toutes ces sessions de façon séquentielle. C'est ce que vous
obtenez du client, terminera ensuite par une réponse
du côté serveur lorsque nous envoyons le message
sur le côté de notre code, nous les avons écrits et la programmation de socket
d'apprentissage en toute sécurité , ce qui est envoyé au client. Et c'est ce que nous voyons
apprendre à programmer des sockets. C'est ce que nous avons fait
avec cette communication. Communication client Http. Nous avons fait dans ce système d'exploitation
Linux utilisant la lecture du langage C vous devez écrire de
chaque côté de notre tableau. Maintenant. Merci. J'en ai fini pour cette session.
19. Socket Session12 Blocage : Ne bloquer pas de Blocking MultiClientServer sélectionnez 1stHalf: Bonjour les amis. Aujourd'hui, nous allons voir des prises
bloquantes et
non bloquantes. Quels sont les avantages
de l'utilisation de ces prises ? De plus, nous verrons
l'utilisation de select. Ce que cette sélection et
quelle est son importance seront de sonner ces
choses dans une session artistique
ainsi que lorsque nous
verrons comment réaliser communication
multiligne avec les serveurs dans Lena en une
communication
multiligne avec les serveurs dans Lena en utilisant le langage C. Commençons un par un. Blocage ainsi que les prises
non bloquantes. Mode bloquant et non bloquant. Dans le cas de la prise. Le socket peut être
en mode bloquant ou non bloquant. En savoir plus sur le mode de blocage post, le mode par défaut de l'appel de socket
bloque l'âme. Au cours de ma formation, je vous ai expliqué comment
créer un socket. Nous avons vu que
lorsque nous trouvons plus de la socket
créée, il y aura le compartiment. Ça veut dire quoi,
qu'est-ce qui bloque ? Appelez ce c.
Supposons donc que vous
appeliez la fonction. Tellement sec est un charbon qui bloque le charbon. Vous pouvez ensuite effectuer cette
lecture sur votre socket. Chaque fois que les données sont dans
la facture de votre socket, vous ne
pouvez effectuer que l'opération
de lecture à partir de la socket. Dans ce cas, si ce n'est pas un flic
n'est pas sur la prise, que se passera-t-il si vous
appelez une fonction ? De toute évidence, il doit
attendre
que
les données arrivent sur le socket pour pouvoir effectuer
l'opération de lecture. C'est donc des hommes, il n'a pas besoin d'attendre. Ensuite, vous effectuez le support de blocage des
appels. Il est en train de violer. Il attendra que
les données arrivent sur le socket afin de pouvoir
exécuter l'
opération de lecture avec succès. Il ne revient pas immédiatement. Il s'agit de verrouiller le code. Cela signifie que, supposons que
dans votre programme je lutte contre les lignes d'
instructions et vous exécutez
certains patients et entre les deux, vous
appelez une fonction. Il vérifiera si les données sont disponibles
sur la prise. Oui, alors il lira
à partir de la prise et il reviendra au moment du coucher lui-même. Mais s'il n'y a pas de
données sur la prise, elle attendra le médicament. Donc, au moment où cela
bloquera le fonctionnement
de votre programme. C'est quoi
le code de blocage ? C'est donc l'un des
exemples que je vous ai expliqué qui
concerne un appel bloquant. L'exemple, le même exemple
que je vous ai donné, que je
vous ai expliqué en détail. Autrement dit, si vous effectuez
le coup de lecture, il ne reviendra pas avant que le boeuf tel que disponible sur
la douille soit rouge. Il s'agit
du mode de blocage. Voyons donc ce qui
est le mode non bloquant est la définition d'une seule ligne neuf. C'est-à-dire que ces fonctions l'ont
exécutée immédiatement en mode non bloquant et que vous appelez
la fonction de lecture. Que se passera-t-il s'il n'
y a pas de données sur la prise ? Pourtant, il n'attendra pas. Il retournera immédiatement, c'
est-à-dire des données, puis il lira les données et
retournera un temps mort. Peu importe si les données
sont présentes sur le socket. Ce sont des fonctionnalités,
il n'attendra pas. En fait, il n'y a pas de données, elles reviendront immédiatement. C'est lorsque vous faites que votre socket est en mode
non bloquant. Dans ce cas, il
reviendra immédiatement sans attendre
qu'un événement soit terminé. C'est notre mode moule et
non bloquant. Vous avez donc compris
le mode de blocage et le mode
non bloquant. Voyons maintenant comment
réaliser une communication multiligne avec des
serveurs. Et c'est ainsi que nous allons couvrir
tout ce que nous avons déclaré dans la
toute première diapositive. Comment réaliser une communication
serveur multicloud. Donc, ce que nous
faisons, comme nous le savons, la façon simple de gérer les
multiples clients qui se multiplient, c'est simplement
créer une nouvelle astuce. Mais chaque nouveau client est
connecté au serveur, car nous savons qu'il
n'y a qu'un seul serveur, puis
sur plusieurs clients. Donc, le médecin avec
un seul serveur, qu'il peut s'agir de n'importe quel
nombre de clients. Ainsi, dans le cas des clients
multiples, la façon simple de communiquer
entre le serveur et
le client est ce que nous faisons. Nous avons créé un thread pour chaque nouveau
client connecté. Quel est donc le problème
avec cette approche ? La création d'un nouveau thread pour
chaque client qui essaie de se connecter
avec nous et que
nous sommes l'un des
problèmes peut survenir. Voyons le détail
dans la cellule urinaire. Cette approche n'est pas recommandée en raison des
démarches de course à pied ci-dessous. Le tout premier inconvénient
de créer le thread pour chaque
contrainte client pour se connecter au serveur est, tout d'abord, que
nous savons qu'en cas de menaces qu'elles sont difficiles à coder chaque
contrainte client pour se connecter
au serveur est, tout d'abord, que
nous savons qu'en cas de menaces
qu'elles sont difficiles à coder.
comme débogage, et parfois ils ont des résultats
imprévisibles quand tout est
question de menace. Ensuite, ce problème, ou ce qui se
dirige vers les contextes. Qu'est-ce que ça veut dire ? Cela signifie que supposons que
vous ayez affaire à un thread et que vous devez maintenant traiter avec un autre
fil à ce moment-là. Vous devrez donc passer d'
un thread à un autre
thread trouver x, donc il y a un surcoût. Il faut donc un certain temps pour passer d'un
thread à un autre. C'est donc le deuxième inconvénient
de l'utilisation de la grille. La pensée ou les inconvénients qu'il n'est pas évolutif
pour un grand nombre de plantes ou
s'il y
a certain nombre de lignes
dans ce cas, ce sera, ce n'est pas un assez visible
pour créer un thread pour chaque
client afin qu'il
ait une communication
entre cet ovale. Et le problème
vient aussi dans l'impasse. impasse signifie que chaque fois que
plusieurs personnes veulent la même perte, nombreuses menaces multiples veulent le même verrou en même temps. Et c'est l'impasse qui se produit. Donc, ce sont les
inconvénients de
l'utilisation des fils sur chaque plan communique avec la paroi cellulaire. C'est pourquoi
nous connaissons notre objectif pour cette approche consistant à créer un fil conducteur pour chaque
client. Quelle est la prochaine chose
que nous pouvons
essayer de surmonter
avec ce fil ? Bien que ces inconvénients
fonctionnent sur le thread, la prochaine chose est de
ne pas sélectionner l'escroquerie, faire des appels sélectionnés. Et quel est cet objectif sélectionné ? Quel est son objectif
et son utilisation ? Voyons tous les détails
de l'appel sélectionné. Et plus tard, vous
verrez comment Monica sélectionner un appel. Et nous verrons également le
programme et exécuté n. Donc une meilleure façon de surmonter avec
ce problème de fil de film est la fonction de
sélection des collègues. Voyons donc comment l'utilisation
de la fonction de sélection. Nous devons donc sélectionner la
fonction d'un ensemble de sockets à partir duquel nous
voulons lire, en fonction du
paramètre de délai d'attente, tous. Lorsque vous avez terminé presque
immédiatement avec un ensemble de ces prises, il est
prêt à être lu. Qu'est-ce que cela signifie ? Que signifie cette définition ? Que vas-tu faire ? Il existe donc une fonction de sélection. Vous allez appeler
une fonction de sélection. Je vais donc vous expliquer en détail à l'
avance comment utiliser
cette fonction de sélection
passera la configuration, les prises dont nous
ne serons pas lus. Il s'agit donc d'un examen
qui suppose que vous
souhaitiez effectuer l'opération de lecture sur des prises différentes. Vous avez donc la liste des
sockets de modèle sur ce que toutes les sockets
se trouvent dans lesquelles vous devez
effectuer l'opération de lecture
sur les deux sockets. Vous passerez donc la liste de ces prises et
ne sélectionnez pas la fonction. De plus, vous
mentionnerez également le délai d'attente. De quoi s'agit-il ce délai d'attente ? Cette démo est comme, supposons que vous décriviez un certain
temps dans ce délai d'attente. Cette fois-ci,
la fonction de sélection sera en usine pour notre n
surveillera toutes celles que vous avez fournies dans le moniteur de fonction de sélection. Jusqu'à ce moment-là. S'il
n'y a pas eu de calendrier entre cela. sockets ont reçu
des données n'importe quel jour, reçoivent sur n'importe
laquelle des prises que vous avez données dans
cette fonction de sélection. Ensuite, il reviendra en fait avec toutes les sockets
que vous avez mentionnées, qui ont leurs
données à lire. Cette démo est donc donnée ici jusqu'à ce que le climat des devoirs ait
besoin d'attendre. Supposons que vous donniez le
délai d'attente de trente secondes. Vous donnez,
donnez cette socket en fait dans l'arborescence d'analyse de la
fonction de sélection. Ainsi, tous les types de sockets
dans lesquels vous souhaitez effectuer une opération de lecture et vous avez
donné le délai d'attente en secondes. Donc, dans cette partie des secondes, ce sera 40 secondes, trente secondes
maximum. Et il verra
en fait laquelle de ces prises reçoit n'
importe quel délai de brevet de date. Plus de données sont reçues
dans ce cadre, puis elles seront renvoyées. Ce délai d'attente se produit. Mais entre ce délai d'attente, avant 30 secondes lui-même, certaines des sockets ont
reçu des données, donc elles retourneront réellement
quand le délai d'expiration se produira, il reviendra avec
toutes ces sockets, qui est lourd sur cette prise
pour qu'elle puisse être lue. J'espère que vous avez compris
ce que j'explique. Une fois qu'il revient avec toutes
les sockets
dont les données sont présentes sur la socket. Dans ce cas, vous pouvez
immédiatement effectuer une action. Vous pouvez immédiatement
effectuer une opération de lecture, car nous savons que
les données sont disponibles sur cette socket, de sorte que
vous n'avez pas besoin de lire. C'est le but de
la fonction de sélection. C'est ainsi que nous réalisons l'âme. Et le détail de cette fonction de
sélection Omics
étant ici également. Voici comment faire le
détail comment l'utiliser. Quels sont tous les arguments de cette fonction de
sélection. Jusqu'à présent, c'est dur. Tout ce que nous avons VI plutôt que
de charger les trois séries. Dans cette utilisation, je
ne vous
ai expliqué que l'utilisation réelle de la sélection est le
week-end passe les trois que nous pouvons charger
les trois ensembles. Un ensemble sera pour l'autre
ensemble pour le bon, et l'analyse sera
pour la section suivante. Alors, quel est cet ensemble ? Ce sont les jeux, ce qui signifie qu'il s'agit des descripteurs de fichiers. Vous pouvez simplement dire que les ensembles signifient la liste des descripteurs
plus forts. Vous pouvez effacer la
liste des descripteurs dans lesquels vous devez effectuer
l'opération de lecture. Qui peut créer la liste des descripteurs que vous avez
possédés et vous devez effectuer la bonne opération et la liste des descripteurs
pour l'exception. Donc, de la place. Supposons que vous ayez mentionné cinq
sockets en fait une
liste de descripteurs sur les
descripteurs de fichier lorsque vous
devez effectuer l'opération de
lecture, vous devez surveiller l'opération de lecture a été effectuée
dans l'un de ces éléments. prises de tuyaux, n'importe lequel d'entre eux doit tromper
deux ordonnances à l'un d'entre eux ont reçu la date dessus afin
que vous puissiez effectuer. Vous ne prêchez pas comme lire uniquement les
chefs de file de ce problème. Parce que vous avez mentionné
que vous
devez effectuer la bonne
opération sur la prise. Et un autre descripteur d'article
défini pour l'exception. Si vous passez
ces trois ensembles dans
votre fonction de sélection, nous verrons dans le
programme lui-même, cela vous
expliquera comment les utiliser. Ce n'est qu'une description
avant de démarrer le programme, écrire le programme
et de l'exécuter, nous
cherchons simplement plusieurs choses sont nécessaires si vous appelez
la fonction de sélection. Et c'est un
facteur très important pour parvenir à une
communication multiligne de serveur afin d'obtenir une
décision plus large un jour. Ainsi, créer un fil de discussion pour chaque connexion client
agira sur l'âme. Ce sont les trois choses
qui doivent être réinitialisées. La prochaine chose que vous
mentionne à propos du Select, il testera ces
socket, c'est n'importe quoi. Donc, en ce qui concerne les prises, on vous
donne ces trois sets. Il indiquera
les prises et vous
signalera celle qui est
prête pour ces opérations. Cela signifie que les ensembles que vous avez mentionnés vous permettent
d'auditer votre fonction Select. Ceux-ci lisent, écrivent une exception. Vous donnez donc la liste
des descripteurs de socket dans lesquels vous souhaitez effectuer ces opérations et
vous donnez également un délai d'attente. Il verra que mourir
dans ce délai d'attente, si l'une de ces prises est
prête pour le fonctionnement en lecture et les prises que vous avez
mentionnées dans le
jeu de descripteurs sont prêtes, n'est-ce pas ? Il est prêt pour les exceptions. Enfin, la fonction de sélection, nous reviendrons
avec ces prises. Je suis prêt à effectuer
ces opérations. J'espère que vous avez compris ce
point et cela
vous rendra plus clair une fois que nous
commencerons à écrire un programme, puis la prochaine chose à propos de
la fonction de sélection est et cette information, nous pourrons ensuite traiter le
prises qui sont prêtes oui, et ignorent le reste du temps. Qu'est-ce que cela signifie ? Cela signifie que C, vous analysez une
liste de socket des descripteurs. descripteur de socket doit
effectuer une opération de lecture, exemple l'ordre phi de la socket. Les descripteurs de socket
que vous analysez, fonctionnent
correctement et que vous ne transmettez rien
pour l'exception, supposons que vous transmettiez la valeur NULL. Dans ce cas. Vous mentionnez également que je suis
dehors dans une minute. Au cours de cette minute, que tous les
descripteurs sont prêts. Quand je parle de prêt, cela signifie que c'est
une opération de lecture. Alors, évidemment, il
devrait y avoir des données sur la prise. La prise, nous serons
prêts à le lire. Le délai d'attente que vous avez
mentionné en fait le
délai d'exécution qu'il surveillera en fait
tous ces ensembles de descripteurs. Je suis prêt pour l'opération de lecture. Nous avons déjà une opération d'
écriture, donc il n'y a pas eu chacun d'eux et il retournera
des informations. Nous parlons donc de la même chose, puis signifions que les
informations que nous pouvons ensuite traiter les informations sur les sockets, lesquelles sont prêtes à être lues, écrites et toutes finissent dans deux maisons le fonctionnement de celles-ci lire enfin l'
écriture, donc c'est ce qu'il dit. Traitez ceux qui ont
déjà été traités et ignorez cela. allons dessiner et nous devons ignorer le reste déjà fait. En
traitant de manière sélective, les prises ne sont même jamais bloquées. Donc, dans ce cas, nous
ne serons pas bloqués car il n'a sélectionné sélectivement
que les prises, qui sont déjà la forme polaire. Nous ne devons donc
attendre que le temps que vous avez mentionné dans le délai d'attente en paix de la fonction de sélection, nous verrons le détail jusqu'à
ce moment-là, vous
devez attendre réellement, et tout ce qu'il donne
aux descripteurs que vous devez
déjà effectuer
l'action là-dessus. Vous devez y aller en fait et éviter d'utiliser le thread, ce qui est un excellent surcoût utilisant le thread que nous avons vu dans la diapositive précédente. Maintenant, il s'agit d'un nœud qui vous revient, il s'agit donc d'un paramètre de délai d'attente. s'agit donc de
la fonction de sélection sur il y a une rétrogradation, mais dans le cas où la fonction de
sélection par cette fonction rétrogradée par diamètre est nécessaire et sélectionnez la fonction. Il est nécessaire de contrôler la durée de
lecture de l'action. Prise de support prête
à être lue. Cela signifie que par le mode STI, par diamètre est requis
dans la fonction de sélection. Ce sera juste, c'est nécessaire pour
que vous deviez attendre
ce temps. Les descripteurs que vous avez
donné à votre jeu de
descripteurs, ensemble de descripteurs
que vous lui donnez, vous devez
attendre le délai d'attente que vous
n'avez pas mentionné et
vous avez perçu si l'
un d'eux est prêt. Jusqu'à ce moment-là, il
y a une raison de rester
en mode aussi important. C'est ainsi que vous contrôlez réellement combien de
temps vous avez besoin
d' attendre après ce
temps d'arrêt. Alors qu'est-ce qu'il va renvoyer
la liste thrombus. Le script sait lequel est
déjà quadratique, celui que j'ai déjà lu
et tous ces détails. Maintenant, il s'agit de la définition
réelle de la fonction de sélection,
comment les utiliser. C'est donc juste une
déclaration ici que vous pouvez voir int select et ces
arguments sont présents ici. Alors, quel est le
premier et un humain ? Vous pouvez voir dans les moyens qu'il s'agit
d'un nombre entier de type de données n MDS. J'ai décrit ici les
détails que nous verrons ici. Comme je vous l'ai dit, les phrases
descriptives sont définies pour les descripteurs. C'est l'ensemble FD. Il s'agit du type de données réellement
pointé jeu vide. Ce descriptif satisfait à
des fins de lecture. Cet ensemble descriptif est
destiné à l'écriture, et cet ensemble descriptif
est une exception, un objectif. Et il s'agit de la valeur
finale
du délai d'attente que vous devez redonner d'attente que vous devez redonner au temps
nécessaire pour lire et protéger lequel des descripteurs de ces ensembles est réellement
prêt pour l'opération. Voyons maintenant un par un ces arguments
que vous devez passer. détails de vos arguments de données sont là. Le premier est int et MDS, c'est celui-ci, MPS. C'est donc ce qu'en fait, il
s'agit du descripteur de
fichier le plus élevé dans l'un de ces trois ensembles plus
11 valeurs qu'il aura. C'est donc tout d'abord, puisque je vous explique, le système d'exploitation Linux, car les sélecteurs
utilisés pour Linux, il est
également utilisé pour
le bouton Windows. Dans le cas du Linux
en fait, nous aurons cet argument supplémentaire qui
est NDF et NMDA est rencontré dans. Cela signifie en fait
la valeur qu'il aura. Puisque vous deviez
avoir cette liste de ces descripteurs pour lire la liste des descripteurs pour l'informatique. Et nous allons faire tomber ce
script d'abord exception. Donc, dans celui-ci, nous aurons
une valeur plus élevée plus une.
Ils vont vous donner ça. Et le NMDA est un descripteur de fichier. Donc, ce qu'il dit, c'est le nombre
le plus élevé de descripteur de fichier dans l'un des trois
ensembles plus la marque. La chose habituelle que
vous ne puissiez transmettre la taille du jeu
FD comme valeur
de cet argument en fait, car cette macro vous
donnera la valeur entière qui est un grand nombre de
descriptifs dits plus un. C'est à propos de cela,
comme je vous l'ai dit, c'est pour le système
d'exploitation Linux, cet argument supplémentaire est là. Mais dans le cas des fenêtres, ce paramètre est ignoré. Il s'agit d'un AINS de la PNHD.
Pourquoi est-ce ignoré ? Parce qu'il s'agit
des jeux descriptifs, l'ensemble qui est le type de données
FDI souligne sec. Ainsi, dans le cas des fenêtres, ce FD s'est réglé, puis la moitié des prises, ainsi que le
nombre de prises. En fait. Par conséquent,
puisque cet ensemble vide dans cas de Windows a
les détails sur le nombre de sockets et donc
cet argument qui
ne sera pas que dans
le cas de ceux-ci , il
n'est que sous Linux. Parce que dans le cas de Linux, seule cette valeur est
maintenue à cause de l'ensemble vide,
ce que
nous verrons au moins ce que cela fait , et c'est le type
de données de l'ensemble descriptif. Cela n'aura pas de
détails sur le nombre de prises. Dans le cas de Linux qui
va simplement sélectionner la fonction a ce
détail ici. Mais dans le cas des fenêtres,
nous pouvons ignorer cela. L'humain est ignoré car le nombre de sockets est décrit
dans chaque ensemble. Donc, ce détail, nous verrons
une tête. C'est une défense. Vous vous souviendrez
que dans
le cas de Linux, il s'agit de l'argument, argument
supplémentaire, mais de la fenêtre MBSR, ce n'est pas présent. Je veux dire, revenons à cet argument. Nous en avons donc fini avec
le premier argument. Voyons l'autre humain. Pour l'homme fait chaque pointeur défini, le pointeur vers le centre des prises doit être
vérifié pour la lisibilité. Je vois une option
par exemple. Souvenez-vous donc toujours
qu'
il n'est pas nécessaire de
passer cette valeur. De plus, vous devez
passer cette valeur, vous devez passer ce
lieu pour qu'il le puisse, n'est pas de la contrainte en fait. Donc cela peut arriver en fait, vous avez avec cette valeur qui est manquée sur ce script va qui a rencontré et vous devez surveiller l'opération de lecture. Cette valeur peut exister, mais ce n'est pas le cas. Et c'est aussi fondu et
cela peut se produire réellement. Donc, même cela peut
être nul en fait. Et vous pouvez avoir la valeur du nombre de descripteurs lorsque personnes sont
allumées , cela va être nul. Ces deux choses peuvent
être là et ce rose vif et donc
elles sont les mêmes. C'est une chose facultative. L'un d'eux devrait
être réglé en fait. Vous ne pouvez pas les mettre comme aucun. C'est donc le truc. C'est ce qu'un optionnel a pointé vers un ensemble de prises
à vérifier pour AWT, car je l'ai dit, c'est ce
que je pense que marionnettes et le pointeur
de graisse optionnel un ensemble de prises
peuvent être vérifiés. corps. Quelle liste des prises que
vous voulez vérifier, n'est-ce pas ? La capacité encore une fois, sauf, je sais que 10 c'était des prises de configuration à vérifier dans des conditions
exceptionnelles. Dernier argument
qui est le délai d'attente. C'est cette structure, le pointeur vers elle,
c'est le temps o. Quel est son but ? Comme je vous l'ai dit, le taux
maximum ou nul, bloquant ou patient. Pourtant, il est dit donc supposons combien de temps vous voulez attendre, en fait la fonction de sélection, je dois attendre ce temps-là. Il attendra réellement, et il surveillera
les descripteurs. Ces descripteurs
que vous avez mentionnés vous permettent de surveiller la survenue de l'
événement. Autrement dit, si c'est le cas,
nous surveillerons
l' opération de lecture s'il s'agit
d'un port de moniteur idéal, n'est-ce pas ? S'il est supporté,
je surveille le popcorn. Mais jusqu'à ce que vous ayez
mentionné dans votre délai d'attente, une fois ce délai terminé, il reviendra s'il n'
y en a pas jusqu'à ce moment-là. S'il n'y a pas de descripteurs,
sachez que
les prises sont prêtes à subir un dysfonctionnement annuel et qu'elles sont démodées ou
ce qu'elles retourneront. Valeur Null. Il reviendra en disant qu'aucun
d'entre eux n'est prêt, puis il reviendra. C'est à peu près cela. Mais si vous réussissez, si vous êtes directement,
ne donnez aucune valeur en cas de délai d'expiration que vous
venez de mentionner comme nul. Cela signifie qu'il s'agit simplement de continuer à
attendre si vous passez ce
menu comme analytique, il continuer à
attendre si vous passez ce
menu comme analytique, suffit de lire n'importe lequel de
ces descripteurs, ces prises sont prêtes
pour n'importe lequel des
fonctions. Il peut donc aussi s'agir d'un
retrait, d'un temps indéfini, temps
infini s'il n'y a pas de
données présentes sur la socket, rien à écrire sur la socket, rien, pas de telles choses. Il continuera donc à lire et à
lire si vous transmettez
cette valeur comme null, mais si vous transmettez une
valeur et cette fois-ci, jusqu'à ce moment-là, elle
reviendra à la
et le délai d'expiration sera alors écoulé. Mais si vous passez comme nul, il continuera d'attendre. C'est donc ce qu'
il dit ici.
20. Socket Session12 Blocage : Ne bloquer pas de Blocking MultiClientServer sélectionnez 2ndHalf: Quels sont
les détails la fonction de sélection
et que rentre-t-elle ? La même chose qui est,
que revient-il ? Donc, une tonalité auditive. Qu'est-ce que cela signifie ?
Nombre total de prises prêtes. Donc, s'il renvoie un
audit supérieur à un, cela signifie combien de descripteurs de football sont prêts ? Combien de
prises sont prêtes ? En fait, cela
donnera cette valeur. S'il renvoie 0,
cela signifie que la limite de temps a expiré et, jusqu'à
ce moment-là, aucune prise
n'est prête. Il revient moins un. Cela signifie qu'une modification, une carte balaie certains plans de travail
Modifier, puis elle retournera moins un. Ce sont donc les
choses qu'il peut retourner et c'
est une possibilité, mais chacune d'entre elles,
vous pouvez donc vous le dire. Vous pouvez enregistrer dans la fenêtre, dans Windows, dans Wind Socket, cette valeur de retour
sera socket. Utilisez la fonction applicable
pour identifier l'erreur réelle. Dans le cas de Windows, s'agira de ce type de
socket et de l'erreur quadrillée, c'est juste pour
distinguer, c'est un dans lequel je
décrit et je distingue simplement quand ne l'ai pas Windows J'ai
écrit en l' extrayant au cas où toutes les fenêtres de
cet éditeur seraient mortes. En outre, vous pouvez appeler cette
fonction w et dire Obtenir dernière erreur afin d'obtenir les détails de la
modification, elle renvoie une erreur. Ok, donc cet organe
a compris l'éditeur sous Windows. Maintenant, pour parler des
détails à ce sujet, chaque seconde de soulignement, ici nous utilisons
complètement un préréglage. Vous pouvez voir ici cette vue WAS, est le pointeur de type de données le
jeu de soulignement MPI cet écrivain VS également type de données pointé va également
définir un
pointeur d'exception à l'obésité. Alors, qu'est-ce que ce n'est jamais
le soulignement sec, comme je le fais sur les descripteurs de
fichiers de votre bureau. Voyons les détails à ce sujet. Maintenant. Dans le cas de l'Unix, dans le cas des minutes
qui sont réglées par FD, les autres tourbillons binaires. C'est dans le cas
du vent, du chant du vent. Cela signifie que dans le cas des
fenêtres, ces prises, dans le cas des fenêtres, cet ensemble vide désigne
les autres structures. Dans le cas de Windows, papa
contiendra la zone des sockets ainsi que
le nombre
de sockets, comme je vous l'ai dit dans les diapositives précédentes, en
fait, que dans
le cas où
vous appelez la fonction de sélection, le premier
argument concerne celui-ci. Les AINS dans lesquels vous ne
passerez pas dans le cas des fenêtres, ce n'est pas nécessaire car ce
numéro vient de mentionner les sockets car il n'est pas
nécessaire dans le cas de Windows disposé argument
parce que le raison de ce jeu FD, c'est-à-dire qu'il est dit
que
nous aurons, nous aurons la structure qui contient
la surface des prises ainsi qu'elle
contiendra le
nombre de sockets. Donc, ce paramètre qui
est le nombre de sockets est déjà présent dans
cet ensemble vide dans cas où les
efforts de Windows ne sont pas nécessaires. Lorsque vous appelez cette fonction de
sélection. Dans le cas de Linux, sont les ensembles qui seront
simplement des tableaux binaires. C'est-à-dire, dans le cas de Windows. Ce sera la structure qui contient des prises aériennes
ainsi qu'elles contiennent le
nombre de prises et de papa. De bonnes choses quand nous présentons. C'est la différence
entre l'Unix et les fenêtres dans le cas
de Bordeaux et de réinitialisation. Et c'est ce que
j'ai mentionné ici. compteur valorise cette
ambiance de raison dans salt ignore le premier
paramètre de cette sélection, je vous ai dit que dans le cas de la socket Devin,
le premier argument, qui est que la
sélection est ignorée, le n'est pas nécessaire
car vous êtes en cours de réinitialisation. Il est mentionné en profondeur
entreposé en eux », a-t-il dit, ce que j'ai expliqué,
vous savez, des détails. Cette ligne, ces trois
lignes States s'empilent. Voyons maintenant les détails
de
ces jeux vides. Ce sont les macros que j'ai
utilisées pour travailler avec ces ensembles. Je vous explique donc
toutes ces choses parce que je n'
écrivais pas vraiment le programme à l'aide de
la fonction de sélection, ce qui est très
important comme je vous l'ai dit, que pour surmonter
cette auriculaire multithread, nous préférons utiliser la sélection. Nous n'avons pas besoin d'attendre
longtemps le délai d'attente. Beaucoup de gens doivent
lire et c'est très visible car il
va rencontrer leur temps. Et vous pouvez comprendre pourquoi
la définition qu'elle dit, puisque nous utiliserons toutes
ces choses dans notre programme, le cœur de rédaction d'un programme. Je vous explique
chaque argument dans cette diapositive elle-même. Donc, lorsque nous
commencerons à écrire le programme, ce sera très Z. Et ce ne sont pas l'équilibre lunaire avant qu'il
commence la preuve maintenant. Ce sont les microbes qui sont associés aux jeux vides. Ces macros que vous
rencontrerez lorsque vous écrirez un programme, nous verrons que j'utilise
toutes ces macros. Alors, vous
saurez si j'explique détails de
l'urine parce que
nous sommes des humains émis, utilisez-en réellement en
appelant la fonction de sélection. Quelle est la taille de cet ensemble vide que vous utiliserez
avec eux réinitialise. La valeur de cette
macro est le nombre maximal descripteurs
de fichiers que l'objet jeu vide
peut extraire en agriculture, en donnant les
informations à ce sujet. Comme je vous l'ai dit ici même, que ce faux argument vous
choisit ce qu'il sera. Ce sera
le nombre maximum de descripteurs de
ces trois descripteurs, lequel a une valeur
maximale plus un ? Cette taille de jeu FD. Cela vous donnera complètement
les détails sur celui-ci. C'est quoi ? Il
vous donnera un nombre maximum de descripteurs de fichiers que l'objet jeu
vide peut mettre. C'est ce dont
parle
la macro en termes de jeux vides. De plus, vous pouvez voir
une macro par rapport à un des
ensembles F D soulignement 0. Donc, ça veut dire quoi ? Vous passez ce jeu vide. Cette macro initialise les fichiers sous un ensemble descriptif,
deux jeux vides. Vous allez donc simplement initialiser
votre jeu descriptif sur 0 et donc vous utiliserez
cette macro jeux de soulignement
0 et E de la FDA . Il s'agit des différentes
macros au sein des ensembles qui sont des traits de soulignement vides du
jeu de soulignement B. Mettons le soulignement CLR F, D. Il met en place un post-op, toutes ces macros
qui sont là. Le but de cet
ensemble vide est d'ajouter cette
liste de descripteurs de fichiers distribués. Puisque nous savons que
chaque ensemble de pointeurs est défini, cela signifie qu'il a la liste
des descripteurs, des descripteurs de
football. Et vous voulez appeler cette fonction et
vous dessinez, vous voulez l'ajouter, aurait pu obtenir
ce jeu de descripteurs. Donc, dans ce quartier,
vous allez appeler M-Pesa. Afin d'ajouter ce descripteur il faudrait investir la liste sur
ces descripteurs. Concentrez-vous là-dessus et CLR, cela signifie
que vous devez effacer réellement ce descriptif
que vous avez mentionné. Il suffit de
supprimer ce descripteur, supprimer ce descripteur
de tri de ce script. J'ai dit que c'est une raison pour laquelle
vous appelez le code CLR de
soulignement MPI . Cela signifie que vous
devez vérifier si ce descriptif, que
vous n'avez pas mentionné, est il n'y a pas dans cette liste de
descripteurs de ce descriptif connaître
l'inhumain final de la sélection de ce délai d'attente celle-ci, celle-ci
sélectionne la fonction. Voyons donc pour cela. Cette sélection attendra la
durée spécifiée sur les détails pour arriver, puis elle
abandonnera et reviendra avec
le statut de socket. Comme je vous l'ai dit, il attendra le délai d'attente. Vous avez mentionné le
poids et le moniteur. En fait, si vous avez
donné le script, allez
surveiller pour la lecture ou pour certains descripteurs pour
surveiller la pensée. C'est peut-être un post.
Il vérifiera tous les descripteurs qui sont vendeurs de la radio ou non jusqu'à l'heure que vous avez
mentionnée dans cette démo. Si ce n'est pas le cas, il se
comportera en conséquence. Voici donc deux états qui notent
maintenant que le port de sélection
revient avant le délai d'expiration. Les données intégrées, il
n'est gêné aucune donnée que ce qu'il faudra pendant tout
le temps
avant de revenir. quelque sorte, une fois que
les données sont renvoyées, même si vous mentionnez
que je suis sorti pour 30 secondes. Mais si la sélection est
bonne, certaines des prises qui
sont prêtes en fait, dans ce cas, elles n'
attendront pas tout le temps. Oh, l'industrie avait
mentionné qu'elle pouvait revenir avant l'expiration de ce
délai. Mais s'il n'y a pas de données, il n'y a aucune activité
dans la socket. Il lira la valeur du
délai d'attente complet pour eux, et ils n'ont pas besoin d'États. Maintenant, si vous avez dit que
le délai d'attente est 0, si vous leur donnez la valeur à 0. Dans ce cas, cette sélection sera immédiatement
renvoyée avec ces données. Si vous avez mentionné les zéros dans leur valeur camouflage dans
la fonction select, le dernier argument qui demande 0, ce qui signifie que vous
n'avez pas besoin d'attendre, vous ne voulez pas attendre. vous suffit de
revenir immédiatement. Donc, il va simplement vérifier
en fait , il suffit d'appeler cette
fonction de sélection, il continue. Rituel. Les descripteurs sont prêts sinon ils n'attendront pas,
en fait, ne l'ont tout simplement pas immédiatement. Cela signifie que si vous envoyez le paramètre rétrogradé
à la valeur nulle, dans ce cas, il continuera simplement à attendre qu'il ne trouve
aucun événement B survenu. Dans ce cas, cela ne
mènerait pas à l'indépendance, mais je le suis aussi, il peut être, il peut attendre un
temps infini s'il n'y a pas, rien, aucune activité
en fait, ces données de nœud. Si vous vouliez
ajouter des préréglages de script pour la lecture, si
vous voulez écrire, il n'y a rien que vous
ne puissiez trouver de données directement
sur la socket. Il continuera à
lire et à lire. C'est à quel endroit il est nul. Et si vous prolongez la démo sera un millilitres de temps
différent de zéro. Si vous donnez une valeur positive, une valeur
non nulle, la valeur
Sélectionner qui n'est pas égale à 0. Donc, dans ce cas, il
attendra le temps que vous avez mentionné
et il
bloquera le match de mort le délai d'attente sera
écoulé, il reviendra. C'est ce qu'en est-il paramètre de
délai d'attente en cas
de fonction de sélection de points. Maintenant, ce que ce délai d'attente
a réellement en détail. J'ai mentionné que
le délai d'attente
aura également ces choses en
secondes et microsecondes. C'est juste comment les utiliser. Ensuite, la dernière chose qui n'
est pas un
socket non bloquant pour les atteindre
décline la communication du serveur. Au lieu d'utiliser la fonction de
sélection, nous pouvons rendre
la socket non bloquante en suivant les
différentes fonctions. Qu'est-ce que cette âme, comme je vous l'ai dit, qu'
il existe deux modes de blocage de
la prise
et de non-blocage. J'espère donc que vous avez compris
que le blocage signifie qu'il lira réellement dire que
l'événement se produira. Par exemple, nous avons vu dans le
cas de la fonction rouge, que si nous appelons
la fonction de lecture, si la socket est une socket
bloquante, et si nous ajoutons manger
réellement dans ce cas, si elle n'obtiendra pas le données, il se lira simplement. Les données sont présentes sur la prise. Donc, dans ce cas, tout
votre programme sera bloqué car
vous appelez une fonction et il
attend toujours que les données arrivent
sur le socket. Le délai d'exécution de votre
programme sera arrêté. On parle, on s'est arrêté. Au cours de cette session, on
aura vu que
la salle des affiches, afin d'atteindre la communication du segment de
ligne PICC, nous créons un thread pour chaque plan qui se connecte
réellement au serveur. Ce sera ou ce qui fait mal à
cause des inconvénients. Il aurait
fallu voir ce conseil, pour éviter ces inconvénients, nous ne préférons pas
utiliser la menace. Nous appelons la fonction
Select. Vous avez vu quel est le
but de la fonction de sélection. Donnez immédiatement la liste des
descripteurs que nous voulons. Vraiment surveiller réellement mettre
tilde la valeur du délai d'attente et il retournera en fait avec les descripteurs
qui sont prêts, quel que soit le département
qui est prêt à écrire tous ces descripteurs
les retours ont été sélectionnés sockets, il retournera réellement qui
sont prêts à être traités. C'est ainsi qu'il ne se
lira pas pendant longtemps. C'est ainsi que vous contrôlez réellement la baignade. Ce n'est pas celui
que nous utilisons réellement. Une autre façon est que vous perdez, je fais que la socket
est non bloquante, donc c'est une autre chose pour les
atteindre et décliner dans plusieurs communications
et les détails sur l'utilisation
de la socket
non bloquante. Quel est le but de la prise
non bloquante ? Ce qui va se passer et comment
réaliser ce mois-ci décline la communication
avec le
serveur à l'aide d'un
socket non bloquant que nous
verrons dans une autre session. Vous verrez également le programme. Je vous ai donc expliqué comment les détails de
la fonction de sélection, comment l'utiliser. Et puisque nous allons écrire
un programme et l'exécuter. Donc cette connaissance
de la fonction de sélection, ainsi que des
arguments requis, des
détails à ce sujet sont nécessaires, il y a une raison d'
avoir du carbone ici. Nous verrons également, puis nous voudrions savoir ce qu'il en est de
la socket non bloquante, comment réaliser cette
communication client-serveur lundi. Et nous allons également écrire le
programme pour cela, résumons
tous les sujets en réalité, voyons quels sont nos
sujets que nous aborderons lors de la prochaine session. Tout d'abord,
vous allez écrire le programme et l'exécuter à l'
aide de la fonction de sélection. Ce cadrage, cette session est très importante
pour vous, car dans la prochaine session, je vous
expliquerai que vous
écrirez un programme sous Linux et que nous l'
exécuterons très importante
pour vous, car
dans la prochaine session, je vous
expliquerai que vous
écrirez un programme
sous Linux et que nous l'
exécuterons. à l'aide de la fonction de sélection. Depuis plus de travaux, j'ai expliqué au cours de cette
session qu'il aurait été utile à l'époque. Vous devez voir comment
quelqu'un décline. Plusieurs communications
sont réalisées, nous l'exécuterons et nous
verrons cette communication se produire sur Linux
lors de la prochaine session. La prochaine session sera
très facile pour vous. Si vous avez passé cette session complète à
l'aide de la fonction de sélection. Ensuite, la prochaine chose
, nous
aborderons ce que fait
le socket non bloquant, comment vous pouvez obtenir des déclins de communication avec le
serveur. Ensuite, nous verrons également la différence entre
ces deux approches, qui abordent les approches permettant de réaliser une communication multiligne avec des
serveurs. C'est la différence entre la fonction de sélection dans
laquelle je vous ai montré maintenant. La différence entre
le socket non bloquant, car c'est aussi
l'autre moyen d'
obtenir ma communication de
serveur décline. Une fois que j'aurai terminé cette prise
non bloquante, nous vous verrons sur la
différence entre eux et celle que nous
sommes censés préférer. Voyez lequel est, lequel
utiliser lorsque vous sélectionnez une socket non bloquante que tous les leaders de
la session suivante. Comment créer un socket ne
bloque tous les détails et un
programme et écrire
un programme et exécuté à l'aide socket
non bloquant
afin d'obtenir une communication multi-cloud
et serveur. Dans les prochains Soviétiques
voient sur
la solvabilité le programme utilisant le non-bloquant, rendre le socket non bloquant et l'exécuter
sur Linux sur, Merci, Nous allons couvrir. J'espère donc que vous avez compris la session complète au cours de laquelle nous avons vu tous ces détails sur les sockets bloquantes et non bloquantes
que vous avez sauvegardées pour sélectionner et comment
réaliser eux. communication du serveur Anticlines en utilisant sélectionner toutes les choses que nous ajoutons via un v ont été envahies lors de
la prochaine session, qui signifie voir le programme à
l'aide de la sélection et voir comment
atteindre cette multiligne
communication du serveur, écriture du programme et
exécution en langage C. Et merci pour l'instant. Merci beaucoup d'amis.
21. Session13 du programme et d'exécution: Bonjour les amis. Aujourd'hui, nous allons écrire
le programme socket à
l'aide de la fonction de sélection
afin d'obtenir la communication
du serveur de lignes magnétiques, ainsi que nous l'
exécuterons sur Linux en utilisant
le langage C. J'espère que vous avez passé par la session précédente et je vous
ai expliqué les détails, la nécessité d'utiliser la sélection pour
obtenir la communication
multi-client-serveur. Nous avons vu deux réalisations, la communication
client-serveur, tout d'abord, elle peut aller avec l'
approche qui crée le thread appelé chacun des clients qui y
sont connectés, il y a plusieurs clients puis plusieurs threads, nous pouvons le voir. Mais quel est le problème dont nous avons discuté lors de la session
précédente ? Il y a différents
désavantageux en créant le thread pour chaque client qui
se connecte au sectionné. J'ai donc abordé
tous les points, tous les inconvénients
et la session audio. Il n'est pas recommandé de
créer le thread pour chaque client qui tente
de se connecter au serveur. Et c'est la raison pour laquelle nous n'
allons pas adopter une approche pour
créer un fil de discussion. Au lieu de cela, nous
utiliserons la fonction de sélection. Les détails de la fonction de
sélection se trouvent donc. La fonction de sélection est requise. Qu'est-ce que la fonction Select ? Comment appeler la fonction Select ? Quels sont tous les arguments que vous devez transmettre dans la fonction de sélection. Tous les détails que j'
ai fournis lors de la session
précédente, et c'est très important pour que la réussite de l'
ordre diminue
la communication. Voyons donc juste une brève
description de la sélection ici, et commençons à
écrire le programme et à l'
exécuter sous Linux. Il suffit de parler de
la fonction de sélection. Quel est donc le but
de la fonction de sélection ? C'est de surveiller
le nombre de sockets descripteur de socket que vous donnez dans ce fonctionnement de sélection. Si vous voulez surveiller les
prises à des fins de lecture, si vous voulez
dire à quelqu'un que les sockets pour,
je pense, qui peut donner toute la liste de ces descripteurs dans
cette fonction de sélection. C'est pourquoi cette première ligne
dit la même chose. C'est-à-dire que nous devons
charger les réinitialisations. C'est lu, écrivez
une exception avec les sockets que nous
voulions socrates que vous souhaitez tester pour toutes ces fonctionnalités que nous
pouvons donner cette lecture sera la liste des
jeux football descripteurs
que vous pouvez donner achetés. Je pense, la lisibilité. Vous pouvez fournir une liste du descripteur de
socket à tester. Et puis il y aura l'exception descriptive de
défaut seg. Donc, tous les détails que je vous ai expliqués lors de la session
précédente, ce n'est qu'une
brève description. Alors, quoi ? Cette fonction de sélection,
nous reviendrons. Nous donnons donc ici toutes sortes de paramètres de délai
d'attente à
la fonction de sélection. Quel est ce délai d'attente par
diamètre que j'ai décrit c'est le délai dans
lequel vous
devez tester toutes les prises. Nous devons tester lesquelles
des prises sont prêtes
à être lisibles. Laquelle des prises est prête ? Stabilité d'un quart de pouce. Donc, tous ces sockets en fait
dans leur délai, lequel d'entre eux est prêt, il retournera la liste de ces sockets si
le délai expiré et pas de sockets, de
lisibilité ou de répétabilité. Il n'écrira donc
aucune des prises. Il s'agit donc d'utiliser
la fonction de sélection. Et si vous devez passer en revue les détails pour passer par
la session précédente, vous comprendrez tout ce qui concerne la fonction de
sélection. Commençons donc à écrire le programme à l'aide de cette
sélection ainsi que angelinos
exécutés
en langage C. Egalement amis, cette
session que je vous
donne est le système
d'exploitation Windows. Afin d'écrire
le programme et exécuter sur le système
d'exploitation Linux, j'avais installé la boîte de machines virtuelles Oracle. Vous pouvez également faire la même chose. Il est très facile de le
télécharger et de
l'installer afin que vous puissiez également essayer différents systèmes
d'exploitation. Et si vous possédez le système d'exploitation
Linux, vous pouvez écrire directement
le programme avec moi et vous pouvez l'exécuter ensuite. Souvent cependant, nous embarquons
des fentes ouvertes sous Linux. Démarrons le
système d'exploitation des unités et le programme radio. C'est mon terminal
Linux. Je vous informerai des commandes
de base lorsque vous commencerez à écrire le
programme sous Linux. C'est le retrait
dans lequel j' ai dans
le dossier d'accueil, j'ai créé ce folio qui est socket programmant
Linux à l'aide de select. Ici, je l'ai déjà
écrit. Permettez-moi de supprimer la sortie ici. J'ai été devant vous
et nous verrons, laissez-moi ouvrir
ce fichier. Laissez-nous. Connectez plusieurs,
plusieurs clients.lire. J'ai donc déjà
écrit ce programme. Laissez-moi ouvrir ça et
je vais l'épingler. Au lieu d'écrire
chaque ligne et 98 instructions à
partir du stock, licenciement prend beaucoup de temps. J'ai donc déjà écrit le programme et ensuite
je vous expliquerai les
instructions ligne par ligne
qui sont utilisées. La plupart des choses
que je vais aborder dans ce programme que j'ai déjà abordées lors de
ma précédente session, j'ai expliqué, savaient comment utiliser la fonction de sélection,
ce qui est très utile. Si vous passez par cette session
précédente, cette session sera très importante. Donc. Je vous recommande de passer
à la session précédente avant de commencer cette session. Démarrez le serveur. Il s'agit donc d'un
rapport de la barre latérale qui a été essayé pour la société Une fois que j'ai expliqué les instructions de chaque
ligne
, nous l'exécuterons. Une fois le solveur exécuté, solveur sera lancé. Ensuite, nous lancerons le
client depuis un autre terminal. Ainsi, une fois que nous lançons un client qui tentera de se
connecter au serveur
, le client envoie la
connexion au serveur. Le serveur accepte
cette connexion et il enverra un message d'
accusé de réception. Avec application. Ce message sera imprimé sur la console, sur le client. Vous verrez comment
le trottoir envoie ce
message au client. rouge est donc la communication entre le serveur
et le client. La deuxième chose que nous
verrons dans ce programme est que
tout ce que nous tapons ,
le message, le client, soit renvoyé au client
lui-même à l' aide de la fonction de
sélection. Donc, si je tape
un message, dites bonjour, ce message apparaîtra,
apparaîtra à nouveau sur la
console client en disant bonjour. Tout cela utilise
la fonction Select. Nous verrons comment fonctionne réellement la
fonction de sélection. Et ensuite, si nous essayons de
lancer le deuxième client, si nous faisons écho, c'est un autre message à
ce sujet, sur cette ligne. Deuxième client, il sera affiché sur cette
deuxième ligne elle-même. Donc, toutes ces choses que nous
couvrirons de cette façon. Nous verrons également comment
le serveur parle au client et si
nous pouvons faire écho au message déclin lui-même,
même plan lui-même, quel que soit le message que nous avons
donné sur le client, ce message
apparaîtra sur la ligne rouge elle-même sur les choses que nous
aborderons au cours de cette session. Dans ce programme. Je vais vous expliquer
ce que toutes les choses, quelles sont toutes les instructions nécessaires
pour y parvenir. Commençons donc par définir les fichiers
d'en-tête
que vous devez fausse. Ne le déclarez pas avant de
commencer le programme. Je l'espère. Vous avez également passé par les sessions de configuration précédentes que j'ai couvertes
pour la programmation des sockets. Donc, vous savez, le B6, la prise. Comment le serveur communique-t-il
avec le client ? Quels sont les champignons,
comment le serveur se
liera au port et comment le client se connectera
au même port, et comment cette
communication est effectuée. Tous les détails que j'ai expliqués sur l'empilement de la
session sur ce cours. Je vais vous dire comment vous devriez suivre séquence étape par étape. Commençons. Le langage Since c'est un langage C, mais l'exécution de votre programme commence
toujours à partir de
la fonction moyenne. C'est donc notre fonction principale
que j'ai fait le code, cette fonction de sélection jusqu'à
présent, le support. C'est la fonction principale. C'est la déclaration
que j'ai faite. Voyons donc un par un. Vous pouvez voir que cette variable est là que j'
ai initialisée. Est-ce que nous voyons toutes ces
choses qu'il faut ? C'est donc le, c'est-à-dire, ce sont les variables
qui sont le socket maître. Cette chaussette de
soulignement ADD LN Line. Ensuite, vous pouvez voir un tableau
sur le socket client qui contient n éléments. Cette variable max Klein, qui est en train d'avoir, qui est
initialisée avec la valeur dix. Ensuite, toutes ces
variables qui sont, que j'ai déclarées. Je vais vous expliquer quel est le but de
chaque mois variable nous commençons par l'explication des
instructions ligne par ligne. Je vais vous expliquer quel
est le but de chaque capacité médiatique déclarée ? Estimateurs de soulignement max variable du type de données int. Il s'agit d'un maximum ou il
peut y avoir les
descripteurs de fichiers morts. Lors de la session précédente.
De plus, je vous ai mentionné qu'à propos des détails
du soulignement d'Avy sec. Encore une fois, l'école
a dit en fait vous savez qu'il existe trois ensembles de cellules de
soulignement de l'IDE, c'
est-à-dire pour la lecture, pour l'écriture et pour les exceptions. Donc, quelle valeur de ce
maximum et Steve aura le maximum. Lequel trois d'entre eux
ont la valeur maximale. Vous pouvez voir ici
la structure qui est obéissante a été
nommée adresse, qui est du type structure
sock, DDR et l'école. J'espère que vous êtes au courant
de cette structure. C'est la
prise de structure dans laquelle nous avons rempli les deux éléments
avec les détails. Le troisième va
essayer de s'y lier. Nous devons donner le numéro de port, nous devons donner la
famille d'adresses autour du socket. Donc, tous les détails sur
l'API de socket déjà dans la
session de début du cours. Alors, s'il vous plaît, passez par là Nous couvrirons,
l'objectif principal sera savoir comment utiliser la fonction de sélection dans la carte de
communication de prise. Toutes les communications
entre communication moléculaire et
cellulaire. Voyons donc voir. Nous
utilisons réellement un tampon, donc nous verrons
comment l'utiliser. J'ai entendu parler. Et vous pouvez voir le jeu FD. Nous utilisons donc
sur le côté ici, puisque nous sommes dans notre
programme, surveillez cependant, décrivez des prises pour la
lecture, l'écriture, vous pouvez également donner l'
écriture appelée en fonction vos besoins
ici je n'ont donné qu'un garçon,
parlons-leur. Je vais traiter. Donc ici, j'ai pris la
surface de la FDA du type de données. Encore une fois, ce jeu de codes,
vous pouvez le voir ici. Mais, prenez un point.
Le message, c'est-à-dire qu' il
s'agit d'un message qui
sera envoyé depuis la barre latérale vers neuf lecteurs
pour se connecter au serveur. Nous enverrions ce
message à partir de là, je vais exécuter ce programme lui-même. Vous verrez comment
utiliser ce message, August envoie ce message. Ensuite, dans ces trois
lignes d'instructions, vous pouvez voir ce que
nous faisons ici. Vous pouvez voir qu'il s'agit d'une boucle for-loop. Et ici, nous prenons
la boucle à partir de 0, lignes de soulignement max. Qu'est-ce que cela a du sens ? Cool clients, il est
initialisé à dix. Donc comme je veux dix clients, peux lui apporter dix clients
peuvent se connecter au serveur, donc je l'ai donné dix. Et donc cette nouvelle boucle, et donc cette boucle
va passer de 0 à n. Initialement, ce que je
fais, c'est que ce qui est
ce domaine à propos du socket client ? Il s'agit d'un ensemble de ces descripteurs de
football. Nous savons donc qu'une fois que
la socket est bien, socket est créée, puis elle
retournera un descripteur de socket. Nous avions maintenu le descripteur de
socket dans cet ajout nommé client
et le soccer scolaire. Et au départ, comme il
n'y a pas de client connecté,
ce serait que nous initialiserons les
dix descripteurs
de socket du client seront 0. Une fois que le client essaie de
se connecter sur le côté
, un par un, ces
éléments d'ajout seront remplis. Socket, il va
le
retirer du client qui
essaie de se connecter. Vous verrez donc à quel point
ces choses sont profondes dans
l'ensemble de ce programme lui-même. Alors, ce que nous faisons. Puisqu'il s'agit d'un programme de
barre latérale, nous allons créer
le socket côte à côte. Comment
créer la socket ? Nous savons que nous devons simplement utiliser la
fonction socket de cette manière. Et c'est la configuration sur les humains que nous sommes
censés faire une pause. C'est ce premier argument, le deuxième argument et
cet argument de la partie. C'est la famille d'adresses. Nous avons vu les détails à ce
sujet lors de la session précédente, le type de prises, et nous effectuerons la communication par socket à l'aide du marché des socket de flux Bagram. J'ai donc mentionné le
type de socket également les détails de cela inexpliqués
dans la session de démarrage. Ce 0 sera passé ici. Une fois que
la socket côté serveur est
créée, elle retourne. S'il réussit, il retournera cette socket
principale. Vérifiez en fait s'
il réussit ou non, certainement cette condition
est donnée comme ceci. Ici, cette socket principale sera le descripteur de socket sur
la barre latérale, ce que nous avons obtenu. Une fois cette socket
créée, ce socket maître, nous essaierons de lier ce socket de serveur maître circulé
au numéro de port, et nous essaierons d'
écouter le numéro de port. Je vais essayer d'
accepter simplement la connexion. Si nous avons essayé de lancer le client d'un autre
côté à partir d'un terminal N , une fois
qu'il est à l'écoute, le serveur accepte la
connexion du client. Si le client se connecte
au même port, engourdissez tout ce que nous
verrons ici sur le site du serveur. Comment lier,
écouter, accepter. Maintenant, les instructions de configuration suivantes, qui sont là, sont
configurées socket d'OPT. Il s'agit donc également en option et la socket maître pour
leur permettre une connexion éthique. Cela donne donc les
différentes options que vous pouvez donner
ici dans cette instruction
qui est terminée. Le prochain secteur d'instructions
que vous
recevez, vous savez, vous pouvez le voir. C'est ce que vous
faites comme je vous l'ai dit, quoi cela répond-il ? Ce sont les artères de la
douille soviétique déjà vues dans les bases de la
prise. Comment remplir. C'est ainsi que ce
pilier extérieur, cette variable, chaque élément de cette
variable un par un, avec le membre du conseil d'administration
de la famille. Et avec toutes ces choses,
nous devons protéger. Le destructeur
n'est pas membre de. Donc, tout ce que tous
les membres de ce projet de loi vidéo sont d'
avoir la famille avec laquelle
nous devons vivre. Famille de la prise. Vous voulez Ben ? Que tous les détails
du temps de prise vous expliquent
dans la session de départ, veuillez le parcourir également, je me suis concentré sur ce
fer ADR et la partition. Dans la session précédente de la socket,
passez par là. Ensuite, ce numéro de port, que je vais
vous donner un numéro de sport, je l'ai simplement
défini à quatre fois huit pour que vous puissiez définir le
numéro à n'importe quel numéro de
rapport, pas de problème. Mais rappelez-vous que lorsque vous essayez de vous connecter à partir du client, vous devez vous connecter sur le même numéro
de port de la barre latérale, ce qui
vous donnera, si vous me donnez un numéro de port différent,
le site serveur. Et vous le souhaitez, et
vous voulez que le client se connecte pour donner le
même numéro de port, ce que vous donnez ici
côté serveur. Ce déclin peut alors décider ce qui peut alors
accepter la connexion. Il est lié à
ce numéro de port. C'est ainsi que nous lions le numéro de
port de la prise latérale et nous
donnons les détails de la poche de la famille de
liste pour moi. Il s'agit donc d'
autre chose que le programme. Il suffit d'imprimer le message écoute sur le numéro de port. Vous obtiendrez donc ce
message d'affichage sur la console des éléments soudains que nous avons
essayé de lancer leur cyber. Et puis, là, nous devons appeler la fonction d'
écoute. Cela signifie que la quantité de connexion
en attente peut être morte sur le socket divisé deux du client en fonction de la
connexion V1. C'est pourquoi nous donnons également à
ces auditeurs. Vous pouvez donc attribuer un nombre quelconque
de connexions en attente sur le client en
fonction de vos besoins. Ensuite, la prochaine chose que
nous faisons est que nous imprimons
simplement ce message sur la console en attente
de connexion. Le serveur est en attente
de connexion. Tous ces messages que nous verrons sur le site du serveur puisque ce programme est destiné
au site silver. Et ensuite, vous pouvez voir
ici que nous prenons une boucle qui est la boucle haute
et que nous le rendons vrai. Vous pouvez donc comprendre
si nous faisons une boucle et que cette boucle
continuera d'itérer, alors vous ne retournez pas
quelque part dans votre blog. Vous devez, pour
éviter la boucle infinie, vous devez revenir de
ce médecin en fonction de ce médecin en fonction vos besoins et
vous devez y retourner. Il faut mentionner qu'il
s'agit d'une boucle qui continuera de fonctionner
continuellement. Nous voyons donc ce que
nous faisons exactement. Vous pouvez donc voir ces
instructions qui nous sont données, c'
est-à-dire FDE soulignent à nouveau 0, VSCO a mis en place toutes
ces choses que je
vous ai expliquées lors de ma précédente session. Ces éléments sont supplémentaires et
vous utilisez la fonction de sélection. N'oubliez donc toujours pas que chaque fois que vous utilisez une fonction de sélection, vous êtes censé utiliser toutes ces
fonctions d'égalités et vous
devez initialiser toutes ces
choses de la même manière. Voici les détails vous
ai donnés lors de
la session précédente. Quel est le but
du soulignement 0 de la FDA ? Puisque nous
utilisons simplement la lecture f ds, nous voulons que le logiciel surveille le but de la
lecture de la carte. Donc, au départ, nous devons
toujours l'initialiser à 0. Et c'est pourquoi nous appelons
ce soulignement AVG 0. C'est donc ce que j'
ai déclaré et
que vous démarrez notre programme. Vous ne pouvez donc voir ici qu'
une seule personne que nous sommes. Donc, toutes ces choses
que nous aurons besoin et nous appelons la fonction de sélection. En Italie, nous
neutralisons simplement toutes les listes, liste de toutes les preuves à 0. Cela signifie que si vous
appelez cette fonction, décidez lequel est,
qui est le temps d'appeler ici et d'analyser
la prise de Moscou. Et quoi ? Cette fonction, cette fonction, si
vous appelez une réinitialisation, cela signifie que quel que soit le descripteur de
socket que
vous donnez ici
sera ajouté dans cette liste. Descripteur de prise. C'est donc le
problème particulier du descripteur de socket
individuel que l'on pose. Supposons donc que vous deviez surveiller
trois descripteurs de socket. Vous avez le but trois fois, les deux ont un trait de soulignement défini. Dans le premier argument, vous devez passer ce descripteur de
socket et vous devez ajouter
ce descripteur de socket. Vous devez ajouter dans cette liste
le descripteur de socket lu par la FDA car
vous souhaitez surveiller lisibilité de
ce descripteur
de socket. Et c'est pourquoi vous
passez ce qui a été dit À. Supposons donc que vous vouliez le descripteur de socket
surveille à des fins d'écriture. Et si vous avez
initialement ou déclaré FBS
droit, vous donnez au descripteur de socket argument
opposé
et vous pouvez donner comme un argument
opposé
et vous pouvez donner comme deuxième argument la bonne adresse
MVS ou écrire f ds. Mais puisque dans ce
programme, nous voulons ou devons surveiller le
descripteur de socket à des fins de lecture. Et donc, je l'ai donné, je dois ajouter cette
socket à cette liste du descripteur de socket afin
que
le socket du serveur puisse être surveillé à des fins de
lisibilité. C'est ce que j'
appelle cette fonction. Alors, ce que je fais. Vous pouvez voir ici Max, comme je vous l'ai déjà expliqué, que nous laissons
ce maximum en tant que SB. De cette façon, comme cela a été le cas au
début de ce programme. Quel est le but de cela ? Qu'est-ce que cette
vidéo cellulaire aura ? Il aura un maximum
de descripteurs de socket. Il a dit à partir de ce
descripteur de socket car nous avons
en fait sur moi un descripteur de
socket ici. Nous ne créons pas descripteur de socket
23
équitablement avoir de la poussière, masquer les prises ou n'importe quel descripteur de
prise de ligne . Donc, depuis
que nous l'avons eu, nous créons, jusqu'à présent, nous n'avons créé
qu'une seule socket et nous
retournons un ensemble de descripteur de socket Birmanie. Nous allons donc le mentionner. Nous allons initialiser
ce maximum en tant que David, valeur, c'est-à-dire une socket de
soulignement maître de variable
expurgée. Ensuite, nous imprimons simplement
le message ici pour obtenir cette prise principale que nous
aurons dépend de l'impression ou non. Ce for-loop que j'ai pris. Alors, quel est le but
de cette boucle for-loop ? Vous pouvez donc déjà voir ici
que c'est une boucle de temps. Donc, à l'intérieur de cette
boucle,
nous devons tout d'abord initialiser
toutes ces choses. Respect de cet acte de la FDA. Et puis c'est une boucle for-loop. Une fois encore. Dans cette boucle for-loop, ce que je fais
exactement après l'opération. Vous pouvez voir ici au
début de cette boucle sub y, j'ajoute simplement le serveur, une socket jusqu'à ce
que vous
ne compreniez qu'un seul descripteur de socket. Je n'ai pas ajouté au lit le jeu
descriptif
du lecteur à surveiller
à des fins d'audit. Mais je souhaite également ajouter une
liste des lignes au descripteur de
socket. Ensemble de descripteurs afin de
surveiller à des fins d'audit. Parce que si je suppose que quelque chose
soit transmis au client et que dans ce cas je
dois également surveiller, en fait, j'avais
voulu lire en fait à partir
du socket client. Je veux que le socket client soit
également surveillé s' il y a une activité en
cours et en cours d'arrêt. Jusqu'à présent, seul le socket
du serveur maître est surveillé à des fins de
lecture si
je dois tout ajouter et que les clients
agissent réellement sur Monica, toute action de lecture doit être effectuée avec le recul. Je peux également ajouter ces
sockets clients à ce taux de BSL afin que les choses soient
lues sur ce socket client. Ensuite, je peux le lire
en fait une fois que j'ai ajouté en utilisant le jeu vide. Donc, d'abord, si
vous souhaitez surveiller, vous devez également ajouter
le client, les sockets du client à
cette quantité. Vous pouvez donc voir ici
qu'il y a une raison pour laquelle j'ai pris cette boucle pour ici. Cette boucle for-loop est qu'
Isaac est égal à 0 Je moins que les
clients de soulignement maximum et ensuite,
plus les clients max, j'ai une valeur
codée en dur dix. Il s'agit d'un message d'affichage du bureau. Maintenant, vous pouvez voir uniquement
ce socket client. Comme je vous l'ai dit, il s'agit d'une
liste de cette zone utilisée pour maintenir la zone du descripteur de socket
client. Donc, au départ, nous avons initialisé tous les descripteurs du client à 0 parce que nous n'avons aucun client à un actif,
en fait un par un. Dès que le client est
connecté au serveur, chaque élément sera rempli. En fait, cet
élément de zone sera rempli avec ce
descripteur de socket sur le client. Par conséquent, au départ,
vous pouvez voir ici ,
je suis en récupérer la valeur de
tel ou tel socket client. Puisque lorsque I est égal à 0, la zone de prise de ligne de zéros
sera égale à G sera 0 elle-même. Parce que depuis toujours
aucun client n'est connecté. Et il aurait pu
vérifier cette condition. La condition est que si ce SDS de
socket est supérieur à 0, vous seul êtes
censé ajouter ce descripteur de socket client
dans les vidéos précédentes. Alors, quel est le sujet
de ces trois lignes d'enseignement ? Tout simplement, il s'agit de cela. Je vérifie juste
dans cette boucle for-loop si mon
client est connecté. Depuis que je vous l'ai dit. Si le client est connecté, dans ce cas, que se passera-t-il ? Nous allons essayer de remplir cette zone avec le
descripteur de socket du client. Supposons donc qu'un seul client
se connecte au serveur. Je vais donc obtenir le
descripteur de socket sur le client et je
vais remplir ce
Eddie, Eddie zéros, puis le deuxième client que j'ai essayé connecter au
serveur, puis d'obtenir le
descripteur de socket différent de le deuxième client à
chaque faute de frappe. En fait, puisque dans chaque allèle il n'y a aucun client connecté, vous vérifiez les conditions. Évidemment, c'est plus
connecté et fait écho cette SD ou 0 sera 0 lui-même. Et par conséquent, cette
condition ne
sera pas satisfaite dans leur code. Je n'ajouterai pas le descripteur de
socket, bien qu'il ait des mois de
déclin et x au serveur, alors seule une
ligne directe que nous pouvons ajouter à ce moniteur
VS2 de lecteur à des fins d'audit. Au départ, vous pouvez voir ici cette condition ne
sera pas satisfaite. De plus, c'est
une condition de plus. Autrement dit, si le SDS est
supérieur à max, vous ne saviez pas encore
avoir Max SD est ce qu'il est, cependant, descripteur de socket de
serveur. Je vérifie en fait si ce
11 est plus grand que ça. Il est donc évident que jusqu'à
présent, nous n'avons aucun record de montée et d'activité. Cette condition ne sera pas
non plus satisfaite. Mais cela ne sera pas satisfait. Donc nous ne le faisons pas, nous n'aurons pas
cette instruction exécutée. Le pouce IV de la boucle for-loop va
être mis en œuvre. Il deviendra un pour l'
application de la prise 1. Vous pouvez le voir, puisqu'il n'
y a pas de
sockets clients connectés, cette valeur
sera
donc à nouveau 0, et donc cette condition ne
sera pas satisfaite. Donc cela va simplement, cette itération se produira d' Isaac tandis que 0 je moins que. Ensuite, parce que nous avons initialisé le client
maximum à dix. Puisqu'à ce point de départ, comme aucun client n'est
connecté et le démarrage de ce
programme lui-même, PM initialisé tous les clients
bien que les descripteurs soient 0. Et donc, chaque fois ces deux choses
ne seront pas satisfaites. Par conséquent, non, aucun de ces descripteurs ocres ne
sera ajouté et des descripteurs seront ajoutés à l'ensemble descriptif puisque nous n'avons aucun
client connecté, par conséquent, leur zone élément n'
est pas installé en fait, nous n'avons pas de
descriptif de socket pour cette ligne. C'est donc au début, cela sera exécuté. Ainsi, chaque fois que la
boucle se déroule réellement, vous pouvez voir que c'est vital à
chaque fois que cette armée, chaque fois que cette boucle, encore une fois, elle sera exécutée.
22. Session13 du programme et d'exécution Sélectionnez MultiClientServerComm 2ndHalf Part1: Ensuite, la ligne d'
instruction suivante est sélectionnée. Il s'agit d'une instruction très importante,
bien que ce soit. Alors, que va-t-il se passer ? Maintenant ? Nous appelons la fonction
Select. Nous passons tous
ces arguments. Mais il y aura un
argument disposé. Ainsi, les détails sur la façon d'appeler la fonction de sélection et
les arguments à l'intérieur sont tous couverts lors de
la session précédente. il vous plaît, parcourez tout d'abord, comme je l'ai mentionné, vous devriez peut-être le
déclarer car le premier
argument aura maximum sur ce
jeu de descripteurs de
socket au-dessus du jeu de trois
descripteurs plus un, ce côté descriptif,
côté huit MDS, non ? Oui. Et exception. Et il a dit, alors lequel d'entre eux a la valeur
la plus élevée plus un ? Puisque Max a DV. Désormais, il n'y a qu'un seul
descripteur de socket. Donc sa valeur, quel que soit le
descripteur de socket du serveur maître, qui disparaîtra après avoir appelé la fonction socket à la valeur
plus un, ce serait mauvais. Nous devons demander cela dans le cas
du système d'exploitation Linux que tout ce que je vous
ai également décrit. Dans le cas du système
d'exploitation Windows et que vous appelez la fonction de
sélection. Cela n'est pas donné en fait, je vous ai également expliqué pourquoi. Parce que ce paramètre
est inclus dans l'école dit Donc
toutes les choses sont couvertes et ne
donnent pas de session. S'il vous plaît, passez par là Ensuite. Vous pouvez voir ici
le deuxième argument, nous le transmettons en tant qu'opérateur d'
adresse VSO. Nous savons jusqu'à présent que nous
ajoutons simplement à l'industrie des
descripteurs de socket Yvonne leurs idées et c'est sur un descripteur de
socket de serveur, mais aucun des descripteurs de
socket client que nous ajoutons
actuellement à cette étape, voir
plus tard
en fait dès que le programme sera exécuté, dès que nous avons essayé de lancer scénario de
date limite d'
échange,
nous sauvegarderons le client sur le socket client descripteur
me mène sur cette vidéo. Pour l'instant, comme aucun client n'est
connecté ou non, il n'est pas question d'ajouter
le M&M plus tard. Sur, le seul socket
qui est le descripteur de
socket de serveur est
ajouté dans cette vidéo. Et cette valeur, quel est
cet argument ? Nous savons qu'il s'agit là d'
un. Il s'agit d'un ensemble vide. C'est à des fins d'écriture. C'est le but de l'exception, et il s'agit d'une valeur de délai d'attente. Tout s'est donc passé
lors de la session précédente. ce que nous
ne passons pas pour le bureau d'écriture car pour l'instant nous ne
voulons pas surveiller l'écriture. Si vous voulez de l'action, vous pouvez également la modifier dans votre, vous savez, comme je l'ai dit, vous pouvez ajouter un quart, n'est-ce pas ? Et relâchez et n'importe quoi. Socrate, si vous le
souhaitez, vous pouvez l'ajouter. Vous savez comment modifier. J'ai expliqué que vous avez entendu cela. Vous pouvez modifier votre code en fonction des
besoins de mon dossier. Je veux surveiller les
audits et, par conséquent, je ne suis pas en train d'analyser cela. Je passe pour écrire IS null et la pensée est humaine. Et ce quatrième argument
est une exception. Je fais avec eux pour
surveiller les exceptions si je le transmets
car le dernier argument
est la valeur du délai d'attente. Je vais également expliquer nouveaux détails en fait
quelle valeur de délai d'attente, s'il s'agit d'une valeur non nulle, cela signifie
que beaucoup de temps qu'il surveillera
qui
la perçoit réellement hors de la prise descripteurs
et ce besoin de VS est déjà lu en public. Donc, puisque le lieu donne
la valeur est nulle, cela signifie
que vous l'êtes, vous devez le faire. Cette fonction de sélection
restera en attente. En fait, mettez une
activité sur la socket principale. Il ne retournera aucun DWT, aucune détection sur
ce socket maître. Cela dépend valeur
que vous accordez
au délai d'attente. Toutes les dynamiques vous expliquent donc
lors d'une session précédente. Donc, si vous donnez une valeur non nulle pour donner un
temps précis comme dix secondes, 30 secondes avant la
prochaine fois, il enregistrera réellement et l'activité
aura un code sur le trottoir. Et si ce n'est pas le cas, alors il
reviendra quoi ? Et si nous n'avions pas le temps, si une activité s'y oppose, elle
retournera le descripteur de socket d'
index. Et vous pouvez effectuer l'
opération d'élevage. Désolé, cela signifie que
vous avez le contrôle sur
la fonction de sélection en
fonction de cette valeur du délai d'attente, cela contrôlera
le temps de sans-abri. Vous souhaitez utiliser votre outil de sélection. C'est contrôlable, donc c'est la raison pour laquelle
c'est en une journée. Parallèlement, vous pouvez également traiter
avec d'autres tâches. Donc, il ne gardera pas votre fonction d'origine
bloquée pendant longtemps, poly-time, vous aviez mentionné que
beaucoup de temps il sera blogué
car ce sera faux. Moyen avec traitement en cours de
tâche après ce délai d'expiration. Ensuite, il s'agit
d'un message de ligne de plus qui
augmentera considérablement jusqu'à la sélection. Cela ne fait que
vous expliquer le sol. Et il voit évidemment
ici comment se déroule le flux. Maintenant, nous vérifions avec l'additif que certains
désélectionnent, il reviendra. s'agit d'un retour, en fait,
il retournera une certaine valeur, donc nous le vérifions en fait. Si c'est moins de 0, c'est génial. De cette manière,
nous imprimons l'erreur. Nous vérifions que
certains métaux
se sont produits en appelant
la fonction de sélection. Toujours. Depuis l'achat. Maintenant, à ce stade. Et n'ayant qu'un seul
côté d'une socket, nous surveillons cela si une action est effectuée
sur le socket du serveur. Vous pouvez donc comprendre quelle
action peut être effectuée sur le socket de la
barre latérale de Besley. Jusqu'à présent, ce que nous avons
fait, ce que nous avons acheté, nous obtenons ce que nous
avons fait dans Selon
nous, nous sommes simplement contraignants. Nous avons fini de relier le socket de la barre latérale
au numéro de port et
nous avons fini de les enchérir. Il est en train d'écouter. Et une fois cela,
l'activité qui peut se produire sur cette
activité de socket de serveur peut se produire comme si nous essayons de
connaître la date limite de lancement. Donc évidemment que neuf le feront, si j'essaie de me connecter à la barre latérale et que le
serviteur devra l'accepter. C'est donc l'activité qui accepte la
connexion du client. C'est une activité
que le mécanicien ocre sur le côté de l'orquille. Donc, dans ce cas, le socket de
serveur obtenu deviendra actif car le client
enverra une action à trier
latéralement. Dans ce cas, la barre latérale
devient active. Et comme vous ne
surveillez pas déjà votre serveur
à des fins de lecture, Deco, vous
devez vérifier ces options. Cette option est requise via elle. J'ai également expliqué que vous
pouvez voir ce bloc que j'
ai fait après la fonction de
sélection. Nous avons des instructions de configuration intéressantes pour vérifier que l'un ou l'autre des
descripteurs de football a été
défini dans votre
jeu de descripteurs. Ça veut dire quoi ? Puisque
la fonction de sélection retournera, elle retournera
en fait
avec ce numéro en haut. Et cela pourrait avoir quelque chose de
descripteur avec l'ID pour l'opération fonctionne le mieux lorsque vous devez
continuer à cocher réellement, ce qui est que le
descripteur de socket est prêt. Rappelez-vous donc que cette
lecture f ds sera modifiée en fait après
la fonction de sélection. Donc depuis, depuis maintenant,
vous passez simplement en ajoutant un
seul socket
va laisser en effet fonction de sélection de menu
évidente. Cela sera modifié en fonction de la valeur des descripteurs de
football. Retour. Oui. Ce bloc
n'est donc là dans l'enseignement que jusqu'à ce point
pourquoi cela est nécessaire. Ce bloc, que je
viens de mettre en évidence ici, dit simplement
qu'après l'appel de la fonction
de sélection, évidemment quand il revient à
voir que le descripteur mort
est défini dans votre taux de leçons Je vous ai dit que l'état
de VS sera modifié après avoir appelé la fonction de sélection initialement ce que ce
taux de VSS a,
ayant la liste des deux
descripteurs de socket avec vous. Vous voulez qu'ils soient surveillés. Dans le cas de la FDA de lecture, vous ajoutez également tous ceux dans
votre créativité. Une fois que cette fonction de sélection
a été appelée exécutée, elle retournera à droite ? Après son retour, il
sera modifié. Cela aura avec
cela sur la liste des descripteurs prêts
pour cette fonctionnalité. Il n'aura pas le descripteur de socket le
plus ancien. Seuls les descripteurs de
socket sont prêts pour réaliser le but de lecture dans le cas
de cet ensemble descriptif. Et donc vous devez
perdre cette chose surlignée, ces instructions
afin de vérifier réellement le descripteur de marche ou de socket
car on vous donne la vérification
WSUP un par un. Mais l'un ou l'autre des descripteurs de socket est présent dans ce lecteur de ds. S'il est présent dans cette vidéo, signifie
que le
descripteur de socket est mort. Socket est prêt à être
lu car les quantités du module
sélectionnées
seront modifiées. retour d'invalidité
aura la valeur de ces seuls sockets un objectif de coordination retardé et
prêt à l'emploi. S'il dispose d'un descripteur de
socket, que vous surveillez pour une lecture
répétée et que seulement
deux d'entre eux sont prêts. La
fonction de sélection est donc appelée. Seules deux des
prises seront ajoutées. Lisez les FDA et vous ne savez pas. Vous devez vérifier un par un. Tous les dix en fait, si vous voulez vérifier
lequel d'entre eux est présent dans votre jeu de descripteurs. Et évidemment deux d'entre eux sont
cette condition car dans notre cas
en bas, il s'agit maintenant de la surveillance
IVR uniquement du socket du serveur
maître. Et donc je suis simplement, je pense que le code pour prendre de
nombreux semestres, etc. descripteur de l'
orquille à son socket maître est présent en 3D de ds. Si elle est présente,
cela signifie que cette prise est prête
à être évaluée. Cette condition
sera satisfaite. C'est le but principal de l'utilisation du
soulignement de la FDA est dit, Vous êtes censé utiliser après l'appel de la
fonction de sélection. Et donc dans cette cellule, si cela est satisfait, il est satisfait. Cela signifie que j'appellerai la fonction de
sortie que je vous ai dit attribuer la connexion au serveur sur le même numéro de port et ceux qui ont besoin d'
accepter cette connexion. J'ai mis. J'appelle cette fonction
d'extrait. Et puis cinq, voyant que le maître Socrate
veut qu'il s'agisse d'un socket de serveur c'
est que nous analysons
les détails de l'adresse en personne
et toutes ces choses. Mais je veux dire que c'
est le cas, s'il revient, il retournera le descripteur
de
socket de la ligne de livre, qui
se connecte. Nous avons eu cette étape. Cette condition est satisfaite. Cela signifie qu'à ce
stade, il y a une ligne qui est lancée. Donc, jusqu'à présent, nous n'en avions pas. Mais une fois que nous avons essayé de
lancer Dark Line, client essaie de se
connecter au solveur dans le lit est après cette sélection.
La fonction Select. Vous savez, il attendra
réellement dans notre cas, il attendra nuit
indifférente jusqu'à ce qu'il obtienne une
connexion du client. Vous pouvez voir ici, j'imprime ceci avant sélectionner lorsque vous
lancez le serveur. Et vous pouvez voir ici,
vous recevrez le message avant de sélectionner ce point. Ce serveur
attend en fait, puisqu'il l'a mentionné ici. C'est cela, toutes ces choses ne
seraient pas satisfaites en fait, que l'on ne ment pas parce que
cette condition n'est que lorsque le client
essaie de se connecter au serveur
et qu'il y a une activité. Le lac je descends
la connexion, alors nous ne sommes que nous. Cette condition ne serait
pas satisfaite si c'était la chose. Donc, vous pouvez certainement voir ici, une fois que j'ai essayé de lancer
le serveur sur New, vous pouvez voir la
sélection locale par défaut. Vous ne verrez pas le journal de cette sélection car un soudain
qui attend réellement, parce que vous n'avez pas donné ici. Une fois que nous lançons Dark Line, il essaiera de se connecter avec
le solvant et vous
recevrez tout ce message
sera imprimé. Et vous recevrez également
ce message
à cette nouvelle connexion. En fait, cela signifie que l'application a obtenu un accès à la
même nouvelle connexion. Cette vidéo permettra à
un seul client de se connecter. De toute évidence, lorsque le client
se connecte
, le serveur envoie le
message. Quel est ce client ? Il s'agit donc du descripteur de socket ou du client qui
a été connecté. Puisque cette
fonction d'extrait le renverra, retournez le
descripteur de socket de ligne sombre du
côté serveur que nous envoyons. Vous devez écrire sur cette
prise un message, comme je vous l'ai dit, quel est le
but de ce programme ? Ce que nous allons faire, nous allons
essayer de lancer le serveur puis de lire l'écriture pour nous connecter sur le même numéro
de port à partir de la vue simple. Alors, il le fera. Cela
apparaîtra tout ce qui se trouve sur faible déplacement IV
se trouvera côté serveur. Vous recevrez ce message, une
nouvelle connexion sur tous. Le serveur enverra un message au client de cette manière. Ce message, ce qu'il y a là. Maintenant, l'utilisation de
ce message arrive. Comme j'ai déjà enregistré
ce message à cette valeur, vous pouvez voir ici, il s'agit
d'un message pointeur de chat. Et je reçois ce message est un message d'
accusé de réception
envoyé par le serveur. Nous envoyons donc ici
le message côté client de cette
manière, le socket client. Et il s'agit simplement d'afficher le
message côté serveur, le message d'
accusé de réception est envoyé
avec succès de leur part. Plusieurs. Maintenant, c'est une
boucle de plus qu' une boucle, cette
condition elle-même. Donc toutes ces choses
où je le mentionne en
fait quand je lis ces instructions telles que
données dans cette condition, c'est la condition et
vous devez maîtriser la prise, c'
est-à-dire les vendeurs, notre Socrate obtenir la
connexion du client. Cela signifie que le client
est présent. Maintenant, évidemment, ce que
vous faites, vous essayez de
quitter la
connexion du côté serveur. Et encore une chose que vous êtes censé faire, vous
pouvez juste deviner. La plus grande chose qui est
nécessaire est encore maintenant. Vous pouvez voir dans notre programme
ce que nous avons fait. Nous avons dans la baie pour le descripteur de socket
client,
initialement, il est
initialisé
à 0 car il
n'y a pas d'application connectée. Mais maintenant, à ce stade, si cette condition est remplie, cela signifie qu'il accepte la connexion à nouveau, il
peut accepter la connexion. Et il y a une demande
client pour se
connecter au serveur, puis le serveur peut
accepter cette connexion. Cela signifie qu'un client
a été lancé. Maintenant, quel est notre rôle, ce que nous sommes censés faire, nous sommes censés
ajouter ce client dans
le
jeu de descripteurs à des fins de lecture. Ce père dans le filtre se passe
quelque chose sur
ce socket client. Pour la lecture, nous pouvons simplement surveiller réellement et effectuer l'action. Donc, cette logique est requise ici, vous pouvez voir cette boucle et vous pouvez voir que je prends une boucle
à partir de 0,
je suis inférieur à la
ligne de soulignement maximum I plus, plus. Je suis en train de vérifier cet
état. En fait. Pourquoi cette condition est vérifiée, car vous pouvez voir initialement toute la zone et les humains de ce socket client sont
initialisés à 0, je suppose. Nous savons donc au départ qu'
aucun d'entre eux n'est lancé. Maintenant, à ce stade, le déclin de 0,1 a été lancé et
un seul client est connecté. Par conséquent, il vous suffit de remplir le descripteur
de socket de la seule ligne. Vous allez le remplir en
tant que membre zéro de cette zone du socket client. Il s'agit de la liste
du descripteur à neuf sockets. Ainsi, seul le 0ème élément
de ce tableau, ce
descripteur de socket client sera rempli avec le fournisseur et le
descripteur de socket que vous avez achetés. L'intérieur
accepterait la connexion. Pourquoi cette condition est-elle nécessaire, par exemple, pour l'instant, puisque ce que nous
faisons chaque fois le client est
connecté au serveur, nous l'ajoutons sur le socket de ce
client prise ici. Et donc, dans
ce cas, avons déjà ajouté
depuis la première fois. Il est ici. Et la deuxième fois, encore une fois, la connexion se déclenche. Un autre client tente de
se connecter au serveur. Ce qui se passera,
évidemment, le 0e élément de ce tableau sera différent de
zéro car
vous êtes déjà en train de remplir
et de coucher lui-même, le
descripteur de socket client dans ce paramètre. Par conséquent, cette condition
ne peut pas être satisfaite en fait, et avant que je ne
devienne un, encore manuel de
votre socket client
vérifie s'il est 078 sera 0. Pour dire simplement ce
socket client, je ne serai 0 que lorsque votre chèque commencera réellement
qu'il essaiera d'ajouter. J'espère donc que vous comprenez réellement
ce que nous essayons de faire. Donc, un par un à chaque
fois, nous allons essayer remplir ce tableau en
vérifiant simplement s'il est 0. En fait, cela signifie
que nous avons ce descripteur de socket client
à cette position elle-même. S'il a
déjà une certaine valeur, cela signifie
que notre descripteur de
socket est déjà ajouté
à cette position. Nous allons incrémenter
I d'un en fait, et nous avons une
autre position biotechnologique que cette valeur
soit 0 ou non, c'est casser Maya appliqué à nouveau, nous n'avons pas besoin de prendre
réellement parce que nous est arrivé au point
où nous devons construire ce socket est le
descripteur de socket client dans la baie, et donc nous
devons sortir. Et ce point.
23. Session13 du programme et d'exécution Sélectionnez MultiClientServerComm 2ndHalf Part2: Maintenant, la prochaine instruction
sera exécutée en fait parce que toutes ces
instructions qui sont présentes dans votre temps, vraies, vraies,
que nous avons données. Ici. Il s'agit d'un bloc entier du
code actuellement présent. Par conséquent, les prochaines instructions qui seront là sont en
fait en dehors de cela. Donc, chaque ensemble. Maintenant, cet ensemble de FD, nous avons vu
ce qui était présent. En fait, ce que nous
sommes censés faire, j'arrête tout ce que vous avez à
accepter
la connexion du client et du
socket client que
nous obtenons, nous devons simplement ajouter
Eddie sur ce socket client. fait
cette activité que nous devons faire. Et nous envoyons également
le message plus longtemps pour décliner ces
choses que nous faisons action extraire à l'
extérieur cette condition si. C'est encore une boucle for-loop. En fait, je ne savais pas. C'est en général le
Khonsu, ce que nous faisons. Cette boucle for est
simplement utilisée pour vérifier,
en fait, lire qu' il y a des opérations en ligne. Vous savez maintenant que
votre client a été lancé, il est
connecté au serveur. Vous pouvez maintenant ajouter réellement
votre client sur le jeu de descripteurs à
des fins de lecture. De plus, vous pouvez
simplement vérifier réellement
la même chose que celle que
vous vérifiez pour
le côté Savoir, c'
est-à-dire qu'un v est égal à défini
après la fonction de sélection. C'est la même chose que
vous pouvez vérifier réellement pod Aussi le
socket client en fait. Maintenant, cette boucle for-loop
est juste utilisée pour vérifier celle qui,
en fait, s'il y a activité, une opération d'
entrée-sortie est en cours, s'il y a des opérations d'E/S cours sur les sockets
clients. Pour l'instant, nous n'avons
qu'un seul socket client, mais maintenant nous ne le sommes pas,
nous n'avons toujours pas ajouté
ce socket client dans leur ensemble de descripteurs de lecture, donc nous
ne pouvons pas
le surveiller, n'est-ce pas ? Donc, cette chose
dépense Olivia pour ajouter
ce socket client également dans le MDS , voir même la
tête que nous devons ajouter. Rappelez-vous simplement que
cette boucle for-loop est utilisée en fait cette
boucle for est juste utilisée. On peut voir ici, j'ai
pris que je suis égal à 0, je suis moins que maximum de clients, ou maintenant nous
avons dix clients. En fait, ça fait de lui un mécanicien. Les lignes peuvent être là.
C'est que maintenant ce socket client de zéros
en Italie I est égal à 0. Appliquer socket dans ce cours, OK, et z à ce qu'il est. Mais seulement là où vous pouvez voir la date limite de
connexion au serveur. Nous ajoutons le remplissage de ce
descripteur de socket de ce client dans le 0e élément de
la barrière du
restaurant de socket client et socket hors ligne
humaine est 0. Et par conséquent, vous pouvez voir votre socket
de soulignement client de l'indice 0 vous
donnera cependant. Bon descripteur du
premier client qui lecteur, ce qui est authentique a
fait en fait au solveur. Et par conséquent, vous demandez au SD de faire une certaine valeur. Et donc, dans ce
cas, c'est ce que, quand tout va dans
le menu ou essaie de
lancer la ligne, pas lorsque vous
lancez ce soir uniquement le serveur lorsque répondu au lancement du client et connectez-vous au même pôle, alors seules toutes ces
choses se produiront, le n Ensuite, nous
vérifions également en fait , c'
est-à-dire si le client est connecté au
socket et que ce SDK aura
valeur, elle ne sera pas égale à 0. Dans ce cas, en fait, nous ne faisons que vérifier
l'état. Et D est dit ce qu'il est
décrit socket réellement descriptif s'il est résident
dans cette lecture chaque année. Ainsi, lorsque cette fonction l'
appelle en contrôle neutre
après la sélection seulement, nous pouvons utiliser cette fonction
chez un soviétique et vérifier si le socket client
est présent dans cette ville, l'effort MDS n'est pas présent. Cela signifie que ce descripteur de
socket est prêt à être lu. S'il est présent, cela signifie qu'
il y a une activité sur ce socket client des fins de lecture
et que nous devons
effectuer l'action,
nous devons la lire. C'est ce que, au
départ, rien ne sera satisfait à cette condition
parce que tout d'abord, nous n'ajoutons pas réellement, nous ne l'avons pas encore ajouté comme
d En fait dans
cette vidéo pour surveiller que nous puissions vérifier après
la fonction de sélection. Cela ne sera donc pas exécuté. Donc, même si cette boucle for est
exécutée jusqu'à ce stade, puisque au départ votre
socket client a une certaine valeur, ce message sera imprimé par cette condition ne sera pas satisfait car nous ne le
sommes pas en ajoutant ceci. Nous n'ajoutons pas que le socket soit le descripteur de socket client. En effet, celle de la FDA, cette condition ne
sera pas satisfaite. Encore une fois, que va-t-il se passer ? Quelle condition s'agit-il nœud conditionnel
complet complet avec cette condition
complète si la condition ne
sera pas satisfaite. Que se passera-t-il alors ? Encore une fois, la boucle for-loop
sera incrémentée d'un. Encore une fois, nous allons vérifier cette condition si elle est
inférieure à mon client, puis encore une fois le socket client d'un comme d. Donc maintenant que d
sera 0 car nous n'avons que le 0e
élément de ce tableau à avoir le premier descripteur de
socket du client de
cours, mais le socket client de mn n'est en fait rien qu'
un seul client a été connecté. En fait, ce
sera 0 acté cette for-boucle en fait elle
ira jusqu'à dix fois parce que cette valeur que
vous avez donnée comme dix, cela va itérer dix fois. Pouvez-vous également appliquer une pause ? Si cette valeur
est réellement égale à 0, vous pouvez simplement appliquer une pause. Vous pouvez
également ajouter ce code afin d'éviter une
itération inutile de la boucle for. Alors, que va-t-il se passer ? En fait, une fois que cette boucle a été complètement itérée
, le contrôle
ira à nouveau sur
la première ligne cette boucle while car
vous avez donné la valeur true. Par conséquent, il continuera itérer jusqu'à ce qu'un
analyste que vous ne reveniez pas. Encore une fois, le contrôle
va ici. Encore une fois, que va-t-il se passer ? Souvenez-vous toujours d'une chose. Par cette chose. Cette chose est que j'ai
donné le début de la boucle while parce que
vous devez toujours initialiser votre éditeur
ou lire un VS avec valeur
0 parce que vous savez qu'
après la fonction select, ce dy dt ds est modifié avec les descripteurs
prêts pour la lecture ou le sens. Il est plus ou modifié après l'appel de
la fonction de sélection. Par conséquent, chaque fois ce contrôle arrive
au début de cette boucle while et
vous devez à nouveau vérifier la même chose. Vous devez toujours l'effacer
réellement pour ne pas obtenir la valeur de
la valeur antérieure. Par conséquent, votre 12 est réglé sur
0 au point
de départ de cette boucle while, puis vous réglez. Alors, que va-t-il se passer ? Encore une fois, cette
prise de maître de l'âme est déjà là. Cela sera à la vitesse de B étant donné
que vous êtes en train de dégager . Encore une fois, vous ajoutez ce genre d'orquille à ce VD parce que vous l'
êtes, vous l'avez effacé. Et alors ce maximum est
D sera la tache. Que va-t-il se passer maintenant ? Voyons comment les
choses vont se passer. Nous considérons que
même si nous connectons un client se connecte au serveur sur le
même numéro de port. Nous
envisageons donc d'avoir un seul client. Maintenant, si vous considérez cela dans ce cas,
que se passera-t-il ? Encore une fois, cette boucle for
sera exécutée. Donc, vous pouvez voir que les
instructions ligne par ligne sont exécutées. Quelle est donc la prochaine instruction ? C'est une itération for-loop
est égale à 0 jusqu'à ce que I
moins de dix soit égal à 0, donc socket client ou 0. Quoi ? Nous savons qu'étant donné qu' un client est déjà
connecté,
nous sommes donc en mesure de
trier le 0e élément
du socket client avec le descripteur
de socket du premier client. Par conséquent, cela
renvoie une valeur non nulle. Cela aura une
valeur positive, elle ne sera pas égale à 0. Et donc cette
condition qui est supérieure à 0 ans, cette condition
serait satisfaite. Et yard est le point
où vous ajoutez votre socket client dans le
disque rouge, lisez la section descriptive sec. Très bien, je l'espère. La logique, en fait, il
n'y avait pas de client, je
vous ai dit qu'au départ,
nous sommes en train d'initialiser sur le descripteur de socket
client à 0. En fait, nous l'avons vu dans Verdi, mais ce point de dette lorsque
nous avions exécuté cette instruction, nous
l'aurions vu puisque tous les éléments du tableau sont 0, et donc cela ne
sera pas satisfait. Nous l'avons vu, mais
depuis que nous considérons qu'un
client est connecté. Par conséquent, lorsque cette
instruction est exécutée, le 0e élément du tableau comporte le descripteur
du premier client. Et par conséquent, ce
sera une valeur non nulle. Par conséquent, cela signifie
que vous avez un seul client
que vous êtes censé ajouter
le jeu de descripteurs et que vous appelez donc. Et nous avons dit, et
cet ensemble de descripteurs, ce descripteur qui est le descripteur de socket
client, c'est-à-dire SD
que vous ajoutez
dans cette liste de pistes. Maintenant, qu'est-ce que vous avez en effet la posture de la
FDA alors que
vous avez ce genre de prise qui
est maître et son cosocket. Et vous avez également
votre client que vous
considérez être connecté, donc vous avez
ce descripteur
de socket de ce client dans cette lecture de Deus aux descripteurs de terme de socket vous ont maintenant ce que
vous faites ici, vous vérifiez si socket de
dette en tant que D est
supérieur au maximum en tant que seul. Au départ, votre maximum en tant que d était
le socket principal de soulignement. Maintenant, vous
vérifiez que le SDI, c'est le
descripteur de socket du client. Supposons que vous obteniez que
le descripteur de
socket du client soit supérieur à la masse par descripteur de socket, alors vous vérifiez
ce fonds chacun. Et en fait, s'il est
supérieur à ce trait de soulignement maximum Stephen sera modifié
avec cette valeur descriptive. C'est donc ce que vous faites. Guérissez. Encore une fois, quand je suis
incrémenté, je deviens un. Par conséquent, vous allez
vérifier cette condition si elle est inférieure à celle du
Mexique et il l'est, alors vous verrez ici cet indice de socket
client. Ce qu'il retournera
évidemment maintenant, nous considérons qu'un seul
client est connecté. Par conséquent, cet indice de
socket client
aura la valeur 0 et les autres éléments de
zone
auront la valeur 0 car
un seul client est connecté. Par conséquent, seul le 0e élément
de ce tableau comporte le descripteur saccadique de la première ligne et les autres éléments
du tableau
ont des zéros, donc ce sera 0 et aucun
d'entre eux ne sera satisfait. Donc, de cette manière, cette boucle se poursuivra jusqu'aux contours de
soulignement maximum et cette condition
ne satisfera pas d' un à un
client maximum de soulignement sur le, il sera satisfait initialement
qu'est Isaac égal à 0, puis ajouter cette affaire uniquement
au tribunal satisfait plus tard lors de l'itération
de la boucle for. Elle ne sera pas satisfaite une fois cette itération de boucle
terminée. Et qu'est-ce qui est mauvais ? Tout simplement un message d'affichage
repose réellement la sélection. Nous appelons maintenant la fonction de
sélection ici. Maintenant, dans cette
fonction de sélection de l'appel j'envie,
en fait, nous
passons cette valeur. Cette valeur est modifiée
max comprise comme t ici. Ensuite, cela conduit à DSO VR, file de la FDA dit avoir
acheté maintenant au descripteur, c'
est-à-dire un, le socket serveur, les lignes
descriptives, les
hyper sockets. Il y a donc deux descripteurs
dans cet acte de DSB veulent les surveiller tous
les deux à des fins de lecture. Et cette valeur est null, null et cette dernière valeur null. C'est-à-dire que vous devez continuer
à attendre que vous obteniez n'importe quelle
socket de descripteur pour être prête. Il faut donc attendre et attendre. Par conséquent, vous
recevez cette valeur nulle. Vous contrôlez encore une fois, en fonction de la valeur que vous donnez ici, elle
peut être contrôlée. Par conséquent, ici, il va
continuer à attendre. Supposons donc qu'il
y ait une activité sur ce socket client que
vous n'étiez pas réellement, dans ce cas, elle sélectionnera, retournera réellement être
ce jeu de descripteurs. Cet exemple que j'ai choisi car supposons que j'
écris quelques yeux, j'ai un message
sur la console de ligne. Ça veut dire quelque chose que j' écris sur cette prise
de ligne, n'est-ce pas ? Et ce serait, ce message devrait être lu
en fait, par conséquent, puisque nous surveillons
notre programme à des fins de lecture,
par conséquent, j'
écris quelque chose sur
le client pour par conséquent, j'
écris quelque chose sur que
on peut le lire.
24. Session13 du programme et d'exécution Sélectionnez MultiClientServerComm 3rdHalf: Il y a donc
quelque chose à lire sur le socket client jusqu'à présent que nous ayons
vu cette seule cellule. Qu'est-ce que c'est un client ? Y a-t-il une connexion
acceptée, message a été
envoyé du serveur à l'autre. La prochaine chose que
nous allons faire, nous allons essayer d'écrire
quelque chose sur le client. Une fois que nous avons écrit quelque chose
sur le client, cela signifie
que certaines activités de
lecture doivent être effectuées parce que
nous écrivons sur la socket pour le client
et certaines données sur cette prise de ligne, ce qui
est supposé pour être lu. Et par conséquent, dans ce cas, la fonction de
sélection retournera
réellement avec quelque chose. Ensuite, nous écrivons quelque chose
sur le client, puis il reviendra réellement. Et puis nous devons vérifier à nouveau l'état
où la ligne, vous devez vérifier chacune
de leur incidence ici il y a deux descripteurs. C'est un pour le serveur,
un autre pour le climat. Percevoir certaines activités
effectuées sur le site serveur. Visitez cette condition est vérifiée. Pour l'instant, lorsque nous écrivons le
message sur cette ligne, aucune activité n'est
effectuée sur le maître, donc cette condition ne
sera pas satisfaite. Que se passera-t-il alors ? For-Loop est en dehors
de l'état de la pointe. Par conséquent, cette condition
sera vérifiée. Bactéries, cette condition je vous ai
dit que c'est Doumani, c'est pour le
fonctionnement d'E/S d'entrée côté client. Ici, je suis égal à 0. Et encore une fois, le
socket client de 0 sera, vous savez, qu'il s'agit
déjà d'un client connecté. Par conséquent, cela
renvoie une valeur non nulle. Par conséquent, encore une fois,
vous vérifiez ce 0ème élément
de ce tableau
aura le premier descripteur du
client Postal est réellement. Donc, puisque j'écris quelque chose, supposons que j'écris un
message sur le climat, que je
vois comment
réaliser réellement un côté
et sécuriser le programme. Vous expliquerez, vous le
comprendrez mieux. Cela vous dira bien compris
ce que nous faisons. Nous sommes de ce côté, où est leur client, leurs serveurs envoient-ils
un message à cette ligne ? Et supposons que nous écrivions que la console
client soit bonjour. Donc, bonjour est la réalité virtuelle. Nous écrivons sur
le socket client. Par conséquent, nous supposons qu'
il y ait des données sur le socket client et que
nous sommes censés les lire. Et ils sont mis dans cette
affaire. Encore une fois, nous vérifions. Nous avons vu que la
fonction de sélection est appelée et voir si des
activités et oui, des activités effectuées en fait,
il y a des données disponibles sur le socket client qui
sont censées être lues. pourquoi cette
condition est Wilczek. V est égal à dit, c'
est le socket de déclin, qu'il
soit présent
dans ce leader VS. Je vous ai dit qu'après la fonction de
sélection, elle sera modifiée. Depuis que nous avons ajouté l'appel de la fonction de
sélection qui se trouve ici, nous appelons la fonction de
sélection. Et comme j'ai écrit
quelque chose sur le client, il y avait un jeu de données
censé être lu sur la console, et donc cela
sera modifié pour ce leader VS aura le descripteur de
socket ou en fait, le client n'aura
pas descripteur de socket du
maître car nous ne
faisons rien sur le handicap de
l'officier maître modifié sur l'octuor. Sélectionnez les retours dans chaque allèle. Il s'agit de disposer de deux
descripteurs d'un côté, d'
écrire le message, un côté, écrire le message un côté pour écrire n'importe quoi
sur le socket client. Cela aura sur la ligne des
descripteurs, et non sur un trottoir. Et donc, la raison pour laquelle cela ne
sera pas satisfait en fait, c'est celle-ci dans ce descripteur de
socket de serveurs. Notez ensuite que nous n'y
sommes pas parce que nous effectuons
l'activité sur l'activité de lecture du client que
nous devons faire sur le client. Et cette planche ici. Puisque cette valeur n'est pas nulle
et oui, j'ai fini. J'ai écrit un message sur le socket client qui
est censé être lu. Par conséquent, la
vitesse de VS
n' a que le descripteur
de socket de ce client, et donc ce MV
est égal à défini, oui. Et maintenant, ce que nous sommes
censés faire, j'imprime simplement
un message qui sera affiché sur
la console et je suis censé le lire dans le descripteur
de socket du client, et je le lirai
et ce sera le cas, je collecterai
tout ce que j'ai lu à partir de ce descripteur de socket du client que je collectionne
sur ce tampon. Il s'agit de l'utilisation du tampon. Je vous l'ai dit, j'ai
déclaré que ce tampon un EDI en fait
hors caractères. Vous pouvez le voir ici. C'est mis en mémoire tampon, ce message, tout ce que j'écris
sur le socket client que je voulais
lire en fait que je le recueille
dans le tampon. En fait, la vérification des erreurs. C'est ce que la vérification des erreurs. Si une modification survient
lors de la lecture cette condition
sera satisfaite. Ce bloc sera exécuté. Mais si la lecture
est couronnée de succès, ces éds seront
exécutés et partiront. Et c'est depuis
ce que j'ai dit que
peu importe ce que j'écris
sur le socket client, nous verrons comment
je vais le voler. Après avoir expliqué
ces instructions, nous lancerons le programme, vous
comprendrez ce que nous faisons. Supposons donc que je tape n'importe quel
message sur le socket client, nous sommes censés le lire. C'est pourquoi cette lecture est faite. Encore une fois, j'ai tiré car nous allons faire passer le même
message dans l'avion. Donc, si j'ai raté bonjour,
c'est en déclin. douille. Ensuite, à
la prochaine ligne, je vais recevoir bonjour seulement parce que j'acquitte la même chose. Alors, comment je vais obtenir le bonjour à la prochaine ligne par ce truc. Comme condition, j'ai de nouveau
envoyé le même message, le message qui sont des images
collectées dans le tampon. En fait, vous pouvez voir que j'appelle à nouveau
la deuxième fonction. J'appelle la
même fonction et passe le
descripteur de socket de ligne lui-même. Et je passe ce tampon, que j'ai lu
depuis le socket client. Que seule la même chose que je passe contre tout
le socket client, vous verrez la même
chose imprimée en fait. C'est ainsi que se déroule le flux. Je vais donc absorber que vous ayez compris
ce point en fait. Exécutons donc le programme et vous le
comprendrez plus clairement. C'est ainsi que nous en avons
terminé avec le codage. Ce socket en fait et
faible de cette manière, nous pouvons lancer dans nombre
impair de lignes, mais
nous ne pouvons pas dépasser uniquement portable et les clients peuvent
être connectés puisque nous écrivons ici
en tant que socket client, le client maximum doit être dix en fonction de
vos besoins. Si vous voulez des sockets
anticlines, vous pouvez donner cette valeur comme tendance ou vous pouvez couvrir,
définir cette valeur. Lançons maintenant le programme et voyons comment il sera exécuté. C'est donc mon domino en fait. Juste une seconde. Oui. Vous pouvez voir ici que j'ai ce programme que
je vous ai montré. Maintenant, je vais compiler, puisque nous devons compiler un programme
C sur les Lena, nous avons la
possibilité d'exécuter la commande dans cette invite de
commande en fait. Donc, s'il s'agit d'un langage C, j'utilise
donc
un compilateur GCC, qui est
déjà installé dans le système. Je n'ai pas besoin de l'installer
explicitement. Ensuite, je mentionnerai quel fichier compiler outil de compilation
GCC, outil compilateur croisé
qui est utilisé pour programmer le cadre du langage C. Par conséquent, vous pouvez voir ici, vous pouvez voir ici aucun message
d'erreur n'est venu. Permettez-moi de faire ce que nous avons
entendu au départ sur ce dossier C. Maintenant, après avoir compilé, je
vais sur ce point. C'est mon côté : je me laisse
maintenant lancer ou exécuter ma barre latérale en exécutant
simplement ceci. Maintenant, vous savez, quand j'ai
essayé d'exécuter le serveur, voyons ce qui va se passer. Vous pouvez voir ici ce que je reçois moi-même pendant que je
reçois
ce message que j'ai donné l'
auditeur côté Salvo sur le port 888, attendant la connexion. Quel que soit le message que j'ai
donné côté serveur, j'ai toutes les choses. La valeur de la
socket principale est trois. Donc c'est juste qu'ils
savent juste quel est le
descripteur de socket du
socket maître sur un socket de serveur. Je viens donc d'imprimer cette valeur
et elle est trois en fait. Et maintenant, toutes ces lignes qui sont en quatre
boucles pour ajouter le socket enfant. Vous pouvez donc voir ici, puisqu'il n'y a pas de clients, socket qui est ajouté
en fait parce qu'il
n'y a pas de client que nous avons
lancé mais aucun d'entre eux. Nous serons zone, zone du
socket client sera tout, il aura tous les descripteurs de
socket 0 car aucun d'entre eux, nous n'en avons lancé
aucun, aucun des socket client. Et c'est avant la sélection de la cellule. Vous pouvez voir ici, avant la sélection,
cela signifie que cet affichage que nous avons. Imprimez-le maintenant. Vous pouvez voir comment le contrôle
attend ici. C'est-à-dire que notre contrôle est bloqué
et la fonction de sélection. Pourquoi ils ont commencé à
la fonction de sélection, car nous mentionnons
le délai d'attente à null. Nous savons que lorsque nous
donnons le délai d'
attente pour être la connaissance les
attendra. Certaines activités se produisent
réellement de l'encens pour être honnête, à ce stade, nous
ajoutons simplement la prise principale dans une
rangée impaire, lisez le jeu vide. Par conséquent, il
surveillera si une activité se poursuivra, ce côté, quelle prise il y aura, n'
obtiendra pas de solvant. Quelle activité
peut se produire sur le socket serveur si nous
tentons de lancer la date limite. Je suis connecté au même numéro de
port sur la prise. Il n'y
aura alors qu'une certaine activité. Ensuite, nous
obtiendrons le message
après l' impression de la sélection, puis cette sélection ne sera pas lue. C'est la raison pour laquelle j'
affiche ce message. Donc comme moi, pour que vous puissiez
obtenir ce que je fais exactement. Laissez-moi vous montrer. À ce stade, nous n'avons que survivre aux lignes
nullclines lancées. Vous pouvez voir ici sur ce socket client des
descripteurs qui sont dix sockets clients nous prenons et
tous les scripts,
ceux, mais tous ces sockets de
dix lignes initialement 0 parce que aucun d'
entre eux au moment où nous sommes lancés, nous n'en lançons
aucun sur eux. Et cette socket est
pour le côté serveur, la socket principale, qui sont, que je suis simplement en train d'imprimer ici. En fait. j'ai entendu parler. Et
ensuite, vous pouvez voir ici. Vous pouvez voir ici que
tous ces messages sont à l'
écoute
sur le port, côté serveur, en
attente de connexion côté serveur. Ensuite, cette boucle while est en boucle
à travers cette boucle infinie. Et cela dépend du moment où
vous revenez, si vous
quittez votre client, cela reviendra en fait. Donc ces choses, nous vous donnons ça pour commencer
et vous pouvez voir ici. Md 0, toutes ces choses. Alors, que se passe-t-il ? Maintenant ? Quel message je reçois
ici, si vous pouvez le voir ici, je reçois ce message en boucle pour souder la douille de joint. C'est ce que vous pouvez
voir
ici que j'imprime la valeur
de la socket principale. Ici. Vous pouvez voir ici que j'imprime la valeur du
maître Socrate. La prochaine, toutes ces lignes imprimées dix
fois sont celle-ci. C'est ce que j'imprime. Donc, au départ,
aucun client n'est là. Par conséquent, cette condition ne
sera pas satisfaite. Et par conséquent, comme
cela sera satisfait seul l'événement qui est
une connexion client et cette valeur
sera supérieure à 0. Mais comme maintenant un client organisé
comme se connecte, nous ne lançons
aucun client et donc cela ne le
satisfera pas réellement. Et c'est pourquoi nous
recevons dix fois ce sprint
maintenant et nous obtenons,
ce moment, nous obtenons
avant de sélectionner réellement. Vous pouvez voir que la
fonction de sélection est appelée. Mais nous ne
recevons pas ce message. Pourquoi nous ne recevons pas
ce message parce qu'il attend un temps infini. En fait, il va attendre et
vous essayez de lancer la date limite. Le client se connectera à
la même heure de numéro de port. En fait, il continuera
d'attendre et vous
ne recevrez pas ce message imprimé. Donc, selon la façon dont vous
l'utilisez, si vous êtes donné, vous n'avez que
trente secondes, alors il verra si l'air jusqu'à ce moment-là où vous avez
lancé un client, si vous n'en avez pas la connaissance
et le le délai d'attente a expiré, secondes de
fête ou plus, puis il
reviendra simplement, à partir de ce moment,
en fait, il ne sera pas lu et vous recevrez
ce message imprimé. Mais comme je mentionne ce dernier argument
est nul en
fait, il attend
et attend
qu'il obtienne une connexion client. Par conséquent, vous pouvez voir
pourquoi j'ai affiché ce message pour
vous expliquer. Allons maintenant sur cette dominante. Maintenant, lançons le
client en fait, ce n'est pas le cas, je ne suis pas censé écrire notre programme
client j'insuline. Pour se connecter
au serveur. Vous savez comment vous connecter. Je vais ouvrir un nouveau
terminal en fait, et puis ce terminal je vous
dirai qui
fait le numéro de port. Alors de ce côté, qu'est-ce qui
écoute le numéro de port ? 88884 fois huit.
Et donc je vais, sur la prochaine dominante, simplement Telnet sur le
même numéro de port. Cela signifie que le
client se connecte au projecteur latéral. Voyons ensuite, une fois que le client droit de se connecter au
serveur, ce qui se passera. Vous pouvez donc voir ici que nous
recevons ce message d'affichage. Laissez-moi en ouvrir un de plus. Dominante. C'est différent
ou militantisme à la domination. dominance est possible
signe et une dominante, je vais essayer de me
connecter au serveur. Ce sera donc cette ligne. Vous pouvez donc voir ici, et ce que je vais faire, je mentionnerai cet hôte local. Ici. Je vais vous donner le numéro de sondage. Supposons que je vous donne de cette façon. Telnet est de se connecter à
l'hôte local, car nous effectuons
cette communication sur le même système lui-même, et donc nous
n'utilisons pas les
ordinateurs portables et nous nous connectons utilisation sur la même machine hôte. Et donc j'ai donné
la boucle et le diabète sera la même chose à
propos de n client la même adresse IP et nous écoutons
quatre fois huit en fait. Et donc rho,
ce numéro de port que je donne à ce nœud
sport lui-même. Une fois que j'ai essayé de me connecter
du côté client, ce que j'ai sur
la console de ligne, essayant un à 7 points, un connecté à un service local
faible, connecté à l'hôte local qui est connecté au serveur. Parce que mon argent est
sur l'hôte local. Et ce message d'accusé de réception envoyé depuis le serveur. Cette règle avait donc envoyé ce
message côte à côte. Voyons ce qui se passe
côté serveur. Vous pouvez le voir ici. Maintenant, jusqu'à ce
stade,
j' ai eu un contrôle, et puis souvent j'essaie de me
connecter du côté client. Tous ces messages sont imprimés sur le
côté de nos sites. Alors maintenant, que se passe-t-il
depuis que nous
essayons de lancer le client et qu'il essaie de
se connecter au serveur. Par conséquent, ceci, ceci. Ainsi, comme il y a une certaine activité sur la masse par
prise de cette carte, la fonction de sélection a renvoyé la masse modale appropriée de description par socket à des fins de lecture. Et donc, il y a
un nouveau lien que nous avons obtenu avec quel message s'agit-il ? Vous pouvez le voir ici. Nous avons reçu ce message après
la sélection, et cette condition est satisfaite. est-à-dire que cette condition est
satisfaite car elle est définie, ce socket serveur est triste car un client
essaie de se connecter. Nous
allons donc exposer et nous avons obtenu le descripteur
de socket du client. Et puis nous imprimons simplement ce message sur le côté argenté, il s'agit d'une nouvelle connexion, d'une nouvelle connexion de prises en ligne. Nous imprimons donc ce
message et nous envoyons ce
message sur cette ligne. Ce message, lequel ? Ce message est ce
message que je vous ai dit. Remerciements. Et à partir de ceux-ci,
vous pouvez voir ici, nous envoyons ce message
ici depuis le site du serveur. Ensuite, nous imprimons ce message sur le sol côté serveur. Donc, en revenant à la console, vous
pouvez voir ici, ce message,
c'est juste print f, que j'ai donné sur le message d'
accusé de réception du site serveur. Et puis c'est le message
que cela envoie déjà. En fait, lorsque nous appelons
la même fonction à partir du programme serveur
, ce message sera
envoyé aux clients. Du côté client,
vous pouvez donc voir les
messages reçus. Vous pouvez voir comment le côté, alors qu'il communique
avec cette ligne, comment le message que nous avons reçu des données sur le serveur client a dit, maintenant, la deuxième chose que
nous verrons, maintenant, nous avons simplement placez le descripteur du
socket serveur sur la base de données. Et faisons de l'activité
sur le socket client. En fait,
écrivons un message et voyons
maintenant comment il va ajouter le descripteur de socket du client à
la lecture des idées et comment nous allons le surveiller
réellement à des fins de lecture. Ce que nous ferons,
quel que soit le message que nous transmettons ici du côté client, j'ai dit que je voulais, j'
imprimerai sur le client lui-même. Supposons donc que je donne ici, donc nounou, ce message, une fois que j'y entrerai, ce message sera envoyé
du côté client. En fait, certaines
données sont disponibles sur le socket client qui
est censé être lu. Supposons que j'appuie sur Entrée, vous pouvez voir que j'ai eu un tsunami, un code sur le même site client. C'est donc ce que je
voulais vous expliquer, que j'écris un message
sur le socket client. D'un côté, j'écris
le message uniquement sur le socket client. Que va-t-il se passer ? Viendrons ici. À ce stade. Vous pouvez voir ici, une fois
le contrôle passé ici, en fait, encore une fois, le contrôle vient ici
car au départ,
cette condition ne sera pas
satisfaite car nous
n'ajoutons pas le
socket client à lire La FDA. Mais nous avons obtenu cette valeur, mais en fait, il y a des
clients sont 0 auront descripteur de socket
avant son client car il sera une valeur
non nulle pour cette condition sera
satisfaite et nous sommes ajout de ce descripteur
de socket de ligne dans cet IVS en lecture. Par conséquent, nous pouvons maintenant
surveiller en fait parce que nous ajoutons également cette prise de ligne dans ce lecteur via un descripteur de
socket. Une fois que cette
fonction de sélection sera
en attente , lire les FDA auront deux descripteurs de socket, un descripteur de socket pour cette ligne de produit
descripteur à prise unique. Maintenant que nous, une fois que nous avons écrit,
le message
du côté client est effectivement
tapé et le message sur
le client en tant que connaissance de cela est ce
qui va se passer. Quelque chose est mort sur
le socket client. Nous avons écrit quelque chose de bizarre, je pense que quelque chose sur
le socket client est
en fait comme déco, nous sommes censés le lire. Il y avait des activités nettes sur la ligne, utilitaire, et par conséquent, cette
fonction de sélection retournera réellement. Par conséquent, cette condition,
une fois
qu'elle sera vérifiée, c' est-à-dire chaque ensemble, ce descripteur de socket ne
sera pas élevé dans cette vidéo ds, comme je vous l'ai dit après la fonction de
sélection qu'il est appelée, puis dans ce cas
il reviendra avec seulement les descripteurs qui sont déjà prêts pour la lecture doivent
maintenant ne rien faire
sur le socket du serveur. Nous écrivons sur le
socket client et certaines données sont celles sur le socket client qui
est censé être rouge. Et je mets cette condition ne
sera pas satisfaite. Oui. Que se passera-t-il alors ? Ensuite, cette boucle for-loop est morte en dehors de cette
condition et donc, nous vérifions à nouveau cette
boucle pour qu'elle itère réellement,
cela prendra autant de temps. Par conséquent, ce
socket client à partir de zéros, nous savons
donc qu'il n'y a qu'
un seul client, et donc il
s'agit d'une valeur non nulle. Par conséquent, nous
vérifions que FD est défini si vous vérifiez
si une activité quelconque, si ce descripteur de
socket client est président lire un VS. Oui, c'est mort chez cette femme parce que
vous avez raison. Vous avez écrit quelque chose sur cette prise de ligne qui
est censé être rouge. Par conséquent, cette vidéo
a été renvoyée. En fait, c'est n. Cette valeur est modifiée avec le descripteur de
socket ou applique, ce qui signifie cela. Donc, les descripteurs de soccer aveugle présents dans VS en fait, car cela sera
modifié après avoir appelé la fonction de sélection avec les descripteurs
prêts à lire. Puisque l'activité se fait
au niveau de l'application seul le client de la dette
est une bactérie
active ce qui sera vrai. Et dans ce cas, vous obtiendrez des
clients d'
évaluation de qualité est dit ce message que vous recevrez sur quel site et ce que vous
faites réellement ici. Vous avez lu ce message, vous appelez
la fonction de lecture. Quel que soit votre message. J'ai donc écrit uniquement
comme sur le socket client. Donc, ce message sera que je
collectionne sur le tampon. En fait, cela
finira par donner ce message. Et depuis que le mandat
soit couronné de succès. Si autre condition sera satisfaite et ce seul
message que j'essaie d'envoyer. Vous pouvez donc voir que j'appelle la même fonction et c'est le
descripteur de socket pour cette ligne. J'envoie le même message sur ce socket
client. J'envoie ce tsunami. Puisque ce message que je lis à partir du socket
Dark Line est que je collectionne dans le
tampon et j'analyse le même message en
appelant la même fonction. C'est la raison pour laquelle je fais écho. Par conséquent, je vais
appeler la même fonction. Cela signifie que j'envoie le
même message au client et je reçois ce deuxième
message ici. J'espère que vous avez compris toute
la logique. En fait, en utilisant la fonction de
sélection, comment vous pouvez avoir un contrôle, combien de temps il faut. Si vous ne voulez attendre
que dix secondes, trente secondes, vous pouvez
simplement modifier cette valeur. s'agit simplement de
vous expliquer comment vous pouvez avoir la possibilité
de changer l'heure, comment contrôler réellement
le temps. La sélection. Encore une fois, attendez, En fait, si
vous voulez des secondes de fête, vous pouvez également attendre ce temps. Cependant, la programmation des objectifs est
tout à fait. Je le ferai donc. Donc, on vous a tout mangé. Passons à Oui. Nous avons fini de
rédiger le programme et exécuter l'anglais pour réaliser la communication
cellulaire multi-cloud. Encore une chose d'amis. Permettez-moi également de vous montrer
le lancement, lancer un
autre terminal juste une seconde. Oui. Ce n'était qu'un seul client ou supposons que j'essaie de me connecter. J'ouvre le troisième terminal. Et encore une fois, la même chose. C'est aussi,
oui, c'est que j'essaie de
lancer un deuxième client. C'est ce que sont les clients des poètes. Vous pouvez donc voir trois terminaux
ou serveur de port de terminal, un client à usage commun et un deuxième
domino est possible. La deuxième pulmonale se
forme avant son client et pour le deuxième plan. Supposons donc que je
fasse cette source. Encore une fois, il essaiera d'envoyer, encore une fois ce client
envoie une demande, une demande de
connexion
au serveur, donc latéralement l'acceptera en
fait N enverra un message d'accusé de réception
au deuxième client. En fait, vous pouvez
voir un accusé envoyé depuis le serveur. Et supposons que je messages, bonjour, messages , bonjour, message de bonne nuit sera à
nouveau un code
sur le client. Nous sommes en train de les taper, je dis, bonjour. Vous pouvez voir combien d'
esprits de personnes j'ai connu. Maintenant, j'arrive. Maintenant, nous en avons fini avec
l'écriture du programme et l'exécution
à l'aide de la sélection. Afin d'obtenir une communication multiligne
sur serveur, vous pouvez voir comment la
sélection est possible. À présent, lors de la prochaine session, nous verrons ces choses réellement ce que
nous allons couvrir. Juste une seconde. Oui, nous allons couvrir ce qu'
est la prise non bloquante. Donc tout d'abord, comme je vous l'ai dit, nous ne devrions pas opter pour l'approche de créer
un fil conducteur pour chaque avion, que Rights Clinic,
nous l'avons vue décider d'une page à
la session précédente. Au lieu de cela, nous pouvons
utiliser la fonction de sélection. J'ai également écrit
le programme qui est également un autre moyen de les
atteindre, je décline
la communication par satellite et c'est
pourquoi vous faites que la
prise est non bloquante, verrouillée que nous allons à
voir lors de la prochaine session. Vous
constaterez également la différence entre les deux approches. Autrement dit, afin de parvenir à une approche de
communication
multi-client-serveur, comme l'utilisation de la fonction de sélection. Nous avons déjà vu
comment obtenir quels sont les avantages et
aussi la différence
entre la prise non bloquante sorte que nous
vous voyons sur l'octet couvrant ce qui est non bloquant
dans le prochaine session, nous verrons
alors la différence
quand utiliser le Select quand utiliser le mode non bloquant. Donc toutes ces choses
couvriront celle à utiliser lorsque vous sélectionnez
sur une prise de chute, toutes ces choses
couvriront et comment
rendre la prise non bloquante
que je vais vous expliquer. Une autre session que je consacrerai à l'écriture du programme et son exécution à l'aide de sockets
non bloquantes. Donc, puisque jusqu'à ce moment-là, nous
saurons comment faire une
prise n'est pas bloquante. Nous allons également écrire un programme et exécuté sous Linux en
langage C. La fabrication de la prise
n'est pas bloquante. Donc, toutes les choses que nous
aborderons lors de la prochaine session. Soyez prêt pour
la prochaine session. Merci pour l'instant.
Merci. Je ne suis pas amis.
25. SocketSession14 Makingsocket comme nonBlockingSocket MultiClientServerCommunication: Bonjour les amis. Aujourd'hui, nous verrons comment rendre la socket
non bloquante afin obtenir un système d'exploitation serveur et
Linux multicolore en langage C. Avant cette session, nous avons vu une approche différente afin de les atteindre ainsi que la communication du serveur client. Et c'était en utilisant la fonction de
sélection et nous avons vu qu'elle est utilisée ainsi que
les détails à ce sujet, nous avons écrit le programme et exécuté le système
d'exploitation infirmière. Voyons maintenant que l'approche
différente pour rendre le socket n'est pas bloquante afin d' obtenir la communication
serveur multi-classes. Voyons donc les
sujets que nous
aborderons dans cette session
complète aujourd'hui. Nous verrons ce qu'est
la prise non bloquante. Ensuite, la différence entre
les deux approches pour
obtenir une communication
serveur anticlines. C'est la différence entre la fonction
Select et les prises
non bloquantes. Donc, depuis que nous avons vu
comment utiliser la fonction de sélection et le programme
ainsi que son exécution. Maintenant, dans cette session, nous verrons un socket
non bloquant. Donc, une fois que ce sujet
de
socket non bloquant sera couvert et que nous couvrirons cela, la différence entre fonction
basilique et la prise
non bloquante. Ensuite, la prochaine chose que nous
aborderons celle à utiliser. Laissez-nous lire. Ensuite. Nous devons utiliser la fonction de sélection. Tout ce que nous devons utiliser la prise
non bloquante et le week-end des hommes. Et même sur eux. Ensuite,
nous verrons comment rendre la prise
non bloquante. Nous verrons l'exemple. Ce sont les sujets
que nous aborderons
et publierons ces sujets et nous
laisserons faire un par un. Le tout premier, c'est
les prises non bloquantes. Alors, qu'est-ce que cette prise
non bloquante rendant
la prise non bloquante ? Nous allons vérifier si l'
événement s'est produit. Et si oui, alors il
traitera lui-même un autre, il reviendra immédiatement
sans compléter, et donc les cellules et le but de
la prise
non bloquante. Par cette définition,
cela signifie qu'il vous
vérifiera et que le prélèvement de la prise
n'est pas bloquant. Et supposons que nous
appelons la fonction, alors dans ce cas, la fonction
principale sera appelée indépendamment de la présence ou non
des données. Il reviendra immédiatement. Les données infantiles sont donc
bien président et pourraient-elles les
lire et elles reviendront
après avoir lu les données. Mais les données ne sont pas présentes sur le socket
que vous avez rendu non bloquantes. Il n'attendra pas les données. Il
retournera simplement l'heure du coucher lui-même, sorte qu'il reviendra immédiatement. Vous pouvez donc comprendre
que chaque fois que nous
rendons la socket non bloquante, nous ne sommes pas censés le faire. Nous sommes simplement
censés agir immédiatement. Il reviendra donc
immédiatement qu'il
s'agit de rendre la
socket non bloquante. Nous verrons donc ce que nous pouvons réaliser en faisant que la socket
n'est pas bloquante. Ensuite, l'exemple
est le même, un exemple que je vous
ai donné maintenant, c'est-à-dire un exemple que je vous
ai donné maintenant, c'est-à-dire si vous faites
que la socket n'est pas bloquante et
si vous appelez le V, et si ces données sur la
socket, il le lira. Mais si ce n'est pas le cas, un entier retourne
avec succès l'intégration des données. Il ne s'agit pas de données,
alors elles reviendront immédiatement sans
attendre que les données arrivent. Donc ce seul M m'a expliqué maintenant, j'espère que vous avez compris maintenant, quel est le but de faire
la prise n'est pas bloquant. Quelles sont les choses qui peuvent être réalisées ? Alors ? Il retournera également,
et c' est l'erreur
puisqu'il ne s'agit pas de données sur le socket et que vous appelez la fonction, il n'y a pas de données. Donc, en tant que comportement, c'
est qu'il n'est pas censé lire, donc dipôle il
reviendra immédiatement. Par conséquent, vous pouvez
comprendre qu'il l'a fait, car il n'y a
pas de données qui ne peuvent car il n'y a
pas de données qui ne peuvent pas effectuer de lecture, sans le respecter immédiatement et il retournera l'erreur. C'est que E bloquerait car l'audit peut revenir
plus tard comme le même. C'est, encore une fois, que
signifie cette flèche ? Cela signifie que l'appel de lecture
aurait blogué, mais
il est scripté, a été placé en mode
non bloquant et vous a vu que je soutiens pour appeler
la lecture du parfois. Donc. J'espère que vous avez compris
ce sens de cette erreur. Cela signifie que l'appel mature de la
fonction d'alimentation
aurait pu être l'
appel d'amarrage. Mais vous, vous, puisque vous
faites le descripteur est
en mode non bloquant en fait avant
qu'il ne retourne cet Aaron en disant qu'il pourrait s'agir d'un appel bloquant parce que vous pouvez comprendre qu'il n'
y a pas de données, et par conséquent, s'il
n'y a pas de données qu'il était censé lire. Mais puisque vous fabriquez
la prise n'est pas bloquante. Il est dit que vous aviez
toujours fait que cette prise
n'est pas bloquante. Par conséquent, il n'a pas attendu un peu , il est revenu immédiatement. Cela signifie que vous êtes censé appeler la fonction de lecture après un certain temps afin que lorsque vous appelez après un certain
temps, cela puisse se produire. Ça et l'heure du coucher
sont présents sur la prise. C'est ainsi que nous avons réalisé les choses
réellement en cas de, au cas où la fabrication de la
socket n'est pas bloquante. Vous pouvez donc comprendre
le comportement. C'est ainsi qu'il exécute la fonctionnalité lorsque vous faites que la socket n'est pas bloquante. J'espère donc que vous avez compris
quel est le but de rendre la prise non bloquante
et comment elle se comportera. Dans le cas de la fonction de sélection. quel cas la fonction de
sélection ME était censée éviter d'envoyer tous les descripteurs
que nous voulions surveiller, et B donnait et B donnait
le délai d'attente
jusqu'à quelle heure il devait être. Si certaines des
prises sont actives, Prêt, prêt à lire
, prêt à être écrit. Et dans ce cas, il
retournerait le nombre de prises, retournerait ces prises et vous effectuerez l'
opération immédiatement. Dans ce délai Socrate ne
deviendrait pas actif, alors il ne retournerait
aucune des sockets et l' opération aurait été
effectuée en cas de fonction de sélection. C'est comme si, en
fonction du délai d'attente, vous pouvez contrôler la fonction de
sélection. Quel est le montant que vous
devez saigner réellement, et quel que
soit le résultat,
s'il y a des données ou
s'il n'y a pas de données, mais qu'elles expirent. Après ça. Je monte en fait. Mais dans ce cas, vous
pouvez voir qu'il reviendra immédiatement si vous avez fait que cette
socket n'est pas bloquante. Et s'il n'y a pas de données
, elles reviendront
avec cette modification. Et encore une fois, vous pouvez appeler la fonction de
lecture et vous pouvez simplement vérifier si la défense est
présente et si oui, elle l'a refaite et retournée. Si ce n'est pas le cas, il
reviendra immédiatement, vous l'appelez simplement des
intervalles de temps. Vous pouvez appeler la même fonction de
lecture. C'est ainsi que cela se comporte lorsque vous faites que la
prise n'est pas bloquante. Je l'espère. Vous avez compris
la différence. Voyons voir. Maintenant, l'exemple que
j'ai expliqué vous appeler la fonction de
lecture si vous faites de la socket
est en mode non bloquant. Maintenant, dans le cas d'Unix, s'
il s'agit d'un système d'exploitation Unix
ou Linux, alors l'erreur qui peut
se produire lorsqu'il n'
y a pas de données sur le socket
peut être un bloc. Alors que si c'est mauvais, s'il s'agit d'un système
d'exploitation de fenêtre et de Beanstalk que vous utilisez. Dans ce cas, l'erreur
s'il n'y a pas de porte sur la prise
sera de ce type, c'
est-à-dire un bloc de bois W SAE. s'agit donc que d'une différence
entre les flèches dans le cas des Berliners et du système d'exploitation
Windows. Vous devez maintenant vérifier le code d'erreur qui est le numéro
d'erreur dans l'Unix. Et si c'est Windows, alors vous devriez voir par WAC, obtenir la fonction d'erreur perdue. Vous pouvez simplement vous lancer dans d' autres tâches et revenir
plus tard pour lire la prise. Mais s'il s'agit d'une
autre zone de prise, vous
devez le gérer. C'est donc la même chose, mais si vous rencontrez la prise, la prise
n'est pas bloquante. Donc, s'il n'y a pas de
données présentes sur la socket et que la fonction de
lecture est toujours appelée. Dans ce cas, il ne
reviendra pas immédiatement et
l'erreur sera déclenchée. Donc, au mieux, vous
apprendrez que vous êtes censé appeler à nouveau la fonction de
lecture. En attendant, vous pouvez
effectuer d'autres tâches. Ainsi, cela
ne fera pas de votre
programme un blocage. Vous pouvez Eddie avec d'
autres questions, votre programme
ne sera pas décalé. Et vous pouvez également terminer s'
il s'agit d'une autre erreur. Si ce n'est pas cette
modification qui spécifie que s'
il s'agit d'une autre erreur, vous
devez la gérer. Ou chaque prise dans le cas où lieu rencontre la prise
n'est pas bloquante. Tout est question
de non-blocage. Voyons maintenant l'autre sujet cette session
qui fait la différence entre la fonction de sélection et le
fait de rendre ce socket non bloquant. Nous verrons ces différences. Ensuite, vous préférez peut-être
déraciner
l'appel de la fonction de sélection
afin de réduire la communication du serveur.
Que se passe-t-il alors ? Tout d'abord, les choses
dont il aura besoin. Apprendre de nouveaux
concepts en réalité, ainsi que l'écriture de 20
à 25 lignes de code. Nous avons donc vu que lorsque
nous utilisons la fonction de sélection dans le programme lui-même lors de
la session précédente, nous avons pu constater que nous devions apprendre de nouveaux concepts comme jeu
vide en fait et les macros
modales sont utilisées, ce que toutes les fonctions sont utilisées et ce que nous sommes censés faire. Et il y a des lignes, ces lignes de code par défaut que
nous devons écrire lorsque nous utilisons la fonction de sélection
qui est obligatoire. Dans le cas où vous créez les deux, socket n'est pas bloquante
lorsque vous n'utilisez pas select et que cette
socket n'est pas bloquante. Et dans cette approche,
qu'est-ce que c'est ? Tout d'abord, cela implique moins d'événements sportifs que nous faisons que
la prise n'est pas bloquante. Cela impliquera un
score de piste adulte qui
vous montrera dans le programme la prochaine session, vous
verrez également un exemple simple. Faites trois lignes de code
pour obtenir le non-blocage. Mais vous allez écrire
un
programme correctement et nous l'exécuterons dans la section suivante,
nous verrons
qu'il y a moins de code. Et il vous suffit de modifier
vos tests et
les erreurs en
ajoutant à vos tests et
les erreurs en nouveau le test pour un
bloc de bois et un E, donc ce que vous êtes censé faire. Ici, lorsque vous faites la
prise n'est pas bloquante. Tout d'abord, cela impliquera moins
de code et il vous suffit d'ajouter le test. En fait, il y a une erreur. Cela bloquerait et
EOG, puis vous
devez ajouter du code pour cela. En fait, c'est-à-dire que vous pouvez
appeler à nouveau la même fonction, il y a d'autres flèches, puis vous devez la gérer. Cela
concerne en fait les
lignes du code. Il y a plus de lignes de
code et de fonction de sélection, mais moins de lignes de code
dans les sockets non bloquantes. Si vous voulez dire que la socket
n'est pas bloquante
, la différence suivante est que lorsque vous utilisez
la fonction de sélection, nous devons écrire 20
à 25 lignes de code. D'accord ? Ensuite, nous pouvons utiliser, nous pouvons à nouveau les réutiliser des modifications
minimales et minimales
afin de les gérer plusieurs sockets que je
vais garder les socrates, puis vous devez ajouter très petites modifications dans afin de gérer les prises
multiples. Ainsi, puisque vous
avez déjà écrit 2225 lignes de code pour la fonction de sélection, vous pouvez réutiliser
les mêmes lignes de code. Puisque vous devez gérer
plusieurs prises, vous
n'avez besoin que de
modifications minimales. C'est seulement la chose que vous
n'avez qu'à
écrire ces lignes de code et les modifications
chaque fois que vous modifiez, cela ne sera pas en surcharge. Ce n'est qu'un
changement minimal dans le cas où vous utiliserez la fonction de
sélection. Mieux vaut dans le cas d'une prise
non bloquante, vous devez les personnaliser pour manipuler chacune des prises pour
différentes prises. Il faudrait
les gérer réellement, et leur comportement peut
également être différent. Il peut lancer différentes flèches pour
que vous deviez les manipuler. C'est donc une chose
que vous devez
faire en cas de prises
non bloquantes. Mais cela est géré lorsque vous
utilisez la fonction de sélection. Une fois que vous avez écrit
ces lignes de code, si vous devez les modifier,
des modifications minimales seront nécessaires. Maintenant, l'autre différence met
en pause la sélection. Le code sera rassemblé
en un seul endroit de votre code,
tandis que le code permettant de prendre en charge la
cuisson de la prise
n'est pas bloquant sera distribué
dans votre code. Et c'est compliqué de
maintenir le code pour que vous
puissiez comprendre où cette description que
ce qu'il dit. Il est dit que
chaque fois que vous
utilisez select en un seul endroit, vous pouvez rassembler tout
le code nécessaire pour
utiliser la fonction de sélection. Mais lorsque vous préférez une approche
différente pour que
la socket soit non bloquante, cette approche que vous
préférez, dans ce cas, dans l'ensemble du programme, votre morceau
de code sera distribué. Cela peut également compliquer le
maintien du code une fois que vos sockets brutes augmentent. En fait, dans ce cas, cela peut compliquer le
maintien de l'ensemble du programme. La prochaine chose en fait, laquelle utiliser quand et s'il faut utiliser choisir si l'on doit utiliser non bloquant
quand les utiliser. L'annonce a leur
importance. Voyons voir. abord, nous pouvons choisir
une approche si vous souhaitez centraliser la
gestion des déclins et les tester et
les gérer en même temps. C'est le cas lorsque
vous devriez les préférer. Alors que vous pouvez opter pour l'approche de
prise non bloquante si vous voulez que la lune soit distribuée
belle approche. C'est parce que ce sont
les choses lorsque vous avez pris la première sélection lorsque vous devez la première sélection lorsque vous devez
signaler que la
socket n'est pas bloquante. Quelle est la nécessité
du menu Sélectionner doit utiliser
le menu Sélectionner que nous verrons. Et puis quand vous devriez utiliser
un non-fonctionnel que nous
verrons ici dans cette rubrique. Donc tout d'abord,
inutilement de la sélection. Ainsi, lorsque nous écrivons l'argent, nous savons que nous
devrions être prêts à réagir aux événements des médias qui
peuvent arriver au serveur. Ces scanners même, c'est bon. J'envoie la demande
au serveur pour
identifier et déconnecter,
lire et écrire. Tous ces événements se produisent une fois
le serveur lancé. Comme ces appels
bloquent, lisent, écrivent tous ces
appels qui bloquent traitement expliquent
ce qu'ils sont. En fait, deux autres
événements seront effectués jusqu'à ce que le traitement de l'événement
actuel soit terminé. Et donc la nécessité de sélectionner
se produit ce qu'il dit. Cela dit, supposons que depuis
le lancement de ce service aucun réseau ne puisse être différent événements
se produisant réellement, supposons que des lectures
soient en cours. Dans ce cas, le serveur est occupé traiter la lecture
et il n'y a pas de date, bloc de
titre, d'autres parties de votre programme seront estampillées. Il ne sera pas en mesure de répondre à d'autres événements qui se produisent
réellement. C'est donc ce
qui se passe réellement. Par conséquent, dans
ce cas, vous devez vous référer
à l'aide de la fonction de
sélection. C'est donc ce que
je mentionne ici, c'
est-à-dire que cette
sélection est nécessaire. Quelle est la nécessité d'
utiliser la fonction de sélection ? Ce n'est pas nécessaire. Nous pouvons
éviter le blocage, vous pouvez également traiter
d'autres tâches. Vous pouvez utiliser la fonction de
sélection afin d'éviter de
bloquer votre programme. Ensuite, dans ce cas,
sélectionnez ce que nous donnons nous donnons la liste des appels
d'accueil à surveiller. Oui. Et elle se
bloquera tout le temps. Toute personne sur un
appel de blocage devient prête. Cette sélection ne sera alors pas bloquée une fois qu'elle en
a déjà causé un. Vous pouvez donc comprendre
ce que nous disons. Vous dites que, vous
savez, en laissant sélectionner, nous
donnons à ce chien des
descripteurs, des
douilles, des descripteurs que nous
donnons et qui sont listés
sur les prises. Ce que nous devons surveiller pour
lire ou écrire en fait. Que se passera-t-il alors ? Et vous donnez
la valeur du délai d'attente. Ainsi, la valeur démodée que nous connaissons
est utilisée pour
contrôler la durée de la
fonction de sélection. Selon la
valeur que vous donnez. Un délai d'attente, il
reviendra immédiatement, audit reviendra, il en
obtiendra quatre indépendants. Je suis toujours une nouvelle activité qui
se produit réellement sur les
prises que vous avez données. Vous avez un contrôle. En fait, ce que vous
êtes censé faire. Il s'agit de la sélection. Ensuite, ce qui est inutile sur le socket non bloquant par ce fournisseur est une
socket non bloquante est nécessaire. Supposons donc que, par la
codéine sélectionnée, que se passera-t-il ? Vous obtiendrez
la liste de l'événement prêt à
traiter une fois l'appel sélectionné terminé. Lorsqu'il obtient certains descripteurs
de fichiers prêts, il renvoie les deux. Je vais les descripteurs
qui le sont déjà, dans ce cas, que se passera-t-il ? Cela peut se produire au moment où le
serveur passe l'appel. Supposons qu'une plage de
la prise que
vous auriez donnée dans
la fonction de sélection soit prête à être lue. La fonction de sélection vous
renvoie ce descripteur. Et vous pouvez simplement traiter en appelant
simplement la fonction de lecture,
car vous savez que cette prise est
prête à être
lue car vous savez que cette prise fonctionnellement, mais laissez-moi dire qu'elle
est présente dessus. À cette époque, la situation a
peut-être changé. C'est le client qui
envoie les données,
elles peuvent disparaître
avant que nous essayions de lire, avant que vous ne
meniez le leader. En fait, à ce moment-là, la
situation a changé avec ce client qui envoie les
données peut disparaître. voyez, vous pouvez toujours
prédire ce qui peut arriver. Supposons que le client envoie des données au serveur. Le serveur essaie de le
lire entre les deux. Uniquement. Certaines lois de connexion se sont déconnectées et les données, par conséquent, une nouvelle, pas actionnement, peut se produire à
chaque fois que nous ne pouvons pas prévoir. Non seulement dans
ce cas, ce qui va se passer. Il se comportait correctement. Il vous renvoie des descripteurs qui, qui sont devenus
actifs dans lesquels vous
devez traiter la fonctionnalité
d'édition. Bénédiction. Mais à ce moment-là seule une situation survenue en raison d'un déclin a été déconnectée. Et ce client envoyait les données sur le socket que le serveur
était censé faire. Dans ce cas, finalement, la lecture n'aura pas lieu. Dans ce cas, vous pouvez préférer la prise ne
soit pas bloquante. Donc cette chose, nous
ne connaissons pas Mia et libérons ces choses que nous ne
savons pas quand cela peut arriver. Ce sont des choses imprévisibles qui, hausse, aboutissent
à des résultats imprévisibles. Dans ce cas, il
est indiqué d'utiliser cette approche pour respecter
la socket n'est pas bloquante. Donc parce que nous savons qu' alors nous faisons que la prise
n'est pas bloquante. Supposons donc que vous appeliez
la fonction de lecture. Dans ce cas, la fonction de lecture sera appelée et si des données
sont présentes sur elle,
elle la lira et elle
sera renvoyée avec succès. Mais s'il n'y a pas de données
présentes sur
elle, pas de problème, elle
reviendra immédiatement
et cela vous donnera, les deux disent
que puisque les riches auraient
dû devenir l'appel
bloquant parce que il n'y a aucune donnée à ce sujet. Mais vous avez quand même créé
le descripteur, puisque c'est toujours que vous avez fait que
la socket n'est pas bloquante. Maintenant, votre support, Il s'appelle nouveau
la fonction de lecture après un certain temps, vous appelez à nouveau la
fonction de lecture. Si aucune donnée n'est disponible, elle sera immédiatement
renvoyée. Une fois encore. Vous appelez la fonction de lecture. S'il y a des données, il
lira les données et les
retourneront. Donc c'est comme ça que le non, c'est comme ça qu'il se comporte le menu signifie que la socket n'est pas bloquante. Il s'agit donc de tout ça. Il s'agit donc d'un autre exemple. En fait, si nous faisons l'appel d'
acceptation S non bloquant, donc supposé être je
fais que la socket est non bloquante
et nous
les appelons sauf la fonction sauf se produit d'abord
sur le trottoir. Et chaque fois qu'il y a une
connexion depuis la ligne. Ainsi, le sens linéaire de la demande de
connexion dans le cas où le serveur
serveur présente une connexion. Mais puisque vous
faites le socket n'est pas bloquant et c'
est l'appel d'acceptation. Tout dans cet index et neige
intégrée et
en fait n'envoyant aucune connexion et acceptent
toujours cet appel. Et cette acceptation n'est pas bloquante parce que vous faites que votre
socket n'est pas bloquant, alors quel sera le comportement ? Il reviendra immédiatement. Vous pouvez donc comprendre
qu'à l'exception de ce côté-ci, il n'y a pas de ligne qui envoie la demande au
serveur encore acceptée. Cela signifie qu'il
n'y a pas de connexion là-bas et qu'il
reviendra immédiatement. Il ne sera pas destiné à la demande de
connexion. Cela ne bloquera pas
la connexion de votre programme . Il reviendra immédiatement. Même s'il n'y a pas de connexion, il reviendra immédiatement. Il n'attendra pas, mais cela vous donne l'erreur en fait comme un
bloc maléfique seulement en disant que sauf
aurait pu être le blocage parce qu'il n'
y a pas de connexion, vous avez
quand même fait la prise n'est pas bloquante et
doit donc revenir immédiatement. Vous êtes donc censé appeler la fonction de sortie
après un certain temps. C'est l'utilisation que
vous avez faite que cette
socket n'est pas bloquante. Vous devez vous comporter
de cette manière. C'est ainsi que cela fonctionne. Maintenant, nous allons être libérateurs. Ce truc
va en fait écrire le programme dans
l'article lors de la prochaine session et
nous allons exécuter. Il verra comment
rendre la socket non bloquante et nous
verrons son exécution. C'est ainsi que vous connaissez
peut-être le sujet, c'est-à-dire comment faire un socket
n'est pas bloquant. C'est donc ainsi que vous
parvenez à rendre votre
socket non bloquant. Vous devez avoir une balle molle, utiliser l'appel système FFC et TL. Vous devez effectuer
ces
appels système FC et TL ou quelle est cette fonction f, c et d l ? Il effectue les différentes
actions sur les descripteurs ouverts. Les descripteurs sont ici vos descripteurs de
socket. Il effectue donc diverses
actions sur le,
sur le descripteur de socket ouvert est le
descripteur de
socket micelle ouvert, il
effectuera diverses actions, telles que l'obtention,
la modification du attributs d'un fichier
sur le descripteur de socket. Donc, ce qu'il peut faire, deux actions qu'il peut
effectuer, les attributs attrayants
des descripteurs de socket
modifient les attributs des descripteurs de
socket. Jusqu'à présent, les descripteurs de socket, vous pouvez comprendre que cela
peut être différent lors des critiques. Supposons donc que vous deviez rendre
la prise non bloquante, donc il y a un quad. Vous pouvez modifier ces attributs en fonction
de l'exigence réelle. Vous avez donc posé des questions sur tout simplement
censé les appeler FC et traiter afin de rendre
la socket non bloquante. Vous verrez donc ci-dessous comment
utiliser ce FC et TL. C'est ainsi que vous utilisez. Tout d'abord, vous donnerez le premier argument
en tant que description. Il s'agit d'un
descripteur de socket dans lequel vous en avez deux en mode action. Et le deuxième argument,
vous allez donner le commandement. Alors qu'Amanda,
Vous devez donner, en fonction de l'exigence, ce que vous voulez réellement sur la socket pour exécuter cette
commande que vous allez donner et les lignes que vous
pouvez comprendre . j'ai un certain
nombre d'arguments ici. C'est ce qu'il est
censé faire, et c'est un exemple
en fait post-op. Ce que nous faisons si vous devez
rendre cette socket n'
est pas bloquant, appelant ce
système de fonctions appelé f, c et d l. Et nous passons le premier argument en
tant que descripteur de socket. Et le second est un commandement. Nous avons donc vu que le
squelette laisse cette force être le descripteur de socket
et le second sera parmi lequel vous
souhaitez effectuer l'action. Ces trois arguments sont facultatifs pour vous. Ici, nous donnons ce commandement. Nous voulons que cela arrive, allez jouer sur
le descripteur de socket. Et là encore, vous
appelez la même fonction. Vous passez le descripteur de
socket et vous donnez ceci, vous appelez cette fonction, vous le ferez, vous donnez
cette commande dessus. Vous voulez réellement définir cette chose sur
le descripteur de socket. Et puisque ces trois points, mentionnés ici, ce
sont des options. Donc ici,
vous devez faire en le
drapeau ne soit pas bloqué. C'est ainsi que ces deux lignes
de code que vous devez écrire lorsque vous créez la
socket ne sont pas bloquantes. J'ai affirmé en quoi
consiste ce commandement ? Va chercher le remplissage. Il obtient le drapeau ouvert ou
adopte ce script. Et FCA jusqu'à ce qu'il soit lu, retournera ces résultats. Cela permettra d'obtenir la source. Bien que, ce que cette incapacité
visible fait réellement cette
commande va faire, elle ouvrira le
descripteur de socket et elle
retournera ces X en
conséquence, donc ce drapeau sera retourné. C'est le but de ce
gamma et de la SEC FL. Amanda doit rester le drapeau de statut. Qu'est-ce que le descripteur
de socket pour rendre la
socket n'est pas bloquant. Vous pouvez utiliser cet indicateur
qui n'est pas bloqué. Cinq obsolètes. Vous avez compris que
cette
commande particulière utilisée pour obtenir les indicateurs ouverts présents pour la socket
est retournée et abrogée. Renvoie cela ici dans cet indicateur et définissez-le à j pourcent,
ce script d' ordre noir d'état. Ensuite, vous pouvez l'utiliser pour faire votre, il est en mode non bloquant. C'est ainsi que nous parvenons ce que la socket soit
non bloquante, bloquante. Nous allons donc l'
utiliser lors de notre prochaine session, vous allez écrire le programme. La fabrication de la socket
n'est pas bloquante afin obtenir une
communication multi-client-serveur, bien qu'il s' rendre la socket
non bloquante. Donc toutes ces optiques, nous le sommes, nous avons couvert, que nous avons vu ici. C'est ce qui est une prise
non bloquante. La différence entre
la fonction de sélection, différence entre une prise
non bloquante. Nous avons vu combien de
lignes vous devez coder
davantage au cas où vous utilisez la fonction de sélection par rapport
à celle de la socket
non bloquante. Une fois que nous avons écrit le code, nous pouvons le réutiliser et
la modification est
très moindre si c' est le
cas, si nous devons gérer
plusieurs sockets. Alors qu'en cas de non-blocage, même si le code est répertorié, mais s'il y a un grand
nombre de sockets, vous devez
le gérer , le code, alors vous devez
faire une tâche supplémentaire. Nous avons également vu dans le cas
de la fonction de sélection, quand utiliser la
fonction de sélection quand utiliser le socket est en mode non bloquant. Et nous avons déjà vu qu'ici
pour Instapoll, il sera rassemblé en un seul endroit mais un socket non bloquant, il sera distribué
tout au long de votre cours. Il est difficile à
entretenir s'il se dissout. Grand nombre, grand
nombre de prises. Ce sont les différences que
nous avons vues également, nous avons vu pour faire de
la socket une sélection. Nous avons vu ce qui
n'est pas nécessairement de la fonction de sélection.
Nous l'avons vu. Nous ne voulons pas que
le programme s'arrête longtemps. Vous pouvez utiliser la fonction de sélection. Nous avons un contrôle sur le délai d'attente. Nous avons vu alors
que nous pouvons nous préparer. Faire un socket est un socket
non bloquant au lieu d'utiliser la quantité
sélectionnée, j'ai vu que la situation
peut se produire en cours d'exécution, nous ne savons pas que même la fonction de
sélection retourne avec les descripteurs de socket
qui sont prêts. Mais en raison d'autres situations
telles que les lois sur les connexions, tout peut arriver. Client qui
envoyait des données s'il l'avait, Il est connecté d'une manière ou d'une
autre, fait une situation, situation
aléatoire. Dans ce cas, il
n'y aura pas de guitare. La date de décembre, qui était prête à effectuer
l'opération de lecture. Puisque le client
s'est déconnecté, il ne pourra pas lire. Tout peut se produire à tout moment. Donc, dans ce cas,
vous avez fait que la socket n'est pas bloquante à utiliser
lorsque je l'ai spécifié. Et nous avons vu comment rendre
la prise non bloquante. Vous devez donner ce drapeau. Les deux fonctions que nous avons
vues, vous devez appeler f, c et d. Donc toutes
ces choses que nous sommes, nous sommes la bande passante et
la prochaine session, nous écrirons
le programme pour répondre
au socket non bloquant
et nous l' exécuterons en indiquant l'
utilisation de la programmation C. Soyez donc prêt pour
la prochaine session, qui sera un dévouement
complet pour écrire le programme
et exécuté. La fabrication de la socket
ne frappe pas
afin d'obtenir une communication
multi-client-serveur. J'en ai fini pour l'instant, mes amis. Merci beaucoup. Merci.
26. SocketSession15 de programmation : la Makingsocket de calcul comme nonBlockingSocket MultiClientServ: « J'ai l'air amis qu'
ils écriront le programme de socket ou
rendront le socket comme non bloquant afin obtenir multiligne », a dit « Eh bien
la communication » et nous
allons également l'exécuter
sous Linux en utilisant le C langue. Donc, avant cette session, nous avons vu que cela
dictait comment
rendre la socket non bloquante. Nous avons donc vu
différentes approches pour atteindre des anticlines,
plusieurs communications, nous avons vu quel était le problème lors de la création
du thread pour chaque client qui se connecte à
la salve qui sont divers inconvénients
que nous avons abordés lors de la session précédente afin d' éviter d'utiliser cela pour
obtenir un fil de discussion. Mais chaque client, nous l'avons surmonté en utilisant
la fonction de sélection. Nous avons également vu num, importance de la fonction
de
sélection et nous avons
vu les détails. quoi sert l'utilisation
du stylo de fonction Select pour l'utiliser ? Et nous avons également
écrit le programme et l' exécuté au cours de la session précédente. Ensuite, nous avons vu que l'approche
différente consistant rendre la socket n'est pas bloquante au lieu d'
utiliser une fonction de sélection. Nous avons donc vu des hommes utiliser la fonction de sélection quand
utiliser faire que cette socket
n'est pas bloquante. Nous avons vu toutes ces
choses au cours de la session précédente. Comme nous
le savons, car nous connaissons comment fabriquer
la prise n'est pas bloquante. Je vous ai expliqué
avant cette session, je vous ai expliqué quel
est le but de celle-ci ? Écrivons le
programme et
exécutés en rendant le
socket non bloquant. Permettez-moi donc de vous décrire brièvement le mode
non bloquant. Et commençons à
écrire le programme sur les unités et
nous allons l'exécuter. Commençons par une prise
non bloquante, comme je vous l'ai décrit
en session audio. Rendre la prise
non bloquante. Cette opération vérifie si l'
événement s'est produit. Et si oui, alors il se
traitera lui-même à ce moment-là, car il reviendra
immédiatement sans attendre les améliorations servent le but
des prises non bloquantes. Donc, lorsque vous faites, vous savez
qu'il a suivi chaque fois que vous créez un mode de blocage de socket, si vous voulez faire de la
socket en mode non bloquant, nous avons un appel système que
nous verrons à l'avance. Mais une fois que vous faites que la
prise n'est pas bloquante, alors comment elle se comportera. Permettez-moi de décrire cela. Dans ce cas, supposons que votre socket soit non bloquant et que
vous appeliez la fonction de
lecture. Vous savez que lorsque l'opération de
lecture, elle ne lit qu'un événement qui
est une donnée sur la socket, alors vous seul pouvez être
ces données de la socket. Donc dy dt l'
accompagnera ne
réussira qu' à chaque fois qu'
il y a une prise. Donc, cette
lecture s'appelle. Et s'il y a des données
présentes sur cette prise
, elle lira
les données et retournera et se coucher. Mais il ne s'agit pas de données
sur cet organe. Et vous appelez
la fonction de lecture. Et dans ce cas,
vous savez que vous
avez fait que cette prise n'
est pas bloquante. Par conséquent, il n'
attendra pas les données. Il reviendra immédiatement. Vous pouvez donc
comprendre
que des données existent ou non. Il ne lira pas car vous
faites qu' une socket n'est pas bloquante. Vous ne voulez pas que
votre programme soit bloqué. Vous ne voulez pas mettre
votre programme en main et donc vous reviendrez
immédiatement sans attendre, donc vous n'obtiendrez pas, c'est
ce que nous réalisons. Le lieu a fait la prise
n'est pas bloquante. Alors, qu'est-ce que le
travail se passe dans ce cas, il n'y a pas de données et vous
appelez la fonction. Dans ce cas, il reviendra immédiatement et il vous
donnera également quelques erreurs, est que les erreurs
décriront en fait que le socket vous de ma vertu vous étiez censé le
faire comme bloquant. Mais comme vous avez fait que
cette socket n'est pas bloquante lorsque les données ne sont pas
meilleures, ne le faites pas immédiatement. Par conséquent, vous êtes
censé appeler la fonction de lecture
après un certain temps. C'est ça le comportement. Cela se produit dans tous les cas lorsque vous faites que la
socket n'est pas bloquante. Donc, tous
les détails que je vous ai déjà expliqués avant
cette session. L'objectif principal de cette session
est de rédiger le programme. Vous verrez
comment rendre la socket non bloquante et
comment l'exécuter. L'exemple en fait, lorsque
vous annulez le socket n'est pas bloquant et lorsque
vous appelez Amanda Silver, provoquez la fonction de sortie. Vous savez que cette fonction de
sortie, tout d'
abord, elle est
appelée des deux côtés. Ensuite, il est appelé chaque fois que le client envoie une demande, des demandes de
connexion
au serveur, puis la banlieue doit
supposer accepter ces demandes
de connexion du client. Dans le, si vous faites
votre socket n'est pas bloquant. Et si vous appelez la
fonction de sortie sur le site, s'il n'y a pas de connexion
client, si aucun client n'
envoie de demande. Et comme vous avez
fait que la socket n'est pas bloquante et que vous
suivez sauf la fonction, elle n'attendra pas. En attente clinique, il suffit de
revenir immédiatement afin qu'il vous donne l'
ensemble comme je l'ai décrit. Savez-vous que cela va
vous donner cette erreur ? Vous feriez un blocage. Cela
signifie que vous pourriez avoir un socket multimédia comme
un blocage,
car il n'y a pas d'action, au lieu de cela, vous appelez
la fonction de sortie. Par conséquent, vous appelez à nouveau la fonction de sortie après parfois,
donc cela donnera cette erreur indiquant qu'
après certains coins la fonction de sortie et vérifie s' il y a une connexion avec elle, sauf en fonction
des besoins, vous pouvez essayer un
certain temps. C'est donc ce qui
se passe réellement, si vous faites que cette socket
n'est pas bloquante. J'espère donc que vous avez, maintenant, voyons que nous
avons déjà vu lors de la session
précédente juste pour décrire brièvement comment
rendre la socket non bloquante. Tout d'abord, vous
devez appeler ce F, C et D L, qui est un système appelé cette fonction
que vous opposez à appeler. Et vous devez passer
dans ce format. C'est-à-dire que vous devez
passer le descriptif. Ce sera sur le descripteur de
socket. Et le deuxième argument
sera la commande. Commande. Est-ce ce que vous voulez réellement faire sur
ce descripteur de socket, activité
que vous
devez mentionner en fait comme commande
dans le deuxième argument. Et ces trois points
indiquent que vous pouvez donner plus d'options
en option, si vous devez utiliser FC et teal. Et nous avons également vu
ces deux lignes de choses que
vous êtes censé
faire et vous faites que cette
socket n'est pas bloquante. Vous devez appeler ce FC
et TL et vous devez
passer le descripteur de socket
et la commande, vous voulez obtenir FL. Quel est ce type qui est tombé dans le suivant pour le descripteur. Et retournez ces fléchisseurs, son rôle est adapté pour obtenir le suivant à partir de ce descripteur de
socket, à partir du
descripteur de socket qui va récupérer le flex en fait, et vous pouvez collecter
dans cette variable. Ensuite, vous appelez le même appel système et
le descripteur de socket, mais vous obtenez ceci. C'est le trait de soulignement F défini FL. Quel est le but
de cette commande ? Il enverra un
indicateur d'état pour le descripteur. En ce sens qu'il
enverra X dans le descripteur de
socket. Et la troisième option est moi, et c'est facultatif. Donc comme vous devez rendre
cette socket non bloquante, vous devez donner cette opportunité
est très importante. Vous devez mentionner
ce non-blocage car vous voulez que votre
socket ne soit pas bloquante. Ceci est utilisé en fait pour que votre
socket ne soit pas bloquant. Vous donnez donc cette option en tant qu'argument de sortie. C'est donc ainsi que vous pouvez
faire de la prise un socket
non bloquant. Commençons maintenant à
écrire le programme et l'
exécuter en utilisant le langage C. Je vais donc vous expliquer les
instructions ligne par ligne et ensuite nous allons exécuter. Cette session porte sur le système d'exploitation
Windows et le programme que nous allons écrire sur le système
d'exploitation Linux. J'ai donc installé
ici la boîte Oracle Mm. En fait, cela me
donnera la croix, je peux compiler mon programme sur le système
d'exploitation Linux. Si vous n'avez pas de Linux, vous pouvez également l'installer
est très important z2 installer Oracle, et vous pouvez simplement commencer à
écrire le code là lorsque vous lancez qui sera impliqué ou sinon, si vous avez un système d'exploitation d'unités, vous pouvez simplement
écrire le programme. Commençons donc à
écrire le programme. Cette balle. Permettez-moi de passer à
mon système Linux. Ceci est lancé Oracle VM, et c'est mon système d'exploitation, le
système d'exploitation
Linux. Je me connecte donc. Laissez-moi d'abord ouvrir le terminal. C'est mon programme. Cela me permet de vous montrer le chemin. Dans mon dossier personnel. J'ai créé ce vide
qui, en fait, selon le but de mon
problème, mais il est vide. Les prises non bloquantes sont
données à ce faisceau lui-même ici, et c'est à dire sélectionner la programmation de
socket l'aide d'une prise non bloquante. Nous allons ouvrir le téléphone de l'interface utilisateur. Oui. Voici donc mon
programme en fait. C'est donc mon programme serveur, ou faire du socket
n'est pas bloquant. Maintenant, voyons un par un
ce que nous allons faire. Tout d'abord, comme je vous
l'ai montré dans la présentation elle-même, l'exemple de la fonction de
sortie. Supposons donc que vous
rendiez le socket comme non bloquant et
que nous savons que la
fonction
XOR est appelée côté serveur. Donc, si vous faites que
votre orquille n'est pas bloquante et que vous
appelez la fonction de sortie, elle se comportera
correctement gênée. Certains clients en font la demande. Il acceptera cette connexion. Donc, c'est bon. Mais
qu'en est-il s'il n'y a pas de
demande de connexion de ligne sur l'argent ? Et puisque vous faites que
ces socket
réseau ne sont pas bloquantes et que votre collègue,
sauf la fonction. Dans ce cas, de toute évidence, même s'il n'y a pas de demandes de
clients, il n'attendra pas les
dépenses et les mesures prises. Il
reviendra tout simplement immédiatement. Donc, dans ce cas, ce qui
devrait se passer, puisque vous êtes le
but principal du programme était qu'il accepte la connexion, la connexion
demande une assistance que vous n'avez pas
non standard. par
conséquent, il n'
y a pas de demande client. Il n'est donc pas
question de l'accepter. Par conséquent, vous êtes
revenu immédiatement. Encore une fois, vous pouvez
appeler après un certain temps, vous pouvez appeler sauf la fonction activée. Et vous savez qu'il vérifiera
à nouveau s'il y a lien de financement
et que c'est mieux, il reviendra immédiatement. C'est donc ainsi que vous pouvez
porter, répéter la même activité de manière indépendante
après un certain montant. Nous
ferons la même chose. Il s'agit du code du serveur. Je vais vous expliquer ligne par ligne
les instructions. Nous allons ensuite
compiler ce programme. Nous allons exécuter
les programmes cérébraux.
Puisque nous sommes moi. Le socket n'est pas bloquant et
nous appellerons la fonction de sortie. Par conséquent, il s'agira simplement d'un OT qui
lancera n'importe quel client. Donc, quand il y en a encore nous appelons des textes qui
fonctionnent sur le solveur. Il n'attendra tout simplement pas, il reviendra immédiatement. Autres et dépendants du réseau. Vu cet en-tête,
nous pouvons à nouveau fausse fonction de
sortie de la
somme entre le temps de doc. Et nous verrons que c'
est ESNet s'il peut accepter la connexion
gênée certaines
demandes de connexion client, et si ce n'est pas le cas, il
reviendra immédiatement
à nouveau via n. Si nous avons lancé ce client en fait l'heure du coucher sauf que
la fonction est appelée
et puis il
acceptera les
retours de connexion avec succès. C'est ce que nous allons
réaliser dans le cadre de notre programme. Vous avez acheté
ce que j'essaie de dire, même cela sera
effacé par je vais vous
expliquer
les instructions ligne par ligne. Voyons voir. Supposons donc qu'il s' agisse d'un programme de socket serveur
et que nous connaissions les bases. En fait, nous avons
déjà vu comment
créer une socket et
les détails à ce sujet, et quelles
sont toutes les fonctions nécessaires pour utiliser le service dont j'aurai besoin
pour appeler la fonction principale. Nous devons également écouter,
nous devons également
accepter la connexion car nous nous concentrerons sur
la fonction sauf. Voyons maintenant que c'est que
c'est censé contenir ces fichiers d'en-tête d'installation que vous devez déclarer réellement. Et c'est votre fonction principale. C'est votre fonction principale. Vous savez que, bien qu'il s'agisse d'une fonction
principale, c'est un point d'entrée pour démarrer une exécution
de votre programme. Ainsi, lorsque le programme s'exécute, le contrôle arrivera à la toute première ligne de la
fonction moyenne, et il sera exécuté
ligne par ligne séquentiellement. Alors, ce que vous faites, alors tout d'abord, qu'
est-ce que nous sommes censés faire ? C'est censé vous
donner envie de créer un
socket côté serveur. Et nous voulons le
rendre non bloquant. Et nous devons, chaque fois que nous avons affaire à
la socket serveur, nous devons faire un objectif, certaines fonctions comme nous avons d'
abord par les serveurs d'index
socket à numéro de port, puis nous devons écouter
sur le numéro de port. Et le troisième que
nous devons accepter une action
appelant réellement la fonction socket. Nous savons que ces
trois paramètres, sont les trois arguments
que nous transmettons. Il dit que si Underscore init est un socket de famille d'adresses,
et que c'est un type de
socket que nous voulions, nous voulions créer
un socket de flux. Et ce troisième argument est 0. C'est ainsi que vous créez
une socket et vous
prendrez réellement une socket. Lorsque vous créez la socket, elle renvoie le descripteur, le descripteur de socket argenté, que je l'ai nommé
comme socket maître, et il est du type différent. Et vous pouvez voir que je l'ai
déclaré avant de l'utiliser. Il s'agit d'une vérification des erreurs. Si c'est tout, vous pouvez obtenir une
protection contre les défaillances de cette manière. C'est ainsi que votre
socket de serveur God a créé et c'est le descripteur de
la socket de
soulignement maître
sans nom de socket serveur . Maintenant, vous avez fini de
créer la socket. Maintenant, la chose suivante
est que vous devez
rendre cette socket
non bloquante. Et nous avions vu
combien de personnes y arrivent. Nous avons vu suffisamment de
présentations. Voyons voir. Ici, vous pouvez voir qu'il y a un médiéval qui est déclaré ici. Vous pouvez voir que nous
appelons FC et TL, c'est un appel système. Et nous le faisons de cette manière. Donc cet appel système
s'appelle en fait, j'ai vu jusqu'à ce que nous utilisions cela, nous devons faire qu'une
socket n'est pas bloquante. Par conséquent, la prise de largeur nous
devons rendre le non bloquant. Nous en avons trop.
Ce socket serveur n'est pas bloquant et l'
ensemble du vecteur
sera le premier argument. Ensuite, le deuxième argument, c'est que nous avons vu quel est le but de
cette seconde chose ? Tout d'abord, la commande
secondaire est une commande que
nous avons vue dans la
présentation et elle sert à récupérer le
flex présent. Ce drapeau sera donc
récupéré et il sera collecté sur ce bouton média que
nous avons déclaré plus tôt. Dans la méningite, une vérification
d'erreur. Et encore une fois, nous devons suivre ce système appelé PNB
ou nous l'avons vu. Et nous allons à nouveau passer le
premier argument en tant que socket, que nous voulons
en faire une socket non bloquante. Il s'agit du descripteur de
socket du serveur. socket qui
renvoie le nom du
descripteur de socket du serveur doit donc indiquer
que nous passons comme premier argument
dans ce système. Et à la seconde où nous
passons cette commande qui est soulignement
F définit la pensée. Traitement de cet
indicateur entre les cartes, ainsi que nous
passons cette option qui n'est pas soulignée non bloquée. Il s'agit des options de drapeau. Donc, comme nous devons rendre
la prise non bloquante, nous devons donner cette option. Ceci est nécessaire de l'aide nécessaire. C'est ainsi que nous fabriquons ce genre de socket dont le nom
est en masse a tendance à marquer la socket
S en mode non bloquant. Nous donnons donc cette option et c'est la vérification des erreurs. Vous pouvez donc voir comment ces éléments sont réellement utilisés
pour rendre la socket non bloquante et ces
deux lignes sont
utilisées pour effectuer les deux
lors de la vérification de l'édition ici. Vous avez
compris ce point, je l'espère. Je suis en train de créer une prise et
nous le faisons comme un on. La prochaine chose
du côté serveur, ce que nous sommes censés
faire, c'est que nous devons, vous savez, c'est une structure. Nous prenons cela comme un DDR
et c'est des types de données, struct, sock, ADD
ou soulignement INV, sachez quel est le but
de cette structure ? Nous devons renseigner tous les membres sur cette capacité médiatique, DDR. Vous devez remplir
le numéro de port DBSPL, la famille,
ainsi que nous avons cette DPLL. Puisque nous voulons une
barre latérale encline à communiquer sur le
même système d'exploitation, même machine hôte, en fait, la même adresse IP
avant de donner cette option IN ADD
ou de souligner NE. Ici, vous pouvez voir un par
un, cette variabilité, les moyennes que nous
ajoutons sont liées aux détails que nous donnons,
nous les remplissons avec ces
services qui s'adressent à la famille. Il s'agit d'un numéro impair
auquel nous voulons que le serveur
achète ce numéro de port. Et voici les coordonnées de l'adresse. Nous le savons. Quel est le but de cet ion, en fait le carré ARM une
image que j'ai dans ma session précédente dans
le socket puisque nous voulons que le serveur et le client communiquent sur la même machine
hôte, les hôtes locaux. Nous sommes donc censés
donner cela et je veux vous
expliquer
en détail dans une session de volume. La formation elle-même. Vous pouvez le voir ici. Ensuite, nous appellerons
la fonction bind sur le socket du serveur
nommé maîtres ou nous pouvons être portés pour lier
ce socket de serveur, c'
est-à-dire le socket maître à
ce numéro et qui
sera également transmis comme
un le deuxième argument
est l'accent mis sur l'ADR, dont nous avons ici
les détails des filtres. Je ne pensais pas que l'argument
sera la taille de cet ADR. Il s'agit de la vérification des erreurs. Encore une fois, qu'est-ce qui fait que nous sommes censés tomber ?
Nous en avons fini avec cela. Maintenant, nous sommes censés écouter
sur cette socket, c'
est-à-dire le socket serveur. Et c'est
la quantité de connexion de ligne en attente que vous pouvez seul. Vous pouvez donc donner n'importe quoi
en fonction des besoins. Encore une fois, la
vérification des erreurs est effectuée ici. Et puis vous L'
essentiel commence à vous voir que je continue d'itérer. Je ne vais pas continuer en fait. Ce sera infini et,
selon cette chose, il reviendra entre les deux. Cette boucle de while
se poursuivra jusqu'à et à moins que vous ne retourniez pas dans
ce code de pizza. Vous devez donc
revenir pour monter sur cette boucle pour que
vous puissiez voir ce que je fais. Vous pouvez voir ici que j'
appelle la fonction de sortie. Comme je vous l'ai dit dans. Depuis que nous le sommes, nous avons fini de rendre le socket serveur non bloquant et nous
appelons la fonction de sortie. C'est efficace, c'est une demande
du client qui ne le sont pas, Elle n'attendra pas. Il va simplement l'allumer à bord. Il acceptera la connexion, elle retournera avec succès. Si ce n'est pas le cas, la connexion n'est pas là, aucune connexion de plan n'est disponible. Il reviendra immédiatement et il vous donnera l'
erreur de ce métal. Vous pouvez donc voir que la
fonction de sortie est, nous
appelons, nous analysons le socket
serveur, masse
insignifiante par socket. Et ces choses. C'est ça, c'est ce qu'en fait, et cela vous donne cependant. Cela vous donne le descripteur
client, en fait le descripteur de fichier. Il s'agit du descripteur de
socket client Dr. Vous êtes en train
de vérifier cela moins un. Alors cela
vous donnera S moins un. En fait. Vous allez vérifier
différents types d'erreurs. Indique lorsqu'il
ne s'agit pas de connexion client, c'est-à-dire lorsque vous ne
lancez pas le client. Évidemment, si vous appelez la fonction de
sortie et que vous ne l'êtes pas. Je lance cette ligne. Donc évidemment comment il
acceptera la connexion, il n'y a pas de client
présent et cela aussi, puisque nous faisons le
socket n'est pas bloquant. Il n'attendra pas. Il
reviendra immédiatement. Donc, dans ce cas, ce
sera moins un. Ce sera donc moins un lorsque vous n'êtes pas verrouillé lors
du lancement du client et que
vous appelez toujours la fonction de sortie
retournera immédiatement. Par conséquent, cette condition
sera satisfaisante, c'
est-à-dire l'appareil
éteint avec moins un. Et dans ce cas, vous serez à la maison différents chèques
différents. Vous le verrez donc modifier le numéro, qui est là
en fait, il est désactivé, il bloquerait les types. Cette erreur se produira en fait, cette erreur signifie que vous
étiez censé bloquer le socket
parce qu'il n'
y a pas de connexion client. Et donc dans ce cas l'exception aurait dû en fait, mais les États-Unis, depuis que vous l'avez fait, vous aviez fait ce
socket ne sont pas bloquants. Nous avons été retournés
immédiatement sans attendre la demande du
client. Et par conséquent, cela vous
donnera cette erreur disant que le trouble est présent et que vous
pouvez donc simplement dans ce cas, donc après un certain temps,
cela signifie que vous pouvez appeler
après un certain temps la même fonction que celle de la sortie. Puisqu'à cette époque, il n'y
avait pas de montée connectée Newton et le client de lancement et il n'y avait
donc pas de plan. Donc, comme c'est eta, vous pouvez attendre un certain temps et
appeler la fonction de sortie. Vous pouvez donc voir ce
message d'affichage à venir. n'y a pas de connexion en attente et Blackboard veille
pendant deux secondes. Donc je fais pour dormir autant de temps
en fait deux secondes, alors que va-t-il se passer ? Laissez-moi dormir, c'est fini. Ce qui se passera évidemment, encore une fois, il va itérer, contrôle de
bord ira
ici, en fait, il appellera la fonction de sortie
et il le fera à nouveau. Si c'est le cas, si vous l'
avez fait jusqu'à ce moment-là, si vous avez lancé
une ligne, qui se connecte
sur le même numéro, dans ce cas, elle acceptera la connexion et ce
vent reviendra avec succès . Et vous ne l'obtiendrez pas
si la condition est satisfaite. Si vous avez une ligne
non menaçante, ce descripteur de socket ne
sera pas moins un. Il s'agit d'une valeur non nulle et cela
sera donc satisfait. Et ensuite,
vous allez envoyer ce
message sur ce socket client lui-même à partir de la connexion au
serveur. Par conséquent, vous
écrivez un message à partir de celui-ci sur le socket client. Vous envoyez ce message, donc ce sable que vous appelez
depuis le programme serveur, du côté serveur
sur le socket client. Par conséquent, vous
donnez le
descripteur de socket du socket client. Et vous passez
ce message MSG, que vous donnez
est test, hé, bonjour. Ce serveur enverra un
message au client, que vous pouvez voir apparaître
sur la console de ligne. C'est ainsi qu'il
se comporte en sectionnement. Je vais vous montrer que vous avez acheté ce que
nous essayons de faire ici. clair que nous allons maintenant compiler
le programme et l'exécuter. Donc maintenant, en revenant
à Domino, ayant le programme,
laissez-moi juste réinitialiser pour que vous compreniez
plus clairement que nous avons. Laissez-moi donc retirer cet élément et laissez-moi
relancer le programme. Puisque nous devons compiler ce programme et que ce programme est écrit en langage C, je vais donc utiliser
l'outil de compilation GCC, qui sert à compiler le programme en langage C dans le cas du système
d'exploitation Linux, et donc je donne DCC. Il sera donc
installé par défaut dans votre système
d'exploitation Linux. Il est donc simple donner cette commande
et vous
verrez qu'elle a été créée. Maintenant, vous pouvez simplement
faire un point. Dans ce cas, lorsque vous l'
exécutez vous-même, nous terminerons le serveur. Que fait le serveur
puisque vous ne lancez que le serveur et que vous ne lancez plus
le client après cela. Dans ce cas, il
retournera en fait l'
appel de la fonction de manuel. Il reviendra immédiatement. Il va dormir pendant deux secondes. Et encore une fois, il appellera à nouveau
la fonction de sortie, elle retournera immédiatement
en veille ou deux secondes. Cela continuera donc à se produire
sur l'ADN et encore jusqu'à ce que vous ne
lanciez pas votre client. Une fois que vous lancez une ligne sombre, le solveur sera
simplement
étendu si le connecteur est réussi et enverra au moins un message
d'un serveur à l'autre. Voyons donc, on va
courir comme un point de départ. Vous pouvez donc voir ici qu'il n' y a pas de connexion
en attente. Il a dormi pendant deux secondes. Une fois encore. Après deux secondes de glissement, c'est reparti. Il appelle la fonction. Une fois encore. n'y a pas de connexions en attente,
donc il est revenu immédiatement et a dormi à nouveau Porto
quelques secondes, c'est une continuation de vous
dire, lancez votre temps. Alors, laissez-moi ou à long terme neuf, je vais ouvrir un nouveau
terminal comme celui-ci. Vous pouvez donc voir ici que ce
terminal est destiné au serveur. Dominant, dominant. Je vais utiliser pour
lancer l'heure. Alors comment, depuis le serveur En communication que nous
faisons sur la même
machine hôte en fait. Donc, je m'attarde sur cette machine de
cours et vends la nouvelle dominante
de cette manière. Et je le ferai, je
ferai pour me connecter au
serveur que je dois, je fais Telnet localhost
en fait 0 distance ce client serveur est sur
la même machine locale. Je donne un hôte local, c'
est-à-dire une adresse IP à n'importe quel 0
ou t car le serveur est lié à ce numéro de port que nous avons vu
dans notre programme. Donc une fois dû, vous pouvez voir ici une fois que j'ai
fait dix minutes ce qui s'est passé ? Il est centimètre, il est
connecté à l'hôte local. Et ce message a reçu, salut le serveur Thrombus. Voyons donc ce qui
s'est passé sur le solveur. Encore une fois, voyez dans les
mois et j'ai reçu un message. Une fois que vous lancez ce
client, le client envoie une demande de vous
avez vu en faire dix. Laissez-le dans ce cas, que s'
est-il passé ? Bennett a simplement accepté
la connexion, elle a été couronnée de succès. Et donc il va dire qu' faut se connecter et
il rapportera l'objet, quel message c'est génial, Nous avons vu à quel point nous
écrivons du solveur
sur la prise temporelle
que Dieu a affichée ici. Ensuite, nous ajoutons, nous
nous sommes déconnectés de cette connexion la plus proche l'
auteur et des
bits d'hôte que nous avons vus, ce que nous faisons
dans notre programme. C'est donc ce qui arrive, tout
ne se remet pas, ça attend en fait puisque nous l'avions mis
dans la boucle infinie. Si nous,
encore une fois intellectuellement, nous aimons cela. Et laissez-moi diriger celui-ci. Que va-t-il se passer ? Vous pouvez voir encore une fois que c'est le cas, il faut qu'il y ait un lien. Il leur dira :
Hé, bonjour, donc
c'est ce que c'était. Cela arrive en fait. La fabrication de la prise
n'est pas bloquante. Vous pouvez voir comment il
se comporte sexuellement. Maintenant, revenons à oui, oui. C'est ainsi que nous y sommes
parvenus. Je pense que le programme, en plus de l'exécuter,
rendre le socket
n'est pas bloquant. Communication avec le serveur client. C'est ainsi que vous ne pouvez pas
multiplier les lignes. Et puis du côté,
nous lui enverrons simplement
un message et aucun client n'est lancé, il reviendra tout simplement immédiatement et il vous
donnera le message. Il va dormir ou
deux secondes à nouveau, il continuera à
appeler la fonction de sortie. À cette minute, une petite
dune s'est connectée au ghetto. C'est ainsi que ça se passe. C'est le comportement
et nous en avons terminé avec cette session complète. En fait, nous avons vu
maintenant écrire le programme, vous avez vu quel est le
but du socket non bloquant, et nous avons écrit le
programme et exécuté. C'est. Je ne voulais pas dire
que j'en ai fini pour l'instant. Merci, mes amis.
Merci beaucoup.
27. Socket Session16 Socket ; Programmation de Socket: Bonjour, Bienvenue à cette
dernière session
du cours que cette application
de programmation de socket. Ici, nous verrons un parallèle. La programmation des sockets est
utilisée ainsi que nous
verrons les
applications réelles où toute la
programmation des sockets est utilisée. Voyons voir, étape par étape. Alors, commençons par
parler rapidement de la prise que
nous avons vue jusqu'à présent. Nous connaissons cette prise, c'est une
communication inter-processus au sein du même sabots ou des
sabots différents de ma chaîne. Ainsi, le client peut être présent la même machine hôte
qui
communiquera pendant l'audit de communication du
socket peut être présent sur une machine hôte
différente. Dans le diagramme,
révisez rapidement à ce sujet. Nous avons donc vu qu' il existe un serveur et
qu'il s'agit d'un client. Comprend l'
identité de l'argent pour la récupération doit avoir adresse IP
associée
et le numéro de port, qui doit avoir
son adresse IP et numéro de
port afin que le client, si vous devez faire la communication
avec la cellule, travailler en synchronisation avec la même adresse IP et le numéro de port sur lequel
le serveur est en cours d'exécution. La communication. Nous avons vu ce phénomène phénoménal et ils
communiquent donc une déficience, des baisses
légères. Ils communiquent
sur Internet. A commencé un par un. La demande sera envoyée
et nous serons présents dans la file d'attente en
fonction du programme, ce que vous avez configuré. Si vous avez de l'insentiment, devrait être de décliner et
d'agir dans la file d'attente, alors cela se produira. Dans ce cas, si vous ne souhaitez pas qu'une seule ligne communique
avec le serveur, vous ne souhaitez pas qu'un autre type de connexion soit
dans la file d'attente. Pour que nous ayons vu des fonctions
différentes, différentes sont donc
trottoir ou client, nous avons vu qu'il ne s'
agit que d'une révision. Maintenant, parcourez les zones où toute la
programmation des sockets est utilisée. C'est un par un
que j'ai décrit, ce qui permet de mettre en œuvre l'analyse en
temps réel. Quelle est donc cette analyse en
temps réel ? Vous savez que l'analyse en temps réel signifie une analyse du temps ADN, mais l'analyse sera effectuée. Par exemple, si vous
allez à différent, je dirais flipkart.com,
amazing.com. Vous pouvez voir que si
vous avez deux parties, si vous avez un téléphone portable, dans ce cas, vous pouvez voir que le site d'
achat intermédiaire vous
donnera plus de protection de l'écran hors écran tout en couvrant tout
cela parce que vous êtes en train de couper. Vous êtes à
la recherche du téléphone portable. Ils sont donc
assez intelligents pour afficher ces choses. Cela signifie que plus tard,
vous achèterez le petit jardin mobilisé comme vous l'êtes en
poursuivant le mobile. C'est tout ce qui concerne l'analyse d'analyse
en temps réel également des exemples. Si c'est le cas, supposons que vous cherchiez une robe
dans n'importe quel site de shopping. Visitez différents Instagram ou Facebook, vous pouvez voir
que vous obtiendrez l'âge adulte de s'habiller lui-même. Pour que plus tard vous puissiez parcourir ce
site et faire des achats. Il s'agit donc de l'analyse
en temps réel, de l'analyse. autres termes, quelle que soit votre
recherche dans votre navigateur, les données sont stockées
et elles
seront placées devant vous
chaque fois que vous êtes sur. L'utilisateur s'occupera de cette chose particulière qui arrive ou
se déplacera. C'est juste un type idéal. C'est ce que l'analyse
en temps réel. Ainsi, la programmation de socket est également
utilisée pour la messagerie instantanée par la logique domino et
comprend l'envoi du message, message
instantané à la socket. La communication avec notre
programmation y est utilisée. Ensuite, pour le streaming binaire, ainsi que pour la collaboration de
documents. Ainsi, à toutes ces fins, la programmation des sockets
est utilisée dans ces zones. Ensuite, il est également utilisé pour
créer le serveur. Les investisseurs comme les serveurs Web, les serveurs de
messagerie, les serveurs FTP
et d'autres serveurs. Nous avions donc vu qu'il y aura un
serveur et un client où toute la programmation de socket
peut être utilisée pour créer le serveur,
comme les serveurs Web, serveurs de
messagerie, les
serveurs FTP sont trans. Ces serveurs FTP doivent être associés au transport
de fichiers. Le principal que vous pouvez, vous pouvez
comprendre ce que c'est pour le, ce qui concerne l'envoi des
moyens au serveur pour cela. Toute la
programmation des sockets est utilisée. Et si vous parlez
du côté client, alors les navigateurs qui peuvent
être Firefox ou peuvent être développés, c'
est-à-dire la programmation de socket utilisée. Ce sont les zones où tous les sockets programment
ou sont utilisés d'autres zones. La plupart des protocoles de niveau
application croyants. Vous avez vu File Transfer
Protocol, SMTP, POP3, Big News OK, socket pour établir la connexion
entre le client et le serveur. Ensuite, pour l'échange de données, vous savez que FTP
est utilisé pour transférer le fichier du
serveur vers le client sorte que toute la programmation du
socket soit utilisée pour envoyer le courrier, pour en envoyant des choses différentes, en fait tous ces SMTP que des
messages sur la poterie. Toutes ces choses sont, elles vont utiliser
la prise. Ce sont les applications
qui vous feront bien que socket dans la communication se
produira entre le
serveur et le client. C'est toutes les idées où toute la
programmation des sockets est utilisée, ce FTP, SMTP, et j'espère que ce
sont les protocoles. Maintenant, une autre chose en fait
où tous les socrates utilisaient, je suis allé sur le socket deux, donc nous les avons vus dans les API de
socket, tout cela. Il permet au programmeur de
créer des applications avancées de
capacité Internet, intranet et autres applications réseau intranet et autres applications réseau
pour transmettre les données de l'application
sur le fil indépendamment du
protocole réseau étant utilisé, toute la
programmation des sockets est utilisée. Ensuite. Si vous parlez d'applications
en temps réel, agit de l'
application en temps réel sur laquelle Socrates, nous avons vu ce programme. Pour cela, nous avons réalisé l'application de chat en temps réel entre le serveur et le client. Nous avons vu cette communication
TCP et pour Windows et
Linux lui-même. Nous avons fait le
programme
également exécuté comme la
boîte serveur au client, client parle au serveur. C'est la
programmation de socket utilisée, c' est-à-dire une application de
chat en temps réel. Ensuite, une autre application en temps réel
où le socket est utilisé. Nous avons vu le
serveur HTTP Apache communiquer
avec le navigateur client. Donc ici, nous avons également
programmé pour
cela, mais ce n'est pas le cas. Nous avons vu que
chaque fois que l'utilisateur donne un lien côté client, le navigateur peut être Mozilla, peut être développé Internet Explorer
sur n'importe quel autre navigateur. Chaque fois que l'utilisateur
donne une URL
, ce navigateur
lui-même est un client. La demande sera donc envoyée
au serveur HTTP Apache. Et ce sentiment client cependant, nous allons communiquer avec
le serveur en ce qui concerne l'
envoi du message, en termes de format d'en-tête. Nous l'avons vu
dans la compréhension cette session, car j'
ai déjà examiné comment le client
enverrait-il le
message à la barre latérale au format d'en-tête vers le haut
et comment le corps réagit en envoyant l'en-tête
et le corps jusqu'aux pouces, insuline sur le côté ou réponse d'incitation Web
triste au client et la page est chargée, quelle que soit
l'URL donnée par l'utilisateur sur le navigateur
qui paie sera chargée. Nous avons donc déjà
programmé cette formule,
ainsi que Paulina. Nous avons donc vu cette application
réelle. Cette programmation de prise est
utilisée dans une autre application, l'application en temps réel est pour application de réservation de
taxi sur la programmation de prise est utilisée. Ce sont cependant les domaines dans lesquels toute la programmation des sockets
est utilisée. Je l'ai fait pour cette dernière
session de ce cours. Nous avons maintenant terminé
le cours complet. Merci. Merci beaucoup.
28. SocketSession17 SourceCode: J'ai le code source de
tous les programmes de socket, que j'ai abordés
dans tout ce cours. Vous pouvez donc le référer
après avoir compris le tableau que j'ai expliqué
lors de différentes sessions.