|
이경문님 말씀에 100%로 동의, 그래도 1% 남겨 놓으셨네요... ㅋㅋㅋ 대단하십니다.
저는 99.99%로 ㅋㅋㅋ...
XP에서 컴파일 링커 한 놈으로, 똑같은 놈으로 XP, 7 에 실해했다면 분명 똑같을 것이라 생각 됩니다.
이경문님 말씀대로 하시다 보면... 해결 될 것이라 생각됩니다 ^^
이경문 님이 쓰신 글 :
: 운영체제에 문제가 있다면, 당연히 전 세계적으로 난리가 나겠죠. 당연히 운영체제 문제는 아닙니다.
:
: TCP/IP 처리하는 소스는 문제가 없다고 하셨는데, 99%가 소스 잘못입니다. Well-knwon module(OS, Network kernel)에 문제가 있다고 하는 경우는 지금까지 제 경험상 한번도 보지를 못했습니다.
:
: wireshark로 정상 통신이 되는 경우가 비정상 통신이 되는 경우에 대해 packet을 잡아서 비교해 보세요.
:
: 참치잉... 님이 쓰신 글 :
: : WinXP에서 만든 어플리케이션을 이용해 TCP/IP 통신을 하여 장비를 제어하고 데이터를 취득합니다.
: :
: : 어플리케이션에서 장비에게 먼가 작업을 하라는 메시지를 담은 패킷을 전송하게 되면,
: : 장비는 그 패킷을 수신하여 분석한 후, 해당 작업을 수행하고..
: : 해당 작업 완료 여부에 대한 메시지를 담은 패킷을 어플리케이션으로 전송해줍니다.
: : 어플리케이션은 수신된 패킷을 분석하여 작업이 완료가 되었는지, 실패했는지 판단하게 됩니다.
: :
: : WinXP에선 아주 잘 됩니다. 장비로 메시지 보낼 경우 즉각적으로 장비가 반응하여 해당 작업을 수행하고, 그 작업에 맞는 완료여부 메시지를 어플리케이션으로 잘 보내줍니다.
: :
: : 그런데 이 작업을 Win7(64bit)에서 하면.. 문제가 있습니다.
: :
: : 장비로 보내는 메시지는 정상적으로 가고, 그에 따라 장비가 반응하여 해당 작업을 수행하는데, 그런데 작업 수행하고 나서 어플리케이션으로 보내주는 작업 완료 여부 패킷이 잘못되서 들어옵니다.
: : TCP/IP에서 장비로부터 수신된 패킷을 분석해보면 값이 다르게 나옵니다. 그 전 작업 완료 여부 메시지가 나옵니다.
: :
: :
: : 예를 들어 설명하면...
: : 1. 장비 하드웨어 설정 Clear
: : 2. 장비 하드웨어 설정
: : 3. 데이터 취득..
: :
: : 이런 과정으로 할 경우....
: :
: : 1->2 까진 정상적으로 되는데 2->3번으로 갈때 보면 3번 작업이 장비 내부에선 수행되고, 2번작업에 해당하는 작업 완료 여부 패킷이 들어옵니다. 이상태에서 3번을 다시 수행하면.. 이제 3번 작업이 장비 내부에서 수행되고, 3번 작업에 해당하는 작업 완려 여부 패킷이 들어옵니다.
: :
: : 여기서 다시 2번을 하게 되면 2번 작업이 장비 내부에서 수행되고, 3번 작업에 해당하는 작업 완료 패킷이 들어옵니다..;;;
: :
: : 1, 2, 3번 작업이 장비 내부에선 메시지 받은 순간 잘 수행이 잘 되는데, 어느 순간부터 작업 완료 여부 패킷이 이전 작업 완료 패킷으로 밀려서 들어옵니다.
: :
: :
: : TCP/IP 처리하는 소스는 문제가 없는거 같구요..
: :
: : 단지 운영체제에 따라 위 증상이 나옵니다.
: :
: : Win7(64bit)에서 TCP/IP 통신을 이용하여 장비 제어할 경우 먼가 다른 처리가 있어야 하나요?
: :
: : 장비 펌웨어 문제일까요? 사용 운영체제 문제일까요?
: :
: :
: : 답변 부탁드립니다.
|