Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Обмен данными сервер-программа

18K
02 июля 2007 года
Ev-Gen
14 / / 02.10.2006
Привет всем!
У меня такой вот вопрос, есть у меня небольшая программка, которая шлёт на сервер запрос чтото типа GET http://some_host/?q=3 HTTP/1.1
в ответ проге, сервер должен отослать квадрат полученного числа, а именно 9. Я же получаю в ответ весь мусор протокола http

view = HTTP/1.1 200 OK
Server: nginx/0.5.20
Date: Sun, 01 Jul 2007 14:34:04 GMT
Content-Type: text/html; charset=windows-1251
Connection: close

9

как видно, лишней информации очень-очень много =(
когда мне надо получить всегото 1байт, я получаю 150
можно ли как нибудь использовать другой протокол, или как нибудь без http, чисто на ip-domain(сервер-клиент) выкрутиться
или максимум снизить заголовки, онлайн мморпг игры както же выкручиваются, у них ведь заголовки не такие. тогда какие протоколы там используются.. и тд.

на сервере который юзаю, используется php, можно ли как нибудь наладить нормальную связь, и если да то какой должен быть протокол, что должно работать на сервере, хватит ли для этой цели php.
подскажите кто что думает по этому поводу.
спасибо..
240
02 июля 2007 года
aks
2.5K / / 14.07.2006
Ну либо ты юзаешь HTTP, и работаешь с заголовками - без них никак, это часть протокола. Да и как ты узнаешь без них что читать?
Либо разрабатываешь свой протокол, серверную часть, которая выполняется не по запросу а все время висит на сервере и реализуешь свой протокол через TCP или UDP сокеты. Абсолютно ничего сложного в самом сетевом взаимодействии тут нет - главное грамотно организовать протокол и его обработку. Ну и конешно клиентская часть должна уметь работать с сокетами. Если ты пытаешься делать это из браузера, то он сам по себе не дас такой возможности. Надо юзать что то дополнительное типа Java applets, Flash и т.п. Если у тебя просто своя самописная прогроамма, то конечно прощще реализовать свой протокол (ну или видоизменить какой либо более подходящий и расширяемый протокол), HTTP всеже для этих целей исспользовать неэффективно.
18K
02 июля 2007 года
Ev-Gen
14 / / 02.10.2006
текс.. в общем так, раньше программка соединялась с прогой сервером, которая просто была запущен на компе, и зная ip где запущен сервер, мы уже без проблем обменивались инфой.
теперь вот хочу попробовать вытащить этот сервак на хост и написать его например на php, конечно же корень квадратный был приведён для примера.
вот хотелось бы узнать про организацию протоколов на стороне сервера
думал на счёт UDP, но подробной инфы не нашел по этому поводу.

основная суть вопроса, есть ли возможность связаться через свою самописную прогу например с php сервером используя левый протокол, ну или свой. и если да, то где об этом (протоколы на хостах) можно узнать подробнее.
какие нить статейки, или чтото от себя
может гдет на форуме было уже отписано про реализацию протоколов. что для этого над делать на самом хосте и тд.
вот..
кто что думает по этому поводу?
240
02 июля 2007 года
aks
2.5K / / 14.07.2006
Если сервер уже был написан, что мешает его точно так же запустить не на локальной машине, а на другом нужном вам хосте?
Его конечно можно переписать на php, но на мой взгляд - это не лучший вариант. Всеже этот язык в первую очередь для web предназначен, а не самостоятельный сервер писать. Но конечно же там точно так же можно обмениваться данными через сокеты. И Так же исспользуйте свой собственный протокол.

Хотя если все уже работает на локальной машине - не вижу проблемы тогда, почеу бы это все не запустить в другом месте, и почему вобще встает такой вопрос. )
92
02 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
написать сервак на Perl или C++ и спокойно жить =))))) лучше на Perl, чтобы было меньше мороки с компиляцией и тд, но с другой стороны... лучше на С++, чтобы работало быстрее :)

PS: может я в чём-то и не прав.

PPS: а aks прав если сервер уже написан, то почему просто не перетащить его на другую машину? :)
18K
02 июля 2007 года
Ev-Gen
14 / / 02.10.2006
дело в том, что меня смущает возможность работы сервера на бесплатном хотинге =( а для тестирования и написания полноценного сервера, пока использую бесплатный хост фатал.ру
пхп там держится, на счёт другого всего просто не смотрел, думал можно будет просто тамошним пхп обойтись, для написания сервера и апгрета самого клиента
12
02 июля 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: aks
Если сервер уже был написан, что мешает его точно так же запустить не на локальной машине, а на другом нужном вам хосте?


Я так понимаю, что автор тратиться на сервер не хочет. Или хочет, но не сильно. Вот ты мне покажи какой хостер даст у себя запускать некое ПО? Тут только дедик.

ЗЫ. Кстати на форуме висит реклама VDS-а, так может это как раз и спасет отца русской демократии? :D Тем более, что цены более чем демократичные особо сравнивая с дедиками. А для его задачи, имхо, VDS-а должно за глаза хватить.

240
02 июля 2007 года
aks
2.5K / / 14.07.2006
Цитата: alekciy
Я так понимаю, что автор тратиться на сервер не хочет. Или хочет, но не сильно. Вот ты мне покажи какой хостер даст у себя запускать некое ПО? Тут только дедик.


Ну я никогда не пользовался такими хостерами, если у меня нет рутового шела на сервер. )) Просто привычка.

Ну вобще на php можно конечно написать. Хотя полно Java хостингов, Python хостингов и т.п. Помоему это более приятно юзать для создания сервера. )

12
03 июля 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: aks

Ну вобще на php можно конечно написать.


Можно. Я даже web сервер видел написаный на PHP. Но это же изврат еще тот. Можно и суп палочками есть :D , но ложка то практичнее.

92
03 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Ev-Gen
дело в том, что меня смущает возможность работы сервера на бесплатном хотинге =( а для тестирования и написания полноценного сервера, пока использую бесплатный хост фатал.ру
пхп там держится, на счёт другого всего просто не смотрел, думал можно будет просто тамошним пхп обойтись, для написания сервера и апгрета самого клиента


а на чём счась серв написан? и что он вообще делает? :)

18K
04 июля 2007 года
Ev-Gen
14 / / 02.10.2006
и клиент и сервак написаны на дельфи, потом уже клиет будет разбит и переделан, так что его будет юзать сторонняя прога, юзающая длл
а сервак думали отписать на пхп.
но при раскладе что клиен может слать до 10 запрросов в секунду, сами лишние байты протокола http не устраивают. это до килобайта мусора в секунду выходит? вот я и хотел спросить, можно ли стандартными стредствами это реализовать. или всётаки выход, иметь гуд хост и юзать exe (cgi) сервак
92
04 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
зачем EXE, напиши сервак на Perl, со своим протоколом, с использованием сокетов (лишних байт не будет :)), как советовал aks. и всё будет нормально, а клиент ровно на чем написан будет. :) дерзай!
18K
04 июля 2007 года
Ev-Gen
14 / / 02.10.2006
так народ, тогда на чём писать сервак определились. с клиентом проблем не будет, эт разберёмся, а вот с перлом я всётаки не оч знаком.
не знаете ли где статейку про организацию сервера на перле?
именно сервера, тут на сайте прочел про соединение с сервером.
а вот сам сервер не описан.
если знаете статейку хотябы примерную, или пару функций каких над буит юзать, подробнее дальше найду думаю, главное нать ведь чтоб держать порт и отвечал на приход данных,
с обработкой последних то уж разбирусь
240
05 июля 2007 года
aks
2.5K / / 14.07.2006
Организация сервера на стеке протоколов TCP/IP она в любом языке примерно одинакова. Ты главное с серверным языком определись - что лучше знаешь. Можно и на perl, но он для новичка в нем помоему сходу сложен будет.
А лишние байты они всеравно будут. Хоть в протоколах более низкого уровня. В TCP, в IP и т.п. )
15K
05 июля 2007 года
eviluo
30 / / 30.10.2006
лучше писать сервер на том языке, который лучше понимаешь. невижу проблем с написанием на пхп, совсем не вижу.
вот пара статей по теме
_http://lock-team.ru/articles/coding/17
_http://lock-team.ru/articles/coding/18
вообще не понимаю почему некоторые php так не любят...
240
05 июля 2007 года
aks
2.5K / / 14.07.2006
Ну за что его не любить есть причины. Не понятно знает ли автор php, а учить его только из-за того что он на многих хостингах чтоит помоему нерационально. Лучше действительно на том, что лучше знает. Ну и найти хостинг соответсвующий.
92
05 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
eviluo, чтобы посмотреть точку зрения некоторых участников форума, тебе надо в тему PHP vs. Perl сходить.

Ev-Gen, http://www.codenet.ru/webmast/perl/socket.php
15K
05 июля 2007 года
eviluo
30 / / 30.10.2006
вообщем с перлом плохо знаком, но синтаксис у него какой то страшноватый)) а вообще сейчас пхп интенсивно развивается, думаю через пару лет значительных минусов поменьше станет. но а вообще в данном случае никаких преград не вижу написать сервер на пхп, как и на другом языке :)
18K
05 июля 2007 года
Ev-Gen
14 / / 02.10.2006
ооо, скок мне ссылочек пособирали.. пасиб большое =)
Вообще думаю с перлом проблем не будет, только из за того что работал с ним раньше. Си знаем, с линекс системками работали, так что пхп быстро освоил, по началу я даже вот спрашивал можно ли замутить сервак на пхп, это было бы гораздо проще с ним я практически на ты.
единственное хттп протокол юзать не хочу, а статеек соего протокола на пхп не видал, то что будут байты протокола это ладно, главное чтобы небыло огромнейших ненужных заголовков хттп =)

судя по ссылочкам, скорее всего пхп лучше и будет, лучше знаю и вроде описано в статейке норм, вот чтото вроде такого и искал, а вот по пёрлу, такую статейку уже читал, там только клиент, сервера нету..

лан, всем большое спасибо, пошел читать статейку c php =)
будут вопросы то скорее всего уже относительно пхп.
удачи всем =)
18K
06 июля 2007 года
Ev-Gen
14 / / 02.10.2006
вооот, php зать то знаю, основу, а вот низкоуровневые функци просто не юзал, поэтому пошли проблемки. нужна консультация.
в общем:
клиент открывает сокет и шлёт запрос на хост и порт, потом принимает
Сервер:
на сервере функции socket_create, socket_bind, socket_listen
запускают,определяют и слушают сокет
теперь, ф-ция socket_accept получает соединение,
и скажем сервак сразу шлёт что то.

вот теперь вопрос, как мне сделать так, чтобы этот скрипт был гдето запущен,(чем его запустить когда он на хосте) выслушивал сокеты и слал ответы.
и
можно ли тут обойтись без вечных циклов while(1) при работе с сокетом
а сделать такую вешь:
сервер в покое, потом клиент както его запускает, отсылает данные получает и сервер дальше в покое (скрипт не выполняется)
если нет, или это не рационально, то как тогда мне запустить этот скрипт сервера, чтобы потом без проблем в любое время с ним соединиться
вот, надеюсь понятно выссказался.
18K
06 июля 2007 года
Ev-Gen
14 / / 02.10.2006
дополнение, вот я написал эти функции, в цикле ждём соединений, все дела.
но запускаю я этот скрипт через php интерпритатор. правой кнопкой мыши открыть с помощью php, сервер работает.
как мне на хостинге запустить это дело?
240
06 июля 2007 года
aks
2.5K / / 14.07.2006
Цитата: Ev-Gen

вот теперь вопрос, как мне сделать так, чтобы этот скрипт был гдето запущен,(чем его запустить когда он на хосте)


Ну как чем, ручками запустить. Как и на домашнем компе программу.

Цитата: Ev-Gen

можно ли тут обойтись без вечных циклов while(1) при работе с сокетом
а сделать такую вешь:
сервер в покое, потом клиент както его запускает, отсылает данные получает и сервер дальше в покое (скрипт не выполняется)


Нет, нельзя. Как ты себе это представляешь? )
Скрипт - это и есть сервер. )

18K
06 июля 2007 года
Ev-Gen
14 / / 02.10.2006
с этим дела раньше не имел, пишу портал нпример, так там 80порт всё по умолчанию работает и все дела, получили данные, обработали выслали ответ =)
а вот с сокетами раньше не работал, поэтому вот думал может тоже можно буз вечных циклов.. просто меня смущает это малость. зациклить скрипт навечно.
запустив ручками прогу ресурсов вроде не жрёт, запустил через браузер в деневе повис =)))

так а вот ещё всё тотже вопрос подробнее, пусть у меня есть index.php которую и надо запустить. никогда дел ещё не имел с запуском скриптов вручную. неужели инетрпритатор ещё нужно будет скопировать? или через свой cmd его запустить.
подробнее расскажите как врубить этот скрипт с вечный циклом.
просто вырубать его можно какаойнить строкой, а на серваке его над ещё и запустить =) вот с этим не сообразил чтото
92
06 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
пишешь скрипт, который при определённых параметрах запускает твой скрипт, и завершается. ну а при других параметрах пытается его завершить :) например. тем самым ты получаешь управление своим "сервером" через web-интерфейс :) ну собссна как webmin делает (если пользовал когда-нибудь)
18K
06 июля 2007 года
Ev-Gen
14 / / 02.10.2006
во, точно, и как я сам то не додумался =))
усё запустил скриптом вроде работает, темку ток не закрывайте, буду усложнять скрипт, выбирать хост, могут ещё вопросы появиться.
а пока всем спасибо =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог