Увод у Соцкет програмирање у Питхон-у

Код програмирања утичница, комуникација се успоставља путем мреже између две утичнице (чворова). Сервер дјелује као порт слушаоца који слуша на одређеном ИП-у, а клијентска утичница допире до сервер утичнице за комуникацију. Да бисмо радили у програмирању соцкет-а, мораћемо да увежемо библиотеку соцкет-а коју пружа питхон.

Питхон Соцкет Сервер

Соцкет је крајња тачка за слање или примање података, па нам је за то потребан сервер и клијент соцкет програм. За наш пример програма, ми ћемо на истој машини угостити сервер и клијент. Чак можемо да шаљемо и примамо преко сервера. Треба напоменути да можемо имати само један серверски програм, док можемо имати више клијентских програма.

Протокол контроле преноса (ТЦП) је задани протокол који је изабран. ТЦП је поуздан јер пошиљалац детектира и прослеђује пакете који се бацају у мрежу. ТЦП такође пружа испоруку података из налога, тј. Редослед по коме их пошиљалац шаље сличним редоследом који је чита апликација.

сервер.пи

Погледајте програм испод: сервер.пи

Редак 3: Соцкет је унапред инсталирана библиотека и за то ће се створити објект. Овај соцкет модул се увози у програм питхон и користиће се као функција соцкет касније у програму. Овде стварамо објекат који ће позвати функцију соцкет.

Редак 4: соцкет.АФ_ИНЕТ одговара ИПВ4 (Ако желите да користите ИПВ6, тада се може користити соцкет.АФ_ИНЕТ6. То се односи на породицу утичница. АФ_ИНЕТ одређује протокол који ће се користити за комуникацију. ИПВ4 и ИПВ6 су различита контрола преноса. начини или протоколи за пренос података путем мреже.

ИПВ4 и ИПВ6 су само различите врсте ИП адреса. Соцкет.АФ_ИНЕТ одговара ТЦП. Протокол за контролу преноса (ТЦП) ради са ИП-ом и дефинише на који начин рачунар међусобно шаље пакете података.

Следеће што је потребно је ТЦП за то ће нам требати соцкет.СОЦК_СТРЕАМ, што је тип соцкет-а. ТЦП је протокол оријентисан ка везама, који у основи укључује тросмерну конекцију руку са сервером и клијентом. Тада дајемо име хоста где ће се клијент повезати.

Редак 5: За име домаћина, „лоцалхост” или „127.0.01” или соцкет.гетхостнаме () може се користити било који од ових. Добија ИП адресу сервера.

Наведена су два параметра која дефинишемо за утичницу.

Линија 6: Обично имамо много портова у нашем систему, тако да морамо да користимо некоришћени хост порт. Било која четвороцифрени може се користити, јер су углавном заузете доње цифре.

Редак 7: Метода бинд (), која веже хост и порт за утичницу.

Сви ови кораци потребни су за покретање нашег сервера. Сада морамо направити клијента. Као што је већ поменуто, можемо имати више клијената.

Редак 8: Имамо могућност да наведемо број клијента који може комуницирати са сервером. То се постиже помоћу слистенције (6). Покреће ТЦП слушач. Нумерички представља број клијената који могу комуницирати. Ако на пример дође 7. клијент, он ће бити одбачен.

Редак 9: с.аццепт () ће прихватити захтјев клијента и враћа два објекта, један је објект соцкет-цлиент, а други је адреса. ИП адреса ће бити адреса клијента где је наш клијент присутан.

Редак 10: Ово је више као обавештење сервера о успостављаној вези.

Коначно, исписујемо изјаву која би се требала приказати када се оба програма покрећу у терминалу. Након што завршимо са нашим сервером програма, отписат ћемо програм за клијенте.

Питхон Соцкет Цлиент

Овде смо расправљали о клијенту питхон соцкет-а:

цлиент.пи

Ево нашег програма за клијента: цлиент.пи

Програм за клијенте такође има сличну утичницу као што то видимо у случају серверског програма. Обично се клијентски програм покреће са серверског програма. Није у истој машини као у овом примеру овде. Помоћу утичница, оно што намеравамо да постигнемо је да комуницирамо преко Питхон програма на локално умреженој машини или чак на удаљеним мрежама.

Редак 8: Постоји метода везивања () у програму сервера, овде ће се користити метода цоннецт (). Тупле ће овде преузети хост и порт у методи. Узимамо исти порт који смо користили у нашем сервер.пи

Морамо покренути сервер.пи и цлиент.пи на различитим терминалима и тако ћемо видети како се веза одвија.

Излаз:

Снимак екрана је са два различита терминала, један је отворен у ЦМД-у, а други отворен у ПоверСхелл-у у Виндовс-у. Леви прозор отвара сервер.пи програм, а терминал са десне стране отвара цлиент.пи програм.

Видимо излаз исписан на терминалу на страни сервера.

Слање низа из једне датотеке у другу датотеку

Покушаћемо да пошаљемо поруку са стране клијента на сервер. Писаћемо поруку у цлиент.пи програму.

1. цлиент.пи

Ево нашег програма за клијента: цлиент.пи

Редак 9 и Ред 10: Поруку постављамо у променљиву и шаљемо је у облику бајтова и претварамо је или је кодирамо у УТФ-8 формату. (УТФ је Уницоде стандард јер су сви садржаји поруке карактери и они се налазе у Уницоде табели). Требали би да кодирамо и чувамо податке што је могуће мање, иначе би пренос могао да успе у неко време.

Редак 11: Затварамо везу.

У програму сервера извршићемо следеће промене.

2. сервер.пи

Ево нашег програма за сервер: сервер.пи

Редак 11: Да бисмо изградили везу, користимо објект соцкет клијента. Помињемо величину међуспремника додавањем методе 1024 бајта (1 КБ) и задржавамо се у поруци променљиве.

Линија 13: Затим исписујемо методу.

Излаз:

Поновно отварамо оба терминала и видимо следећи излаз.

Закључак - Програмирање соцкет-а у Питхон-у

Овде су описане основе програмирања соцкет-а, али мора се напоменути да је то масивна домена и постоји још много тога што треба покрити у програмирању соцкет-а. Добро разумевање основа помогло би у суочавању са сложеним сценаријима клијент-сервер.

Препоручени чланци

Ово је водич за Соцкет Программинг у Питхону. Овдје смо расправљали о концепту питхон соцкет сервера и питхон соцкет клијента са имплементацијом кода. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Питхон угнијежђене петље
  2. Топ 15 карактеристики Питхона
  3. Топ 7 Питхон ИДЕ за Виндовс
  4. Различити методи у Питхон сетовима

Категорија: