Я хочу создать соединение HTTP-сокета для сервера в php для нескольких клиентов. Как мне это сделать ? Мне нужен какой-то ресурс.
Сначала я пытался создать сервер в java. Я создаю сервер в java. И пытаюсь связаться с Android-приложением. Но сервер не может найти никакого клиента. Но когда я создаю клиент в java. Он работал. Как я могу решить эту проблему ???
Взгляните на эту статью:
Написание Socket Servers в PHP от Zend
Также попробуйте Google:
Лично я думаю, что это будет довольно плохая идея, поскольку уже упоминалось, что ей не хватает Threading, и поддержка Socket (imo) на самом деле не такая адаптируемая.
Единственная плюсовая сторона заключается в том, что вы можете использовать fork
для форматирования другого процесса PHP для обработки клиента, но вы становитесь очень сложным.
Другой язык был бы гораздо более подходящим для такого типа развития.
Обратите внимание, что даже если вы сделали это на PHP, вам, вероятно, придется все равно полагаться на внешние службы и, возможно, даже в конечном итоге написать хотя бы какой-то код на другом языке.
Вы пытаетесь использовать PHP для чего ? Имейте в виду, мне нравится PHP и работать с ним почти каждый день, но, пожалуйста, помните, что PHP внутри и сам по себе основан на запросе и ответе и не очень подходит для длительных процессов. В манере упражнений это может быть интересно, но если вы пытаетесь написать веб-сервер с нуля с помощью PHP, вам может потребоваться пересмотреть свой выбор языка.
Тем не менее, вы можете создать сокет, действующий как сервер, и слушать входящие пакеты. Я все еще думаю, что вы изобретаете колесо.
хотя я люблю php и java, я писал свои серверы сокетов в c ++, работающие под лампой на сервере облаков ecazon ec2. это очень, очень просто кодировать и отлаживать и безопасно, и вы можете практически просто копировать / вставлять примеры.
в конечном счете, я, вероятно, разработаю Java-решение из-за переносимости и масштабируемости, но первоначальное усилие для работы с C ++-решением – это намного меньше, чем реализация Java-решения …
первое, что вы должны выяснить (выяснить), означает ли ваш сервер открыть пользовательские порты. amazon ec2 делает и на данный момент (feb13), может использоваться бесплатно в течение 12 месяцев.
так, это для вас, если вы спешите:
в этом примере примеров есть все, что вам нужно, чтобы они работали в кратчайшие сроки.
Судя по названию вопроса (остальное только делает его более запутанным), вы можете использовать существующий пакет, например http://pear.php.net/package/HTTP_Server, для реализации веб-сервера в PHP. Он уже содержит весь код socket
чтобы принимать клиентские соединения и прочее.
Итак, что мне нужно сделать, чтобы найти сервер с другого клиента
«Поиск» – слишком широкая тема. Зависит от вашей фактической настройки. В локальной сети есть несколько протоколов для обнаружения. В противном случае вы должны просто полагаться на фиксированное имя машины и номер порта для вашего созданного сервера. Вы можете подключиться к нему, например, http://localhost:8007/
или все, что вы предопределили.