|
그래서 서버에서 IOHandler의 SendBufferSize의 크기를 늘려줬더니 에러 빈도가 확연히 줄어드는 것 같은데, 근본적인 해결책인지는 잘 모르겠네요.. 대신 CPU점유율이 올라가는 단점이..
전송량을 일반적인 4,5메가가 되게 패킷량을 조절해서 보내니까 에러는 많이.. 안나는 것 같네요..
Lyn 님이 쓰신 글 :
: 일단 IOHandler의 버퍼크기와 관련된거같긴 한데 ...
: 일정량 이상의 데이터 처리에 문제가 있는듯.
:
: 용맨소녀 님이 쓰신 글 :
: : 이걸로 다 만들고 있었는데..ㅡ.ㅡ 왜 검색을 해봐도 이런 문제에 대한 얘기가 없는건지...
: :
: : Lyn 님이 쓰신 글 :
: : : 델파이로 해봤는데...
: : :
: : : Indy 10이 동작이 요상하네요 ㅡㅡ; 안쓰시는게 나을듯...
: : : 코딩문제가 아니지 싶네요. 라이브러리가 문제인듯
: : :
: : : 용맨소녀 님이 쓰신 글 :
: : : : 답변 감사합니다..
: : : :
: : : : 근데, 패킷 처리를 했으니 Clear()로 비운 다음에 다시 ReadStream()으로 패킷을 받고, 스트림 포지션을 맨 앞 0으로 설정해놔야하는 것 아닌가요?
: : : :
: : : : 음.. 아닌가.. 긁적..
: : : :
: : : : Lyn 님이 쓰신 글 :
: : : : : 빌더가 없어서 정확히 확인은 못했는데 ...
: : : : :
: : : : : RecvStream->Clear();
: : : : : Context->IOHandler->ReadStream(RecvStream);
: : : : : RecvStream->Position = 0;
: : : : :
: : : : :
: : : : : 이부분이 문제인 것 같은데요.
: : : : :
: : : : : 용맨소녀 님이 쓰신 글 :
: : : : : : 단순화해서 한 번 만들었는데요..
: : : : : :
: : : : : : 한 번씩 패킷이 깨져서 오는 경우가 있어요..
: : : : : :
: : : : : : 서버에서 클라로 보내는 속도는 초당 17메가고 클라에서 서버로 보내는 속도는 초당 500KB 정도 됩니다..
: : : : : :
: : : : : : 70ms마다 30명이 패킷을 날리면 서버는 그걸 모든 클라이언트에게 되돌려줍니다..
: : : : : :
: : : : : : 그냥 컴터 하나에 서버, 클라 둘 다 실행하면 됩니다..
: : : : : :
: : : : : :
: : : : : :
: : : : : : 덧붙임 : Stream으로 처리해서 그런지 처리 속도가 늦어서 그런 감도 있는 것 같네요.. 다른 방법으로도 테스트 해봐야겠네요..
|