powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Передача данных по эзернету.
4 сообщений из 4, страница 1 из 1
Передача данных по эзернету.
    #38234467
webber81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть прога сообщения по эзернету на Builder.
Подскажите как реализовать что нибудь похожее на с++ visual.(в моей преге нужно будет передать массив с одного компа на другой)
Какие компоненты есть на С++ visual для реализации передачи по эзернету?
Ниже фрагмент проги на билдере.

void __fastcall TCommunicationThread::Execute()
{
MainForm->RichEdit_Log->Lines->Add("communication thread started");

int ibuf = 0;

// create a TWinSocketStream for reading and writing
TWinSocketStream *pStream = new TWinSocketStream(MainForm->ClientSocket1->Socket, 3000);

try
{
// fetch and process commands until the connection or thread is terminated
while (!Terminated && MainForm->ClientSocket1->Active)
{
try
{
pStream->Write(&ibuf, sizeof(ibuf));
MainForm->RichEdit_Log->Lines->Add("sent: " + IntToStr(ibuf));

Sleep(1000);

if (pStream->WaitForData(10000))
{
int received = pStream->Read(&ibuf, sizeof(ibuf));
if (received == 0) // if can’t read in NN seconds
{
MainForm->ClientSocket1->Close();
MainForm->RichEdit_Log->Lines->Add("TWinSocketStream->Read(...) failed");
MainForm->RichEdit_Log->Lines->Add("client socket closed");
continue;
}
// now process the request
//...
MainForm->RichEdit_Log->Lines->Add("received: " + IntToStr(ibuf++));

Sleep(1000);
}
else
{
MainForm->ClientSocket1->Close();
MainForm->RichEdit_Log->Lines->Add("10 seconds elapsed. TWinSocketStream->WaitForData(...) returned without data");
MainForm->RichEdit_Log->Lines->Add("client socket closed");
}
}
catch (Exception &E)
{
MainForm->ClientSocket1->Close();
MainForm->RichEdit_Log->Lines->Add(E.Message);
MainForm->RichEdit_Log->Lines->Add("client socket closed");
}
}
}
__finally
{
if (MainForm->ClientSocket1->Active)
{
MainForm->ClientSocket1->Close();
MainForm->RichEdit_Log->Lines->Add("client socket forcibly closed");
}
delete pStream;
MainForm->RichEdit_Log->Lines->Add("communication thread terminated");
}

}
...
Рейтинг: 0 / 0
Передача данных по эзернету.
    #38234477
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webber81Есть прога сообщения по эзернету на Builder.
Где? Тому, что "ниже" до эзернета ещё как минимум два уровня OSI копать. Открой для себя
Windows Sockets. Теперь и с примерами на MSDN.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных по эзернету.
    #38235909
webber81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел похожий экзампл на visual c++

http://msdn.microsoft.com/en-us/library/windows/desktop/ms737591(v=vs.85).aspx

Подскажите как строку (char *sendbuf) заменить на интовый массив (int globalA[100]).
заранее благодарен.
...
Рейтинг: 0 / 0
Передача данных по эзернету.
    #38236364
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
webber81заменить
cast-ом:
Код: sql
1.
(char*)globalA


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Передача данных по эзернету.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]