информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Сетевые кракеры и правда о деле ЛевинаВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] Не пойму а где порт ставить (на ленись напиши пример) 11.07.01 13:11  Число просмотров: 996
Автор: 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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach