|
해결했어요.ㅠㅠ
막 지쳤었는데 답변글보고
한줄기 희망이.ㅋㅋㅋㅋ갑자기 기분이좋아져서.
이답변보고 다시 차근차근생각했거든요
제가 참..제가글쓴거봐도 참 무슨 뭘그렇게 장황하게썼는지
저땐 좀답답했거든요ㅠㅠ
암튼 알고봤더니 타이머는 문제가없었고 스레드도잘돌아갔어요
근데 잘생각해보니까 저거 데이터 받는 명령을 보내기전에
또다른 데이터명령을보내거든요
그래서 이건 잘되나보니깐 이건 장비 열개랑연결되면 열개 전부 명령보내고 데이터잘받고
그러고있던거에요
그래서 음..머지.-_-
이러다가 보니까 제가 문제가되는 제어명령 송신하는부분보니까
현재 연결된 장비한테 동기화명령보내는거있는데
거기부분에서 sleep를 썼던거에요
그래서 하나밖에 안갔더라구요 그거알고 좀허무해서..
동기화명령후 3초후에 제어명령보내는거였는데
한달전에 걍 sleep(3000) 이라고 별생각없이썼는데
이게문제일줄은..-_- 3초후를 타이머로 했어요그냥 암튼 해결했네요.ㅠㅠ
근데 장비는 음..친해지고싶은대요
뭐 터널안에있고뭐 다리에있고 이래서참...
가기가좀..암튼 고맙습니다.
박영목.월천 님이 쓰신 글 :
: 안녕하세요... 이제 구면인 것 같군요....(답변에서)
: 질문 자주 올라오는 것 보니 벅찬 것 같습니다. ㅋㅋㅋ... 아주 재미 있겠는데.... 제가 못한 것이 마음이 아픕니다..ㅋㅋㅋ
:
: 프로그램이란 것이 하나라도 맞지 않으면 동작을 잘 하지 않는 데.... 저 장황한 글에서... 어느 것이... 잘못이다...
: 어떻게 알겠습니까?
:
: 1. 1개의 장비에만 연결합니다. 저 같으면....
: 2. 10개의 명령이 잘 가는지 확인하겠습니다.
: 3. 잘 되었다면 10개의 장비에 연결하겠습니다.
: 4. 잘 안된다. 그러면 어딜까? 10개의 명령이 다 보내어지기는 하는 것일까? 부터 봐야겠네요...
: 5. 수신 되는지 안되는지 모르지만 수신은 잘 되는지? 이런 것 하려면 PACKET 왔다리 갔다리
: 하는 것 봐야겠지요. 슀고 간단해서 제가 자주 사용하는 것 하나 올려둡니다. 이것으로 통신이 왔다갔다 잘 하는지
: 확인하세요.
:
: 10개의 명령을 보낸다. 1개씩 천천히 보내어 본다. 나는 보내는 데 내가 장비의 수신을 받아 주고 있는지를 점검하세요
: 장비에 따라 받아 주지 않고 다음 명령 보내면 무시하는 친구도 있고... 너무 빨리 보내도 안되는 놈이 있고...
: 명령의 길이가 틀리거나 하면 응답을 보내지 않는 놈이 있고 보내는 놈이 있고... 여하튼 허벌나게 많겠지요 ㅋㅋㅋ
:
: 그 장비와 친해져야겠습니다. 장비를 충분히 이해해야 대화가 가능합니다.
: 사람도 그렇는 데... 기계도 제가 보기에 다를봐가 없더라구요...
: 아침에 출근하면 장비를 만지며 아침 인사도 하고... 퇴근할 때 인사하고
: 중간중간에 잘 안되면 이야기도 하고 답답하면... 답답하다고 불평도 해보십시오...
: 좀 웃기는 얘기같지만 분명히 잘 될 것입니다. 저는 그렇게 합니다. 컴퓨터 하고도 이야기를 해보세요...
: 내가 미친 놈인가? 아닙니다. 저도 기계가 말하는 것을 아직 들어보지 못했습니다.
: 그렇지만 더 빨리 해결되었습니다. 기계가 말은 못하지만... 어떤 초자연적인 것으로 도와주는 것인지...
: 기계의 원소가 사람의 몸에도 있기 때문에... 서로 고차원의 진동으로 어떤 메세지를 주고 받는 것인지...
:
: 어떻게 되었던 친해지십시오... 부산에 계시자면 제가 한번 봐드리겠습니다.
:
: smsniff 사용법은 저도 몰라요 하도 간단해서... 20분 내로 다 파악할 수 있을 것입니다.
:
: 그럼.... 장비와 행복하게 보내십시오.... 그럼...
:
:
:
: 알론소 님이 쓰신 글 :
: : 매번 질문만하네요.ㅠㅠ
: : 이번주에 끙끙댄건데
: : 진짜 답답해서 검색해서 찾아서 해봐도
: : 안되요.ㅠㅠ
: :
: : 제가만든프로그램이 인디소켓클라이언트를 사용해서
: : 어떤 장비 (그장비는 서버역할) 한테 컨넥을 거는데요
: : 예를들어 10개장비한테 컨넥을 걸어요 제프로그램이
: : 근데 connect는 잘되거든요
: : 근데 타이머를 만들어서 뭐 예를들어 20초가 되면
: : 그 장비에 패킷을보내서 명령을보냅니다
: : 그럼 장비가 명령받으면 그명령에 맞는 데이터를 보내거든요
: :
: : 근데 connect는 되는데
: : 제어명령이 10개에 다보내져야하잖아요
: : 근데 랜덤으로 막 하나만 되는거에요....
: :
: : 그래서 뭐가문제지 찾아봤는데
: : 제어명령 보낼때부터 하나만 보내는것같더라구요
: : 스레드도 잘돌아가고있는데
: :
: : 그리고 따로 객체를 만들어서
: : 그렇게따지면 10개객체가 따로 돌아가고있거든요
: : 상관이없잖아요
: : 근데왜하나만돌아가는지 이해가안가요
: : 중간에 통신도 끊어지고 이러길래
: : 이거랑관련있나해서 이걸 해결하고
: : 그랬는데도 안되는거에요
: :
: : 이거해결하자마자 바로 디버깅을했는데
: : 그땐 세개만 컨넥트를해봤거든요
: : 근데 세개가 동시에 제어명령이 보내져야하는데
: : 20초로 설정했으면
: : 처음에 한장비가보내지고 20초뒤에 딴장비가보내지고 또 20초뒤에 또 딴장비가보내지고
: : 이순서로되는거에요
: :
: : 그래서 뭐지.-_-
: : 이래서 다시끄고 다시디버깅하니까
: : 하나만 계속 제어명령보내고 데이터받고
: : 그러더라구요
: : 이걸 어떻게 어디서부터 제가 찾아야할지모르겠어요.
: : 스레드잘돌아가는것도 확인했고 connect가 다 되는것도 확인했는데
: : 왜안되는지모르겠어요 도와주세요.ㅠㅠ
|