информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеГде водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
sendto(sock, buf, 128, 0, (sockaddr*) &ad, sizeof(sockaddr_in)) 12.07.01 14:49  Число просмотров: 927
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
[C++] Помогите разобраться с UDP на Builder(5.0) 10.07.01 14:42  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Мне нужно сформировать пакет и отправить на сервер.

Может покажете на примере как создавать пакет, и отправлять.

Например его содержимое: 00 04 32 44 32
[C++] Помогите разобраться с UDP на Builder(5.0) 11.07.01 02:56  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Мне нужно сформировать пакет и отправить на сервер.
>
> Может покажете на примере как создавать пакет, и
> отправлять.
>
> Например его содержимое: 00 04 32 44 32

если в ручную, то просмотри для начала структуру UDP.
но чтобы не возится легче открыть UDP-сокет (SOCK_DGRAM) и вызываешь sendto() - он все за тебя сделает.
[C++] Не пойму а где порт ставить (на ленись напиши пример) 11.07.01 13:11  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
sockaddr to;
SOCKET sox=socket(AF_INET,0,SOCK_DGRAM);
sendto(sox,p,3,MSG_DONTROUTE,to,tolen);
[C++] не ленюсь 12.07.01 01:30  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> sockaddr to;
> SOCKET sox=socket(AF_INET,0,SOCK_DGRAM);
> sendto(sox,p,3,MSG_DONTROUTE,to,tolen);

весь работаяющий пример не накатаю, но дам направление, а то на себя времени не хватит :))) а остальное, я думаю сам с легкостью напишешь.

#define MY_PORT 1234
#define MY_ADDR "123.45.67.89"

SOCKET sock;
sockaddr_in recipient;
char buf[128];

for (int i = 1; i <= 128; i ++)
buf[i - 1] = (char)i;

memset(&recipient, 0, sizeof(sockaddr_in));

sock = socket(AF_INET, SOCK_DGRAM, 0);

// вот тут все пишешь, куда и зачем
recipient.sin_family = AF_INET;
recipient.sin_port = htos(MY_PORT);
recipient.sin_addr.s_addr = inet_addr(MY_ADDR);

sendto(sock, buf, 128, 0, &recipient, sizeof(sockaddr_in));

// вот и все.
[C++] Маленький трабл..... 12.07.01 11:43  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Всё бы хорошо, но в ф-ии
sendto(sock, buf, 128, 0, &sockaddr(ad), sizeof(sockaddr_in));

Компилятор не может выполнить: sockaddr(ad).......
А в структуре sockaddr нет пар-ов связанных с адрессом о портом
sendto(sock, buf, 128, 0, (sockaddr*) &ad, sizeof(sockaddr_in)) 12.07.01 14:49  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
[C++] Но,это явное приведение, и информация теряется 12.07.01 21:37  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
bbbb
ничего не теряется 13.07.01 00:18  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
ты явно путаешься.

все sockaddr_XXXXX структуры приводятся к типу sockaddr. создавая сокет, ты уже указываешь, какие именно структуры будут посланы ф-иям.
т.к. у тебя сокет создан с параметрами AF_INET и SOCK_DGRAM - т.е. связь типа UDP/IP - это и указывает транспорту, что все данные sockaddr есть ни что иное как sockaddr_in. тоже самое для связи TCP/IP. да и в добавок ты посылаешь sizeof(sockaddr_in) (хотя на сколько помню sizeof(sockaddr_in) == sizeof(sockaddr)).
так что ни минуты не сомневаясь смело используй
ну и в добавок не помешает тебе почитать Network Programming, а то ты путаешься.
Где, где почитать Network Programming (а то всё облазил нефига не нашёл) 13.07.01 12:02  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
я дома читаю, а тeбе как удобно :))) 13.07.01 19:03  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Есть книга - Network Programming for Microsoft Windows by Anthony Jones and Jim Ohlund, если достанешь, то куль !!!
если нет, то открой MSDN иди по следующим ниткам :
Platform SDK \ Networking and Directory Services\ Windows Sockets 2
все там есть. даже можно сказать, что все что написано в Network Programming-e скатали из MSDN.

дальше по нитке :
Windows Sockets 2 API \ Reference - найдешь Functions и Structures

удачи
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach