информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Не пойму а где порт ставить (на ленись напиши пример) 11.07.01 13:11  Число просмотров: 917
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
sockaddr to;
SOCKET sox=socket(AF_INET,0,SOCK_DGRAM);
sendto(sox,p,3,MSG_DONTROUTE,to,tolen);
<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