|
TThreadList* thdlist = IdTCPServer1->Threads;
TList* list = thdlist->LockList();
TIdPeerThread* thd;
TIdTCPServerConnection* con;
for(int i = 0; i < list->Count; i++)
{
thd = (TIdPeerThread*)list->Items[i];
con = thd->Connection;
con->WriteLn("STRING");
}
thdlist->UnlockList();
초보자 님이 쓰신 글 :
: OnExecute 말고, 예를 들어 버튼을 클릭하면 클라이언트들에게
:
: 메세지를 보내려고 합니다. 접속된 클라이언트 모두에게 보낼
:
: 수도 있고 특정 클라이언트에게만 보낼수도 있는데,
:
: 문제는 TIdTCPServer에는 전송과 관련된 메서드가 없더군요..
:
: 다른 방식으로 데이터를 보내는것 같은데 도움말만 봐서는 찾기
:
: 가 힘들어서 이렇게 질문 드립니다.
:
: 인디 예제도 너무 간단하게만 되어 있어서 알 수가 없네요.
:
: 스레드를 어떻게 해서 하는 것일까 하고 예상만 하고 있는데...
:
:
: 아시는 분 답변 좀 부탁드리겠습니다..
:
:
: 답변이 없으시네요.. 아래처럼 작성해보았는데 메세지가 가지를 않습니다.
:
: 아시는 분이 없으신 건지...ㅠ.ㅡ;;
:
: void __fastcall TForm2::btSendClick(TObject *Sender)
: {
: if (type == 0) //Server
: {
: TList *tlist;
: TIdPeerThread *AThread;
: tlist = IdServer->ThreadMgr->ActiveThreads;
: for (int i=0; i<tlist->Count-1; i++)
: {
: AThread = (TIdPeerThread *)tlist->items[i];
: AThread->Connection->WriteLn(edtMsg->Text);
: }
: }
: else if (type == 1) //client
: IdClient->WriteLn(edtMsg->Text);
:
: }
|