C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[7804] 리눅스서버와의 통신...
만사 [] 1294 읽음    2001-05-28 15:34
리눅스 게임서버와 클라이언트와의 통신에서 잘 돌아가는 프로그램을 윈도우즈용으로

포팅하기위해서 서버는 그대로 두고 클라이언트는 C++Builder로 포팅작업을 시작했습니다.

서버는 버클리 소켓으로 작성하였구요..

클라이언트는 컴포턴트 중에서 Internet->ClietSocket의 컴포넌트를 사용하였습니다.

그런데 Connect버튼을 누르면

//---------------------------------------------------------------------------
void __fastcall TMainForm::btnConnectClick(TObject *Sender)
{
    int nSendLen, nSend;

    // Show Option Form
    if (SubForm->ShowModal() == mrOk) {
        // Set Server IP and Port
        ChatClientSocket->Address = SubForm->EditAddress->Text;
        ChatClientSocket->Address = szServerAddress;
        ChatClientSocket->Port = nPort;
        ChatClientSocket->Active = true;
    }


    // Send Message to Server
    memset(szData, 0, sizeof(szData));
    szData[0] = 0;
    szData[1] = '1';
    szData[2] = '0';
    szData[3] = '1';
    szData[4] = 0;

    nSendLen = 5;
    lstrcpy(szData + nSendLen, SubForm->EditUserID->Text.c_str());
    nSendLen += lstrlen(SubForm->EditUserID->Text.c_str());
    szData[nSendLen++] = 0;

    lstrcpy(szData + nSendLen, SubForm->EditPass->Text.c_str());
    nSendLen += strlen(SubForm->EditPass->Text.c_str());
    szData[nSendLen++] = 0;

    szData[0] = (char)(nSendLen - 1);

1.    ShowMessage("Send Size" + IntToStr(nSendLen));
2.    //ShowMessage("Send Size" + IntToStr(nSendLen));

    ChatClientSocket->Socket->SendBuf(&szData, nSendLen);
}
//---------------------------------------------------------------------------

로 연결하려고 작성하였습니다..

1. 그런데 ShowMessage를 작성하고 SendBuf를 실행하면 소켓이 void __fastcall

TMainForm::ChatClientSocketRead(TObject *Sender, TCustomWinSocket *Socket)
{
...
}

으로 잘 넘어가는 데요...

2. ShowMessage를 작성하지 않고 바로 SendBuf를 실행하면 그냥 프로그램이 SocketRead로

넘어가지 않고 void __fastcall TMainForm::ChatClientSocketConnect(TObject *Sender,

TCustomWinSocket *Socket)로 넘어갑니다...

서버는 죽지않고 잘 작동하구요...

너무 이상합니다...

아시는분 답장주세요..

+ -

관련 글 리스트
7804 리눅스서버와의 통신... 만사 1294 2001/05/28
7814     Re:리눅스서버와의 통신... 이경문 1343 2001/05/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.