Canllaw Byr i Raglenni Soced ar gyfer Rhwydweithiau Cyfrifiadurol TCP / IP

Mae rhaglennu soced yn cysylltu cyfrifiaduron gweinydd a chleient

Rhaglennu socedi yw'r dechnoleg sylfaenol y tu ôl i gyfathrebu ar rwydweithiau TCP / IP . Mae soced yn un pen pennawd o gysylltiad dwy ffordd rhwng dwy raglen sy'n rhedeg ar rwydwaith. Mae'r soced yn darparu pwynt penodi cyfathrebu bidirectional ar gyfer anfon a derbyn data gyda soced arall. Fel rheol, mae cysylltiadau soced yn rhedeg rhwng dau gyfrifiadur gwahanol ar rwydwaith ardal leol ( LAN ) neu ar draws y rhyngrwyd, ond gellir eu defnyddio hefyd ar gyfer cyfathrebu rhyngbrosesu ar gyfrifiadur unigol.

Socedi a Chyfeiriadau

Mae gan bob un o'r pwyntiau penodedig ar rwydweithiau TCP / IP gyfeiriad unigryw sy'n gyfuniad o gyfeiriad IP a rhif porthladd TCP / IP. Gan fod y soced yn rhwymo i rif porthladd penodol, gall haen TCP nodi'r cais a ddylai dderbyn y data a anfonir ato. Wrth greu soced newydd, mae'r llyfrgell soced yn cynhyrchu rhif porthladd unigryw yn awtomatig ar y ddyfais honno. Gall y rhaglennwr hefyd nodi rhifau porthladdoedd mewn sefyllfaoedd penodol.

Sut mae Socedi Gweinyddwyr yn Gweithio

Fel arfer, mae gweinydd yn rhedeg ar un cyfrifiadur ac mae ganddo soced sy'n rhwym i borthladd penodol. Mae'r gweinydd yn aros am gyfrifiadur gwahanol i wneud cais am gysylltiad. Mae'r cyfrifiadur cleient yn gwybod enw host y cyfrifiadur gweinydd a'r rhif porthladd y mae'r gweinydd yn ei wrando arno. Mae'r cyfrifiadur cleient yn nodi ei hun, ac-os yw popeth yn mynd yn iawn, mae'r gweinydd yn caniatáu i'r cyfrifiadur cleient gysylltu.

Llyfrgelloedd Socket

Yn hytrach na chodio'n uniongyrchol at APIs soced lefel isel, mae rhaglenwyr rhwydwaith fel arfer yn defnyddio llyfrgelloedd soced. Dau lyfrgell soced a ddefnyddir yn gyffredin yw Berkeley Sockets ar gyfer systemau Linux / Unix a systemau WinSock ar gyfer Windows.

Mae llyfrgell soced yn darparu set o swyddogaethau API sy'n debyg i'r rhai y mae rhaglenwyr yn eu defnyddio i weithio gyda ffeiliau, megis agor (), darllen (), ysgrifennu (), a close ().