![]() |
|
|
![]()
|
|
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Код до тупого прост...:
int i,rv; char buf; RichEdit1->Clear(); Update(); SOCKET socket1; WSADATA winSockData; sockaddr_in peer; char ipaddr[25]; sprintf(ipaddr,"%s",Edit4->Text); // MessageBox(NULL,ipaddr,"",MB_OK); unsigned short port; int result,lis; WSAStartup(0x0101, &winSockData); socket1 = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); peer.sin_family = AF_INET; peer.sin_port = htons(7777); peer.sin_addr.s_addr = inet_addr(ipaddr); result = connect(socket1, (sockaddr *) &peer, sizeof(peer)); if (result != 0) { RichEdit1->Lines->Add("Couldn't connect to the server!");; } else { RichEdit1->Lines->Add("Port is open"); } peer.sin_family = AF_INET; peer.sin_port = htons(7777); peer.sin_addr.s_addr = inet_addr("87.242.73.175"); bind(socket1, (sockaddr *) &peer, sizeof(peer)); // не знаю - нужно ли это RichEdit1->Lines->Add(send(socket1,&buf,4096,0)); // Sleep(10); RichEdit1->Lines->Add(send(socket1,&buf,4096,0)); RichEdit1->Lines->Add(send(socket1,&buf,4096,0)); RichEdit1->Lines->Add(send(socket1,&buf,4096,0)); RichEdit1->Lines->Add(send(socket1,&buf,4096,0)); RichEdit1->Lines->Add(send(socket1,&buf,4096,0)); WSACleanup(); closesocket(socket1); } По идее посылаю по адресу 6 раз 4096 байт. В установке соединения проверяю реально ли отсылается 4096*6 байт. В итоге получается, что есть крупное не соответствие (даже при попытке послать 1 раз 4096 байт посылается то 3116 байт, то около 4200). Более того, не все отсылки работают. Первая - всегда, остальные в случайном порядке. Пробовал использовать Sleep() - не помогает. Помогите, пожалуйста, решить проблему. Спасибо |
|||
|
||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
может char buf[4096]; или память выделить?
и еще, как ты инициализируешь buf? в коде не видно что ты отправляешь bind() нужен. а вообще смотри в MSDN: http://msdn.microsoft.com/library/default....socksamples.asp |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
buf у меня инициализируется в самом начале
char buf[4096] не решило проблемы... bind()... он у меня есть... Только для чего он? Это сообщение отредактировал(а) olegrolik - 26.12.2006, 11:32 |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Что такое MSDN? Кстати, проблема решается после того, как я уменьшаю размер буфера до 1024, например. |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
А кто, кстати, обещал, что за один раз отправиться ровно столько, сколько хочется ?
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Ничего себе... Ну тогда подскажите, пожалуйста, как послать и получить точное кол-во информации...
|
|||
|
||||
| witex |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: 1 Всего: 4 |
--------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |