En oversikt over UDP ...

Hva er UDP? Hvordan kan vi bruke det i Delphi? En introduksjon til UDP
UDP er en forkortelse for User Datagram Protocol. Det er ikke noe annet enn en forbindelsesløs transportprotokoll som kjører på TCP /IP er IP.The nytte av denne protokollen er at det er forbindelsesløs. Det trenger ikke noen sammenheng før du sender datapakker til en annen computer.The ulempe er at det gir en upålitelig datagram tjeneste. Det vil si at datapakkene kan dupliseres, mistet eller mottatt i en annen rekkefølge enn den de ble sendt. Slik anvendelse må håndtere alle de situasjoner robustly.The motta program krever et antall bytes (maksimum vil være det totale antall byter i den mottatte pakke). Hvis mindre enn den fulle pakke blir lest, deretter ble resten kastes. Så neste lese er fra neste pakke. Det betyr at grensene for den opprinnelige pakken er bevart. For at søknaden må håndtere feilretting under lesing packets.This UDP er best egnet for små, uavhengige forespørsler som ber om en verdi på en variabel etc., Hvis dataene er for stor til å sende (dvs. mange pakker med data) og verdifull, da UDP er ikke den foretrukne protokollen til use.There er en komponent i Delphi 5 utgave for UDP fra NetMasters kalt NMUDP. Denne komponenten er lik å bruke som TclientSocket komponent Sammenligningen av TClientSocket komponent med TNMUDP komponent.
Såvidt eiendommene er bekymret, her i NMUDP må vi sette LocalPort (det kan være noen heltall større enn null, men bør ikke være null) for å motta data som sendes fra serveren i tillegg til RemoteHost og RemotePort. Men faktisk kan verten være en ekstern en. Det kan være en lokal maskin. (ie) vi kan sende datapakker til klientmaskinen og få svar tilbake for testing purposes.Also vi kan stille Rapporter nivå eiendom for å få status i løpet av transmission.And så langt som metodene er bekymret, det er ingen stor forskjell; du har de ReadStream, Readbuffer metoder som i TClientSocket komponent Når det gjelder arrangementer.
Som hendelsen Onclientsocketread i Tclientsocket komponent, her vi kan bruke nøkkel hendelsen OnDataReceived å få data tilbake fra server.Regarding grensene av datapakkene, må vi identifisere grensene for datapakkene mens du bruker enten TclientSocket eller NMUDP komponent for å få nøyaktig data som sendes fra serveren.For at (uavhengig av hvilken komponent du bruker), kan vi bruke begrepet av meldingshodet tag og slutt tag som HTML-koder. Ved at vi kan identifisere start og avslutning av en datapakke. Også vi kan sende mange opplysninger i en datapakke med annen melding overskriften /slutter tag. (Dette avsnittet vil svare på et spørsmål en person spurte en gang tilbake thro 'e-post) I søknaden min, jeg sender en hel haug med byte til en annen datamaskin og får svar tilbake ved hjelp av bare meldingshodet /end tag. Med denne fremgangsmåten, er det meget mindre mulighet for å miste data. Hvis vi ikke får hele tag innholdet mellom header /end tag, kan vi kaste en feilmelding til brukeren, slik at brukeren kan prøv å sende de samme dataene på nytt, eller ta noen andre tiltak robustly.Enjoy !!! Thanks.Magesh .