Q&A

  • 서버와 소켓통신 하고 싶은데...
질문 자주 올리네요~~ 헤. ^^;;



제가 서버와 통신하는 프로그램을 짜고 있습니다.



서버 1대, TClientSocket1 을 썼을땐 비동기 (Non-Blocking) 방식으로

받아서 Test 했을때 아무 문제 없었습니다.

으음... 가끔 환경이 바뀔때만 Client에서 Server로 Packet 을 날려주고...

거의... 서버에서 내려주는 값응 클라이언트에 그대로 뿌려주면 되거든요....





근데... 서버가 2대 -( 1번, 2번) 이 있다고 가정했을때 하나의 클라이언트에서

어떻게 처리를 해줘야 할지 난감합니다.



클라이언트에 TClientServer1, TClientServer2 2개를 지정한후 각각 서버 IP Address

를 부여한다음 연결을 시켰을때

Blocking 방식으로 처리해야 하나요? 아님 어떻게 처리해야 하나요?

Non-Blocking 방식으로 해도 클라이언트에서 알아서 충돌없이 데이타를 처리해줄수

있나요?



그리구.. 서버에서 패킷을 받았을때 클라이언트에 뿌려주고자 할때

처리하는 함수라든지... 구체적인 방법을 알려주시면 안될까요?

receivetext 를 사용할때 Packet이 어떻게 내려올지 몰라서...



Packet이 54Byte씩... 여러개가 한꺼번에 내려올거 같은디...

아... 여기서 54Byte는 서버에서 내려줄 Layout Format이 54Byte씩 잡혀있거든요...

참고로... 서버는 제가 짜는게 아니라.. 다른 친구가 짜고... 저는 클라이언트에서

받기만 할걸거든요~~



글구 receivetext 를 사용하는 것이 옳은지도 감이 않잡혀서...



어휴~ 넘 두서없이 썼읍니다. 죄송합니다.

질문이 황당하더라도 이해해주세요... 아직 소켓쪽 개념이 없어서요... 쩝.



이왕이면 전에 Test 하셨던 소스도 있으면 올려주셨으면....



답변부탁드립니다.



2  COMMENTS
  • Profile
    조규춘 2000.05.23 13:27
    강희숙 wrote:

    > 질문 자주 올리네요~~ 헤. ^^;;

    그런데 왜 나는 자주 못봤을까요? 헤.^^



    >

    > 제가 서버와 통신하는 프로그램을 짜고 있습니다.

    일종의 채팅인가 보지요?



    >

    > 서버 1대, TClientSocket1 을 썼을땐 비동기 (Non-Blocking) 방식으로

    > 받아서 Test 했을때 아무 문제 없었습니다.

    > 으음... 가끔 환경이 바뀔때만 Client에서 Server로 Packet 을 날려주고...

    환경이 바뀐다니요! 비가 내린다는 얘기인가? 푸힝~! 자세한~!





    > 거의... 서버에서 내려주는 값응 클라이언트에 그대로 뿌려주면 되거든요....

    >

    >

    > 근데... 서버가 2대 -( 1번, 2번) 이 있다고 가정했을때 하나의 클라이언트에서

    > 어떻게 처리를 해줘야 할지 난감합니다.

    그럼 port를 틀리게 해주면 되잖아요!



    >

    > 클라이언트에 TClientServer1, TClientServer2 2개를 지정한후 각각 서버 IP Address

    > 를 부여한다음 연결을 시켰을때

    > Blocking 방식으로 처리해야 하나요? 아님 어떻게 처리해야 하나요?

    왠 이렇게 처리를 할려고 하는 지 모르겠군요...



    > Non-Blocking 방식으로 해도 클라이언트에서 알아서 충돌없이 데이타를 처리해줄수

    > 있나요?

    제가 아는 고수님의 얘기로는 충돌을 일어날수도 있다고는 합니다.

    다만 힘들다 뿐이지....





    >

    > 그리구.. 서버에서 패킷을 받았을때 클라이언트에 뿌려주고자 할때

    > 처리하는 함수라든지... 구체적인 방법을 알려주시면 안될까요?

    > receivetext 를 사용할때 Packet이 어떻게 내려올지 몰라서...

    물론 제가 만든 소스(채팅)를 보내드리지요! 그것으로 공부를 하심은.....

    푸힝





    >

    > Packet이 54Byte씩... 여러개가 한꺼번에 내려올거 같은디...

    > 아... 여기서 54Byte는 서버에서 내려줄 Layout Format이 54Byte씩 잡혀있거든요...

    > 참고로... 서버는 제가 짜는게 아니라.. 다른 친구가 짜고... 저는 클라이언트에서

    > 받기만 할걸거든요~~

    그래도 서버에서 보내는 메시지는 어떤건지 친구랑도 얘기를 하면서 제작을 해야할텐데요!





    >

    > 글구 receivetext 를 사용하는 것이 옳은지도 감이 않잡혀서...

    >

    > 어휴~ 넘 두서없이 썼읍니다. 죄송합니다.

    > 질문이 황당하더라도 이해해주세요... 아직 소켓쪽 개념이 없어서요... 쩝.

    >

    > 이왕이면 전에 Test 하셨던 소스도 있으면 올려주셨으면....

    당근이지요! 공부를 하신다는데.. 푸힝..~!



    >

    > 답변부탁드립니다.

    이정도면 답변인갑요!?

    >

  • Profile
    강희숙 2000.05.23 17:24
    감사 ^^



    보내주신 소스 잘 받았습니다.

    열심히(?) 공부해서...기대(?)에 부응할께요~~

    그래도 모르면 다시 질문드릴께요. 감사.