2012-03-29 2 views
0

Краткая версия: Я хочу подключить клиента к серверу PHP, но у меня есть ограничение на сервере из 10 PHP-скриптов, работающих одновременно.Клиентское и бэкэнд-соединение PHP: Sokets, Stream, TCP/UDP?

Вопрос: Каков наилучший способ подключения клиента с PHP-скриптом, находясь под ограничением?

Длинная версия:
Мои предыдущие вопросы показывают, что я действительно после, но здесь это снова:
Я хочу разработать аа WebChat с помощью Java-апплет, как на стороне клиента, а PHP как задний конец сервер. В нормальных условиях я бы не стал задавать такой вопрос, просто использую первое, что google появляется в моем поиске. но прямо сейчас я не под нормальными обстоятельствами, но под ограничениями: использование сервера, так как на моем хостинге есть общий хостинг учетных записей и 10 процессов ввода (например, количество скриптов PHP, работающих одновременно). Мне нужно сделать сервер в мой чат с этими соображениями и снижение производительности настолько, насколько я могу.

Я разработал соединение клиент/сервер с использованием TCP в Delphi, но это было давно, и я совсем забыл об этом. И теперь я пытаюсь восстановить его, я понимаю, что я мало знал об этом.

Так что я получил несколько вопросов, на основании моих исследований:

Что такое сокет?
Я сделал goggle это, но я не нашел действительно ясного ответа на это. Это стандартный способ совместной работы двух программ? и это, возможно, одно из моих неправильных знаний ...

Существует протокол TCP/UDP через Sockets?
Я даже не знаю, как объяснить этот вопрос мой ...

Что такое поток точно?
То, что я знаю из моего знания на C++, - это возможность открывать файлы в двоичной форме и читать из нее из любой точки. Возможно, я ошибаюсь, потому что мои знания на С ++ тоже старые.

Также я читал о сокетах PHP, и я узнал о том, что он способен прослушивать порт с socket_create_listen, но . Я беспокоюсь, что этот скрипт работает активно? как инфинитивная петля? Я спрашиваю об этом, потому что 10 ограничений процесса.
И если я инициирую TCP-соединение с клиентом, сценарий снова запускается в бесконечном цикле? Это зависит от активных процессов?

Я знаю, что UDP не требует активного соединения, потому что он просто отправляет его в массовом порядке и забывает о его завершении сценария, когда он заканчивается, но я не знаю о TCP.

Извините за длинный пост и много вопросов, и спасибо за любую помощь, которую вы можете предложить.

EDIT: Я забыл о методах GET/POST! Как я уже сказал, что я планирую веб-чат, и им нужно общаться, но помимо прямого соединения есть также метод GET/POST, который скрипт быстро выполняет и завершает сценарий, но опять же 10-кратный предел процесса, что происходит, когда один процесс пытается запустить одновременно?

Также есть ли способ ограничить одновременно выполняющиеся процессы? или положить в очередь и ждать, пока остальные не закончатся?

+0

контракта лучший хостинг-сервер. Hostgator.com одновременно принимает до 25 процессов в стартовом плане. – PSyLoCKe

ответ

1

Если ваш сервер ограничен только 10 параллельными потоками, это жесткий предел, и вы не можете много сделать. Что вы можете сделать, так это сделать запрос как можно меньшим и иметь как можно меньше возможностей, разрешенных php. Таким образом, возможность параллелизма была бы очень мала.

В идеале, все ваши php начнутся и выйдут очень быстро, часто перенаправляя пользователя на статический контент (html, js, img и css-файлы).

Может быть, вы можете сделать весь ваш WebApp много HTML-файлов, и есть ajax.php файл для связи сервера ...

+0

Да, я знаю, что он очень ограничен, но я хочу работать с этим, потому что его опыт. также забыл поставить еще два вопроса, которые я только что сделал. – NaGeL182

+0

Я все еще думаю, что какой-то «апи» решит вашу проблему. Но я не знаю, возможна ли ваша проблема вообще. Я думаю, что ваша проблема решена, если вы можете заполнить 10 запросов в точности или менее одной секунды. Но это невозможно, если всем им нужна 1 секунда, а одна из них более 1 секунды. Таким образом, ограничение на самом деле не на архитектуре ... возможно, проблема невозможна для решения того, как вы ее определяете. – Tei

Смежные вопросы