Знајте све о Соцкет програмирању на Јави



Програмирање Јава Соцкет користи се за комуникацију између апликација покренутих на различитим ЈРЕ. Програмирање Јава Соцкет може бити оријентисано на везу или без везе.

Програмирање сокета у користи се за комуникацију између апликација које су покренуте на различитим . Може бити оријентисана на везу или без везе. У целини, сокет је начин за успостављање везе између клијента и сервера. У овом чланку ћу вам рећи све о Соцкет програмирању.

У овом чланку су обрађене следеће теме:





Шта је Соцкет програмирање на Јави?

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

Комуникација клијентског сервера - Програмирање сокета у Јави - Едурека



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

Сада да схватимо основни концепт Соцкет програмирања, тј. Соцкет.

Шта је Соцкет у Јави?

ДО утичница у је једна крајња тачка двосмерне комуникационе везе између два програма која се изводе на мрежи. А. утичница је везан за број порта тако да ТЦП слој може да идентификује апликацију којој су подаци намењени за слање.



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

Сада када знате шта је Соцкет у Јави, идемо даље и схватимо како клијент комуницира са сервером и како сервер одговара.

Програмирање на страни клијента

У случају програмирања на страни клијента, клијент ће прво сачекати да се сервер покрене. Једном када се сервер покрене и он ће послати захтеве на њега. Након тога, клијент ће сачекати одговор од сервера. Дакле, ово је цела логика комуникације клијента и сервера. Хајде сада да детаљно разумемо програмирање на страни клијента и на страни сервера.

Да бисте покренули захтев клијента, морате следити следеће кораке:

1. Успоставите везу

Први корак је успостављање утичнице. Соцкет веза подразумева да две машине имају информације о међусобној мрежној локацији (ИП адреса) и ТЦП порту.

Можете направити Соцкет помоћу доле наведене изјаве:

Соцкет соцкет = нова утичница (“127.0.0.1”, 5000)

  • Овде први аргумент представља ИП адреса сервера .

    претвори доубле у инт јава
  • Други аргумент представља ТЦП порт . (То је број који представља коју апликацију треба покренути на серверу.)

2. Комуникација

Да би се комуницирало преко утичнице, токови се користе и за унос и за излаз података. Након успостављања везе и слања захтева, морате да прекинете везу.

3. Затварање везе

Веза са утичницом се експлицитно затвара када се пошаље порука серверу.

Сада да видимо како да напишемо Јава програм за примену соцкет везе на клијентској страни.

// Јава програм за ЦлиентСиде импорт јава.нет. * Импорт јава.ио. * публиц цласс ЦлиентПрограм {// иницијализација сокета и улазних излазних токова привате Соцкет соцкет = нулл привате ДатаИнпутСтреам инпут = нулл привате ДатаОутпутСтреам оут = нулл // конструктор ставити ип адресу и порт јавног клијента (адреса низа, инт порт) {// успоставити везу покушати {соцкет = нев Соцкет (адреса, порт) Систем.оут.принтлн ('Цоннецтед') // узима улаз са терминала инпут = нови ДатаИнпутСтреам (Систем.ин) // шаље излаз у утичницу = нев ДатаОутпутСтреам (соцкет.гетОутпутСтреам ())} цатцх (УнкновнХостЕкцептион у) {Систем.оут.принтлн (у)} цатцх (ИОЕкцептион и) {Систем.оут .принтлн (и)} // низ за читање поруке са улаза Стринг лине = '' // настави читати док се не унесе 'Овер' док (! лине.екуалс ('Овер')) {три {лине = инпут.реадЛине ( ) оут.вритеУТФ (лине)} цатцх (ИОЕкцептион и) {Систем.оут.принтлн (и)}} // // затвори везу покушај {инпут.цлосе () оут.цлосе () соцкет.цлосе ()} цатцх (ИОЕкцептион и ) {Систем.оут.принтлн (и)}} јавна статичка воид главна (Стринг аргс []) {Цлиент цлиент = нев Цлиент ('127.0.0.1', 5000)}}

Сада, применимо програмирање на страни сервера, а затим дођите до резултата.

како направити низ објеката

Програмирање на страни сервера

У основи, сервер ће инстанцирати свој објекат и сачекати захтев клијента. Једном када клијент пошаље захтев, сервер ће поново комуницирати са одговором.

Да бисте кодирали серверску апликацију, потребне су вам две утичнице и то су следеће:

  • ДО СерверСоцкет која чека захтеве клијента (када клијент направи нови Соцкет ())

  • Обичан стари утичница за комуникацију са клијентом.

После овога, требате да одговорите са клијентом.

Комуникација

гетОутпутСтреам () метода се користи за слање излаза кроз утичницу.

Затворите везу

Важно је затворити везу затварањем утичнице, као и улазно / излазних токова када се све заврши.

Сада да видимо како да напишемо Јава програм за примену соцкет везе на страни сервера.

// Јава програм за Серверсиде импорт јава.нет. * Импорт јава.ио. * публиц цласс СерверСиде {// иницијализација сокета и улазни ток привате Соцкет соцкет = нулл привате СерверСоцкет сервер = нулл привате ДатаИнпутСтреам ин = нулл // конструктор са порт јавни сервер (инт порт) {// покреће сервер и чека везу покушај {сервер = нови СерверСоцкет (порт) Систем.оут.принтлн ('Сервер је покренут') Систем.оут.принтлн ('Чека се клијент .. . ') соцкет = сервер.аццепт () Систем.оут.принтлн (' Клијент прихваћен ') // узима улаз из утичнице клијента у = нев ДатаИнпутСтреам (нев БуффередИнпутСтреам (соцкет.гетИнпутСтреам ())) Стринг лине =' '/ / чита поруку од клијента док се не пошаље 'Овер' док (! лине.екуалс ('Овер')) {три {лине = ин.реадУТФ () Систем.оут.принтлн (лине)} цатцх (ИОЕкцептион и) {Систем. оут.принтлн (и)}} Систем.оут.принтлн ('Затварање везе') // затварање везе соцкет.цлосе () ин.цлосе ()} цатцх (ИОЕкцептион и) {Систем.оут.принтлн (и)}} публиц статиц воид маин (Стринг аргс []) { Сервер сервер = нови сервер (5000)}}

Након конфигурисања и клијента и сервера, прво можете да извршите програм на страни сервера. Након тога, морате покренути програм на страни клијента и послати захтев. Чим се захтев пошаље са краја клијента, сервер ће одговорити натраг. Испод снимак представља исто.

1. Када покренете скрипту на страни сервера, она ће се покренути и сачекати да клијент започне.

2. Затим ће се клијент повезати и уносити захтев у облику низа.

3. Када клијент пошаље захтев, сервер ће одговорити натраг.

Тако треба да извршите соцкет програм на Јави. Ове програме такође можете извршити на прозору терминала или у командној линији. Али, како је Ецлипсе добро напредовао са својим функцијама, можете једноставно извршити оба програма на конзоли.

Ово нас доводи до краја чланка о Програмирању сокета на Јави. Надам се да сам бацио светло на ваше знање Програмирање сокета.

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Овде смо да вам помогнемо у сваком кораку на вашем путовању, јер поред тога што постављате питања о јава интервјуу, осмислили смо наставни план и програм који је дизајниран за студенте и професионалце који желе да буду Јава програмери.

Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог чланка „Програмирање сокета на Јави“ и јавићемо вам се што је пре могуће.