Добрый день. Мне нужно слать датаграммы через сокс сервер. Вопрос №1. Делаю как в RFC 1928, т.е. устанавливаю конект по TCP шлю: Код (Text): buffer[0] = 5; // Ver buffer[1] = 1; // 1 method buffer[2] = 0; // no auth Ответ приходит 5 и 0, тоесть все нормально. Второй раз шлю: Код (Text): buffer[0] = 5; // Ver buffer[1] = 3; // udp_associate buffer[2] = 0; // Reserved buffer[3] = 1; // IPv4 *((unsigned long*)(buffer + 4)) = inet_addr("217.185.139.100"); *((unsigned long*)(buffer + 8)) = htons(8889); Сервер возвращает REP равный 8, т.е. "тип адреса не поддерживается". А если заменить на Код (Text): *((unsigned long*)(buffer + 4)) = inet_addr("0.0.0.0"); *((unsigned long*)(buffer + 8)) = htons(0); то ошибок нет. В чем может быть проблема? Вопрос №2. Сами датаграммы шлю таким образом: Код (Text): udp_struct.rsv = 0; udp_struct.frag = 0; udp_struct.atyp = 1; udp_struct.addr= inet_addr("217.185.139.100");//удаленный сервер udp_struct.port= htons(8889);//порт на удаленном сервере memcpy((void*)&udp_struct.data, ch_buffer, buffer_size);//копирую данные для отправки send(sock, (char*)&udp_struct, sizeof(udp_struct), 0); Вот прототип используемой структуры Код (Text): struct SOCKS5_UDP_HDR { UINT16 rsv; UINT8 frag; UINT8 atyp; UINT32 addr; UINT16 port; char data[1024]; }; Так вот датаграммы не доходят до пункта назначения. Клиент сто процентов готов принимать данные.В чем тут может быть ошибка?? Зараннее благодарен