Waar worden netwerksockets gemaakt?

Olivia de Wit

Ze zijn gemaakt door iemand die ze niet echt nodig heeft en ze worden verkocht zoals zoveel objecten op eBay. Wat kan ik doen om hen te helpen? Nou, ik ben hier om u te vertellen dat er een eenvoudige manier is om netwerken sockets te maken in uw huis. En we zullen je laten zien hoe op een eenvoudige manier. Laten we eens kijken naar een voorbeeld van hoe u netwerkcontacten maken:

De meest elementaire methode om netwerkcontacten te maken is met een programma zoals dit een programma dat zal worden uitgevoerd in een interactieve terminal: Voor een snelle demonstratie: Wat je doet is het uitvoeren van de code die we u hieronder laten zien (er zijn een aantal extra regels code die dingen ingewikkelder zal maken). Voer de volgende terminalopdracht uit: sudo python./netwerk.py In het eindvenster ziet u een venster dat er ongeveer zo uitziet: U de opdracht vervolgens typen: Het resultaat van deze opdracht is een netwerkcontactbestand met de inhoud hieronder: Wat u helemaal niet hoeft te typen is: de naam van de socket Het type van de socket (dit kan een of meer van de volgende zijn: socket, socket-groep, socket-protocol, socket-local, socket-fd, socket-addr, socket-localport, socket-sockaddr, socket-sockport, socket-dstaddr, socket-dstport, socket-localaddress, socket-localport, socket-dstaddr-localaddress, socket-dstport-localaddress of socket-dstport-localaddress) U ook de opdracht gebruiken: Om alle sockets op het systeem te zien die het script heeft gevonden. Als uw scripts veel socketopdrachten gebruiken, u de opdracht gebruiken: deze opdracht is handig voor het controleren van de status van een socket. Als het script in het bijzonder een socket vindt met een status die niet is gebruikt, u controleren of de socket open is (met andere woorden, als de status van de socket niet-nul is). De opdracht kan een nummer aannemen. Bijvoorbeeld: als (is_open(socket_name, SOCK_STREAM))... en als (is_open(socket_name, SOCK_DGRAM))... Sehen Sie sich fernerhin den Webcam Friesland Erfahrungsbericht an. en als (is_open(socket_name, SOCK_SEQPACKET))... Ik heb een aantal voorbeelden geschreven die de opdracht in actie demonstreren. (Het voorbeeld voor socket_name is een voorbeeld van wat u krijgen van de opdracht.) Een socket die u wilt gebruiken is ingesteld als de socketparameter en als u opengeeft, wordt deze geopend. Dit zal opmerkelijk zijn in vergelijking met netwerkaansluiting (Het is mogelijk om dit te doen voor SOCK_STREAM en SOCK_DGRAM, maar ik heb het niet geprobeerd omdat het echt ingewikkeld.) Als u de socket niet wilt openen, moet u deze opdracht schrijven, zonder parameters, die de kernel vertelt deze socket te negeren en geen van de functies ervan aan te roepen. Het maakt niet uit of de socket die u schrijft is open, dicht of iets anders; alles wat telt is het resultaat van het commando.

Voorbeeld #1: een socket instellen op het argument socket_name als socketparameter: (set_socket(sock_name, socket_type,...) ...) Ik kan zien dat er een probleem is met mijn programma; Ik weet zeker dat je ook, maar als je probeert om uw functie te bellen zonder de socket parameter, de kernel begrijpt niet uw commando. Het probeert niet om de werkelijke parameters van uw commando te begrijpen, maar gewoon denkt dat dit commando verwijst naar een socket genaamd socket_name, in welk geval het het juiste doet. Dat is de enige keer dat we een soort commando-lijn-gestuurde uitleg van onze commandolijn moeten schrijven. Het is een goede zaak.