 |
|

17.03.2009, 23:52
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
С нами:
9589849
Репутация:
177
|
|
Сообщение от awdrg
Подскажите пожалуйста: как отправить простейший запрос на сервер и получить ответ, и вывести его.
В мануале написано, что все три входных значения должны иметь тип int. Как я понял прямой адрес не подходит, его нужно через что то перегнать для получения идентефикатора(?). Такая же ситуация и с форматом отправки данных и протоколом? Если можно покажите на примере самый простой запрос с отправкой запроса и получением ответа, и обьясните в чем ошибки моего хода мыслей. спасибо =)
простейший пример под никс описан ( к примеру) в книге Эффективное программирование TCP IP.
сейчас могу просто пересказать =\
все 3 входных значения задаются константами с типом int - а именно:
int s = socket( PF_INET, SOCK_STREAM, 0 );
PF_INET (или AF_INET) - адресной домен интернета.
SOCK_STREAM - указывает, что должен использоваться потоковый протокол (в данном случае TCP)
0 - т.к. протокол указан во 2м параметре 3-й почти всегда оставляют 0
ход мыслей не верен, потому что адрес задаётся при привязывании порта к сокету(или при подключении - если пишешь клиент), а не при его создании.
для создания прослушивающего сокета нужно 3 функции.
для создания соединения с удалённым хостом - 2.
прочитай книгу, в первой же главе описаны простейший клиент и сервер
|
|
|

18.03.2009, 12:10
|
|
Новичок
Регистрация: 10.03.2009
Сообщений: 4
С нами:
9037406
Репутация:
0
|
|
Доброго времени суток!
Пишу программку для проверки и отладки неполадок в сети на Builder C++. Столкнулся с тем, что не могу пустить tracerout и ping через прокси. Нужна помощь 
|
|
|

18.03.2009, 12:52
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами:
9989619
Репутация:
106
|
|
verylagcomp Покажи что уже наработал. Каким образом ты трасер пускаеш и пинг.
|
|
|

18.03.2009, 18:09
|
|
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
С нами:
9494306
Репутация:
313
|
|
Зачем перед некоторыми типами писать "^"? например когда я пытаюсь определить переменную типа System::String то этот знак обязателен, иначе VC ругается.
|
|
|

18.03.2009, 18:39
|
|
Познающий
Регистрация: 29.02.2008
Сообщений: 66
С нами:
9577447
Репутация:
33
|
|
Сообщение от Kuzya
Зачем перед некоторыми типами писать "^"? например когда я пытаюсь определить переменную типа System::String то этот знак обязателен, иначе VC ругается.
String^
это что то типо упровляемой ссылки используемой в С++.Net. По симантике с C++ похожа на указатель.
^ - является ссылкой на объект .Net. Это надо для того чтоб сборщик мусора мог правильно все подчищать, если ты это не используешь то при создании обычных указателей ты должен заботиться об очистке сам.
|
|
|

18.03.2009, 18:59
|
|
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
С нами:
9094175
Репутация:
66
|
|
еще вопрос: как присвоить переменной случайное значение, скажем от 0 до 20?
|
|
|

18.03.2009, 19:04
|
|
Постоянный
Регистрация: 07.01.2008
Сообщений: 591
С нами:
9653789
Репутация:
549
|
|
Сообщение от awdrg
еще вопрос: как присвоить переменной случайное значение, скажем от 0 до 20?
через функцию присваивай !
|
|
|

18.03.2009, 19:36
|
|
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
С нами:
9094175
Репутация:
66
|
|
Компилятор ругается что на 0 делить нельзя. Убрал % 0 и всевремя на выходе одно и то же восьмизначное число. wtf?
|
|
|

18.03.2009, 19:40
|
|
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
С нами:
9391926
Репутация:
234
|
|
Сообщение от awdrg
еще вопрос: как присвоить переменной случайное значение, скажем от 0 до 20?
rand() % 21
|
|
|

18.03.2009, 19:40
|
|
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
С нами:
9094175
Репутация:
66
|
|
На выходе всегда единичка =)
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|