Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Общение Сервера с клиентом


Автор: ezekil 10.5.2012, 12:10
Люд помогите пожалуйста! Почемуто не работает отправка на клиент...
сервер клиент - оба в режиме ctBlocking (т.к. потоки)
Код

//на сервере в баттоне
int cmd;
cmd=2;
Form2->ServerSocket1->Socket->Connections[0]->SendBuf(&cmd,sizeof(cmd));

// на клиенте
int SizeBaf;
SizeBaf=ClientSocket1->Socket->ReceiveLength();
if (SizeBaf!=0) {
ClientSocket1->Socket->ReceiveBuf(&cmd,sizeof(cmd));
switch(cmd){
    case 2:
       {
       ShowMessage("111");
       break;
       }

когда нажимаю на кнопку... сервер зависает на SendBuf-e... и чего то ждет, на клиент ничего не приходит, но если потом с клиента что то послать серверу... то сервер отвисает и "доотправляет"... на клиент приходит почему то сначала ответ на запрос и только потом присылается cmd=2; 

Автор: ezekil 13.5.2012, 21:03
Никто не знает? или просто в другом проблемма?(((( скажите хоть догадки Пожалуйста... я просто делаю мморпг... и мне надо посылать с сервера координаты... и если все время с клиента запрашивать координаты... думаю это не правильно(  smile

Автор: boostcoder 13.5.2012, 22:12
Цитата(ezekil @  13.5.2012,  21:03 Найти цитируемый пост)
Никто не знает?

да, я полагаю, телепаты перевелись, и догадаться что такое -
Цитата(ezekil @  10.5.2012,  12:10 Найти цитируемый пост)
Form2->ServerSocket1->Socket->Connections

Цитата(ezekil @  10.5.2012,  12:10 Найти цитируемый пост)
ClientSocket1->Socket->ReceiveLength();

просто некому.

Автор: ezekil 13.5.2012, 22:39
Цитата

да, я полагаю, телепаты перевелись, и догадаться что такое -
Цитата(ezekil @  10.5.2012,  12:10 Найти цитируемый пост)
Form2->ServerSocket1->Socket->Connections

Цитата(ezekil @  10.5.2012,  12:10 Найти цитируемый пост)
ClientSocket1->Socket->ReceiveLength(); 

просто некому.


Ну как... Connections[Номер_коннекта], первый подлючившийся это Connections[0] и т.д. 1,2,3... хотя до поточного... все работало... а Socket->ReceiveLength() это приём длинны, что было отправлено SendBuf(&cmd,sizeof(cmd))...

Автор: boostcoder 13.5.2012, 23:37
что это за классы/функции/методы? какая библиотека/фреймверк?

Автор: ezekil 14.5.2012, 00:45
Это C++ Builder... компоненты TServerSocket, TClientSocket...  даже и не знаю что ответить на ваш вопрос... вроде просто оправка и прием.... сокетами....

Автор: boostcoder 14.5.2012, 01:58
Цитата(ezekil @  14.5.2012,  00:45 Найти цитируемый пост)
Builder

Цитата(ezekil @  14.5.2012,  00:45 Найти цитируемый пост)
TServerSocket, TClientSocket

так ты разделом ошибся. тебе сюда: http://forum.vingrad.ru/forum/borland-c++builder.html
тут билдером вроде никто не пользуется.

Автор: ezekil 14.5.2012, 19:26
А блин точно((( извините smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)