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

Ваш аккаунт

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

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

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

Подскажите где копать? Сервер/клиент (Работа с сокетами ?)

8.5K
08 декабря 2007 года
Zmevius
34 / / 09.01.2006
Привет всем. Вообщем, хочеться написать небольшое приложение которое моголо бы передовать команду на Сервер, котоый написан на Php, и Сервер возвращал бы назад клиенту результат. Пробывал это реализовать с помощью сокетов В Delphi, но Php-ный сокет заканчивает свою работу сразуже после после присоединения к Клиента. Я не очень силен в этой теме, но хотелось бы изучить побольше.
Если возможно, подскажить в какую сторону копать.
pS: В качестве Вэб сервера используеться Апач 2.0.
Php 5, Delphi 7.
354
08 декабря 2007 года
ШпиЁн
468 / / 19.02.2006
странно :-D
все зависит от того как ты напишешь серверную часть.
клиентом отсылаешь стандартный http-запрос, пустую строку в конце, потом пытаешься считывать из этого сокета.
php-скрипт должет соответственно что-то выдать.
391
08 декабря 2007 года
Archie
562 / / 03.02.2005
А зачем тебе веб-сервер, если у тебя сервер на php написан? Или это у тебя просто cgi-скрипт?
8.5K
08 декабря 2007 года
Zmevius
34 / / 09.01.2006
Цитата: Archie
А зачем тебе веб-сервер, если у тебя сервер на php написан? Или это у тебя просто cgi-скрипт?


cgi скрипт. Можно и без апача обойтись, но мне так легче )

8.5K
08 декабря 2007 года
Zmevius
34 / / 09.01.2006
Цитата: ШпиЁн
странно :-D
все зависит от того как ты напишешь серверную часть.


Серверный скрипт небольшого размера.

 
Код:
socket_create();
socket_bind();
socket_listen();
socket_accept();


Спасибо всем, буду думать )
350
08 декабря 2007 года
cheburator
589 / / 01.06.2006
Вопрос не в тему - есть "Веб-программирование", "HTML" и пр.
240
10 декабря 2007 года
aks
2.5K / / 14.07.2006
cheburator, почему не в тему? Обычный вопрос по сетевому программированию. К web он собственно не относится. Просто в качестве языка для написания сервера выбран зачем то php (да на нем можно им не вебный софт писать, хотя и вебный не очень то )))

Автор, описывай проблемму что конкретно не получается, что возвращают функции на сервере и примерчик кожа. )
350
10 декабря 2007 года
cheburator
589 / / 01.06.2006
Цитата: aks
cheburator, почему не в тему?
...
Просто в качестве языка для написания сервера выбран зачем то php


Потому я и сказал - "не в тему", что увидел упоминание PHP и Apache.
Пожалуйста, реализуйте (или реализуем?) на чем-то другом, будет в тему. Но автор сам, в первоначальном посте, упомянул PHP.
---
Если честно, я и сам мало врубаюсь, что значит "сервер на PHP". На PHP пишутся серверные скрипты, динамические сайты. Сервер в данном случае - Апач.
В любом случае, речь идет о HTTP, поэтму следует отсылать в соответствующую тему.
"PHP сразу закрывает сокет". Возмжно, я не прав, но по-моему PHP обрабатывает запрос, выдает на выходе HTML-код (хотя необязательно), отправляет его через апач клиенту и закрывается. Имхо, тут явно не нужен пхп, а следовательно и апач.

240
10 декабря 2007 года
aks
2.5K / / 14.07.2006
Цитата: cheburator

Если честно, я и сам мало врубаюсь, что значит "сервер на PHP". На PHP пишутся серверные скрипты, динамические сайты. Сервер в данном случае - Апач.
В любом случае, речь идет о HTTP, поэтму следует отсылать в соответствующую тему.
"PHP сразу закрывает сокет". Возмжно, я не прав, но по-моему PHP обрабатывает запрос, выдает на выходе HTML-код (хотя необязательно), отправляет его через апач клиенту и закрывается. Имхо, тут явно не нужен пхп, а следовательно и апач.


Ну тут ты не прав. php - обычный скриптовый язык програмирования на котором можно писать все что угодно, что на подобных языках. Хоть десктопное GUI приложение. Другое дело что задумывался он для веб и больше всего интрументов там именно для этой цели. Но запускать его можно как обычную программу через интерпретатор php. (Правда апач тут и правда не нужн). И соответсвенно исспользовать его как обычный сетевой сервер исспользующий TCP или UDP сокеты.
Так что все по теме.

8.5K
11 декабря 2007 года
Zmevius
34 / / 09.01.2006
Я извеняюсь если я нафлудил. Код не могу пока предоставить, у меня появилась небольшая проблема с подключением к инету. Да и вообще, я так понимаю я полез слишком в недостумную для моего мозга тему ).
Цитата:
Автор, описывай проблемму что конкретно не получается, что возвращают функции на сервере и примерчик кожа. )


Функции вообще ничего не возвращают. Сокет запускаеться при открытии странички.. ждет.. ждет... когда я подключаюсь на порт Сервеного сокета.. сокет прикращает работу .. вот и все ) Вообщем учиться мне, учиться и учиться. Поетому и задал вопрос: В какую сторону копать? Все что я хочу это чтобы был клиент-программа на которой клоцаешь кнопку.. она соединаеться с серваком сервер пробивает по базе.. и выдает результат. Я хотел это реализовать с помощью Php и MySQL. По ответам на тему я понял что пхп не подходит, подскажите пожалуйста что подходит ? )))

350
11 декабря 2007 года
cheburator
589 / / 01.06.2006
Цитата: aks
Ну тут ты не прав. php - обычный скриптовый язык програмирования на котором можно писать все что угодно, что на подобных языках.


Об этом я не подумал... Дурак...
Zmevius, PHP видимо подходит, но лучше что-нибудь другое - C++, Delphi.
Читай, например, MSDN: socket, accept, bind, listen, connect, send, recv, closesocket, WSAStartup, WSACleanup (последние две функции специфичны для Winsock).
Для типичного TCP-сервера последовательность вызовов такая:
WSAStartup, socket, bind, listen, accept, затем обмен данными (send/recv), затем closesocket, WSACleanup. (UDP-сервер может использовать bind или не использовать).
Для типичного клиента: WSAStartup, socket, connect, обмен данными send/recv, closesocket, WSACleanup.

2
11 декабря 2007 года
squirL
5.6K / / 13.08.2003
Цитата: Zmevius
Сокет запускаеться при открытии странички.. ждет.. ждет... когда я подключаюсь на порт Сервеного сокета.. сокет прикращает работу .. вот и все )


вот эта песец... больше можно ничего не писать :)

варианта два:
1. забить на CGI и писать просто сетевой-демон\
2. написать CGI приложение и взаимодействовать с ним из сторонних приложений посредством POST/GET/HEAD запросов.

далее - в гугл разбираться. что не понятно конкретно - спрашивай

8.5K
11 декабря 2007 года
Zmevius
34 / / 09.01.2006
Цитата: cheburator

Zmevius, PHP видимо подходит, но лучше что-нибудь другое - C++, Delphi.
Читай, например, MSDN: socket, accept, bind, listen, connect, send, recv, closesocket, WSAStartup, WSACleanup (последние две функции специфичны для Winsock).


Вот это именно то что я и просил - натолкнуть на праведный путь ) Всем спосибо!

2
11 декабря 2007 года
squirL
5.6K / / 13.08.2003
это может оказаться неправедным путем. придется много писать лишнего кода. задумайтесь про мой вариант #2
391
11 декабря 2007 года
Archie
562 / / 03.02.2005
PHP-шные сокеты могут работать по-всякому, если скрипт запущен в потоке Apache-а. К тому же таймаут 30 сек. по-умолчанию, насколько я помню. Что тебе мешает запустить скрипт отдельно в консоле? На PHP можно создавать полноценные приложения с GUI (http://php-qt.org/) и даже компилить все это в exe-шник (http://www.roadsend.com/home/index.php?pageID=compiler).

Про сокеты в PHP читай тут: http://www.litfuel.net/tutorials/sockets/sockets.php
8.5K
11 декабря 2007 года
Zmevius
34 / / 09.01.2006
Цитата: squirL
это может оказаться неправедным путем. придется много писать лишнего кода. задумайтесь про мой вариант #2


В моем случае я буду пробовать всё. :) Спасибо.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог