Автор Тема: Использование сокетов  (Прочитано 5173 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн F.A.K.K.2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Использование сокетов
« : 16 Мая 2003, 14:33:05 »
Люди, кто нить может мне объяснить что такое сокеты и счем их едят?
Или где про них почитать? А то в поисковиках сокеты на Перле объясняют...

Оффлайн FILA

  • кендер
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 2
    • Просмотр профиля
Использование сокетов
« Ответ #1 : 16 Мая 2003, 15:37:26 »
сокет - это комбинация IP адреса и номера порта, которая однозначно определяет отдельный сетевой процесс в Сети.
Два сокета, один для хоста-получателя, другой для хоста-отправителя, определяют соединение для протоколов, ориентированных на установление связи, таких, как TCP и иже с ним....
и т.д.
И вечный бой, покой нам только снится...

Оффлайн Ancient

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 89
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ancient.dax.ru
Использование сокетов
« Ответ #2 : 16 Мая 2003, 23:32:02 »
Можно сказать что сокет это стандартный поток (в unix как обычный файл). Если говорить грубо, обеспечивает передачу сообщение от одного узла к другому.

Я бы тебе посоветовал msdn почитать. Язык реализации не имеет значения...
Ancient Team

Оффлайн F.A.K.K.2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Использование сокетов
« Ответ #3 : 17 Мая 2003, 18:03:52 »
Спасибо всем.
Не могли бы вы подсказать, чем можно просмотреть что браузер шлет серверу и что тот отвечает?

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Использование сокетов
« Ответ #4 : 17 Мая 2003, 19:16:22 »
Есть такая программа - HTTP Interceptor.
Вот она тебе все заголовки покажет и все данные в Raw виде (как есть).
А ещё лучше почитать RFC на эту тему.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн F.A.K.K.2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Использование сокетов
« Ответ #5 : 18 Мая 2003, 14:41:12 »
Спасибо всем!
Люди, я вот решил применить знания выдранные с помощью Interceptor.
$url = parse_url("http://www.shevahmofet.org");
$fp = fsockopen ($url["host"], 80, $errno, $errstr, 30);

$header=\'GET / HTTP/1.0\\r\\n
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-gsarcade-launch, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\\r\\n
Accept-Language: en-us\\r\\n
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)\\r\\n
Host: http://www.shevahmofet.org\\r\\n
Connection: Close\\r\\n\\r\\n\';
    fputs($fp, $header);
    $buffer = "";
    while (!feof($fp)) {
        $buffer=fgets ($fp, 2048);
    }
fclose($fp);

Команды HTTP изъяты их Internet Explorer.
Но этот скрипт стопорится на чтении ответа сервера:        $buffer=fgets ($fp, 2048);

Просто ждет, ждет, а потом вылетает с сообщением что скрипт слишком долго работал:(
В чем проблема?
Я так думаю, я не правильные команды шлю, хотя вроде у IE это получается.

Благодарю за ответы

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Использование сокетов
« Ответ #6 : 18 Мая 2003, 16:08:12 »
$header = \'...\' замени на $header = "..."
Одинарные кавычки не ловят спецсимволы типа \\n и \\r
Ещё, в Accept поставь просто */* если не знаешь, зачем он нужен. Или вообще его убери.
Connection: Close можешь убрать.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн F.A.K.K.2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Использование сокетов
« Ответ #7 : 18 Мая 2003, 18:51:58 »
FreeSpace
БААльшое спасибо!!!!!:)
Ты меня спас!

Оффлайн F.A.K.K.2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Использование сокетов
« Ответ #8 : 18 Мая 2003, 20:06:36 »
Помогите ещё раз:)
При запросе POST в каком месте я отсылаю сами данные.
т.е.
POST /check.pl HTTP/1.0\\r\\n

куда я вставляю строку:
name=aaa&psw=bbb ?
Сразу после POST или в самом конце хедера?

Оффлайн Ancient

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 89
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ancient.dax.ru
Использование сокетов
« Ответ #9 : 09 Июня 2003, 07:56:29 »
POST тем и отличается, что нет там такой строки. Переменные передаются в таком виде:

var1=value1
var2=value2
....
varN=valueN

Фактически формат POST имеет стандартный вид:

Начальная строка
Заголовок1
...
Заголовок2
CR LF
Тело сообщения

POST /sql.exe HTTP/1.0
Content-Type: text/html
Content-Lenght: n bytes

SELECET * FROM TABLE
« Последнее редактирование: 09 Июня 2003, 08:03:04 от Ancient »
Ancient Team

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28