Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Подключение к серверу через TCP / 6 сообщений из 6, страница 1 из 1
18.11.2005, 12:40
    #33386593
LittleBudda
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Подключение к серверу через TCP
Уважаемые знатоки, нужна ваша помощь.

Мне необходимо разработать клиента, который будет подключаться к серверу через TCP канал и соответственно отсылать один или несколько пакетов и получает по ним ответы. Если обмен произошел удачно, то пользователю сообщается об удаче. Если в какой-то момент произошел сбой связи или ПО, то сообщается о неудачи. Сообщения представляют из себя куски текста в кодировке KOI-8, завершенные символом разделения пакетов с ASCI кодом 0x03.

Я так думаю это надо реализовывать с помощью сокетов? Обратился к официальной документации, но информации содержащейся там, явно для меня не достаточно, потому что чего-то подобного я ранее не делал.
Буду очень в помощи по решению данного вопроса....


Я набросал примерный алгоритм работы данной программы(поправьте если что не так):
1)Инициализируем соединение
2)Если все удачно, то идем дальше, иначе сообщаем об ошибке
3)Посылаем данные – проверяем отправились или нет, если нет повторяем отправку
4)Прослушиваем(ждем ответа) – получаем ответ
5)Закрываем соединение
...
Рейтинг: 0 / 0
18.11.2005, 12:45
    #33386605
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Подключение к серверу через TCP
...
Рейтинг: 0 / 0
18.11.2005, 12:46
    #33386607
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Подключение к серверу через TCP
LittleBuddaОбратился к официальной документации, но информации содержащейся там, явно для меня не достаточно, потому что чего-то подобного я ранее не делал.Там туева хуча примеров.
...
Рейтинг: 0 / 0
18.11.2005, 14:34
    #33386976
LittleBudda
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Подключение к серверу через TCP
Просто в официальной документации я смотрел раздел Socket Functions, там описаны несколько другие примеры.
...
Рейтинг: 0 / 0
20.11.2005, 14:00
    #33388710
LittleBudda
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Подключение к серверу через TCP
Хотелось бы узнать, есть ли принципиальная разница между следующими двумя реализациями моего вопроса и какой вариант лучше использовать:

Реализация №1
<?php
//устанавливаем IP
$host_ip="192.168.90.1";
//Устанавливаем порт для подключения
$host_port=4800;

// Создание сокета
$s=socket_create(AF_INET, SOCK_STREAM, 0);

// Подключение
if (!($res=@socket_connect($s, $host_ip, $host_port)))
die("Can' connect to local host");

// В $str текст для отправки
$str="USER RRR\n";
// Отправить текст
socket_write($s, $str, strlen($str));

// Распечатать результат чтения из сокета
printf("<P><%s", socket_read($s, 1000, PHP_NORMAL_READ));
?>

=============================================

Реализация №2

<?php
$fp = fsockopen("192.168.90.1", 4800, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "USER RRR\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

==============================================
...
Рейтинг: 0 / 0
20.11.2005, 14:20
    #33388722
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Подключение к серверу через TCP
Функция fsockopen доступна всегда (если не запрещена специально - но в этом случае вам скорее всего вообще не будут доступны внешние соединения), поскольку она является частью ядра PHP, в то время как для использования sockets необходимо правильно скомпилировать (или подключить соответствующий модуль).
По крайней мере в данном вами примере никаких преимуществ использование sockets не даёт, а определённые ограничения на использование - накладывает.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Подключение к серверу через TCP / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]