Q&A

  • 소켓!.. 후~.. 왜 첫번짼 안가구 두번짼 가는걸까요? ㅠㅠ
안녕하세요...^^



재미난 현상이 발생해서.. 이녀석이 왜이럴까? 고심고심한 끝에 풀지못하구 ㅠㅠ..이렇게



질문을 드립니다. ^^



소켓을 이용한 아주 간단한 건데요.. editbox를 하나 올리구, button 하나 올리구



serversocket, clientsocket 하나씩 올려서 버튼을 누르면 edit에 있는 ip를 clientsocket



의 주소(clientsocket1.address) 에 넣구 active 를 true 해서 보냅니다.



보내는 문자는... clientsocket1.socket.sendtext('제발 함 가주라~응?'); 입니다.^^



프로그램 시작시에는 serversocket은 실행(true)상태이구여...



이걸 다른 컴에 복사해서 실행을 시켰습니다... 근데.. 버튼을 함 누르면 안갑니다.



근디.. 두번째 누르면 갑니다.. 허~ 왜이럴까요? sleep을 줘서 재웠다가 보내두..



결과는 마찬가집니다..



주소부분은 clientsocket에 디자인시에 넣어주는것과 실행중에 넣어주는것과 이렇게 차이가



나는 이유가 무얼까요????



아니면 제가 어떤 무지를 보이는지 무지를 지적해 주십시오...



좋은 하루 되시구여.. .이만.. 꾸벅 _ _;





2  COMMENTS
  • Profile
    구창민 2000.07.27 03:08
    김영습 wrote:

    > 안녕하세요...^^

    >

    > 재미난 현상이 발생해서.. 이녀석이 왜이럴까? 고심고심한 끝에 풀지못하구 ㅠㅠ..이렇게

    >

    > 질문을 드립니다. ^^

    >

    > 소켓을 이용한 아주 간단한 건데요.. editbox를 하나 올리구, button 하나 올리구

    >

    > serversocket, clientsocket 하나씩 올려서 버튼을 누르면 edit에 있는 ip를 clientsocket

    >

    > 의 주소(clientsocket1.address) 에 넣구 active 를 true 해서 보냅니다.

    >

    > 보내는 문자는... clientsocket1.socket.sendtext('제발 함 가주라~응?'); 입니다.^^

    >

    > 프로그램 시작시에는 serversocket은 실행(true)상태이구여...

    >

    > 이걸 다른 컴에 복사해서 실행을 시켰습니다... 근데.. 버튼을 함 누르면 안갑니다.

    >

    > 근디.. 두번째 누르면 갑니다.. 허~ 왜이럴까요? sleep을 줘서 재웠다가 보내두..

    >

    > 결과는 마찬가집니다..

    >

    > 주소부분은 clientsocket에 디자인시에 넣어주는것과 실행중에 넣어주는것과 이렇게 차이가

    >

    > 나는 이유가 무얼까요????

    >

    > 아니면 제가 어떤 무지를 보이는지 무지를 지적해 주십시오...

    >

    > 좋은 하루 되시구여.. .이만.. 꾸벅 _ _;

    >

    >





    접속한 후, TClientSocket의 OnWrite 이벤트가 발생한뒤에



    문자열을 날려보세요.



    그럼 즐거운 프로그래밍 하시길~~

  • Profile
    김영습 2000.07.27 07:34
    구창민님 답변감사 드립니다.



    clientsocket 의 onwrite 이벤트에다가 메세지를 주니 메세지가 가더군요..^^



    아래의 소스를 버튼이벤트에 주면 안가더라구요..

    clientsocket1.Address := edit1.text;

    clientsocket1.Active := true;

    clientsocket1.Socket.SendText('함 가주라...');



    답답한 마음에....이렇게 코딩을 해봤습니다.

    clientsocket1.Address := edit1.text;

    clientsocket1.Active := true;

    if clientsocket1.active = true then

    begin

    clientsocket1.Socket.SendText('함 가주라...');

    end;



    if clientsocket1.active = false then

    begin

    message('왜 true가 안되어 있을까????');

    clientsocket1.Socket.SendText('함 가주라...');

    end;



    그것참! 결과는 메세지창이 뜹니다. false 에서 걸리는데..이해가 안되는군요...ㅠㅠ



    왜 true가 안되어 있을까요?



    근데 메세지차을 확인하고 닫으면.. 메세지가 날아갑니다...ㅠㅠ



    onwrite 이벤트를 버튼 이벤트에서 발생시킬순 없나요?



    방법은 어떻게 해야 하는거죠?



    궁금한 것이 너무나 많습니다.



    말주변이 없어서... 뜻이 제대로 전달이 되었는지 모르겠군요...^^



    답변해 주셔서 고맙구요..



    답변해 주신 방법을 어떻게 사용하는지를 모르겠습니다.



    죄송합니다.. 다른방법은 없을까요?.. 부탁드립니다..



    그럼이만..