Plc와 소켓 통신하는 윈폼 프로그램을 개발하고 있습니다.
초기 개발땐 plc가 하나밖에 안되니,
폼 내부에 소켓 클라이언트 만들어서 했고 이때는 문제점을 인지하지 못하고 있었습니다.
그러다, plc device의 갯수가 많아지게 되면서,
해당 코드를 클래스로 생성해서, 비동기로 통신을 하려고 하는데요,
각각의 인스턴스가 별개로 움직이지 않고, 다른 인스턴스의 영향을 받는것 같습니다.
예를들어 plc1에서 프레임을 3-10회 주고 받는 동안
Plc2에서는 나중에 한번 주고 받는 식으로요.
-
form 에서, 설정 데이터 가져온 후, 해당 디바이스 인스턴스 생성후 start.
-
인스턴스 내에서 루프 돌면서 프레임 주고 받기
윈폼 인스턴스(form.cs)내에서 소켓을 여러개 만들어서 하면 문제는 없지만,
이렇게 따로 클래스를 생성해서 주고받으니 이렇게 되네요…
제가 비동기 프로그래밍을 잘못이해하고 있는건지, 아니면 아예 근원적으로 잘못접근하고 있는지를 모르겠습니다.
비전공자기도 하고 어쩌다 보니 개발을 하고 있는데,
도와주십쇼 선생님들!
아래의 내용을 숙지하신 후에는, 이 글 전체의 내용을 지우고 원하는 글을 작성해주세요.
질문 글을 올리기 전 꼭 읽어주세요
질문을 올리실 때는 답글을 달아주시는 분이 최대한 상황을 자세히 알 수 있도록 질문을 올려주세요. 다음의 내용이 들어가면 좋습니다.
- 무엇을 하고자 하는지
- 현재 작성한 코드 중 문제가 되는 부분
- 기대하는 동작
질문글, 답글, 댓글은 한 번 올리면 언제든 누구나 볼 수 있어야 합니다. 질문글에 대한 답글이 올라왔다고해서 글을 지우는 것은 이기적인 행동입니다. 만약 공개적으로 올릴 수 없는 질문이라면 포럼에는 질문을 올리시면 안됩니다.
한 번 올렸던 질문은 다시 올리지 말아주세요. 만약 질문에 대한 답을 받지 못했다면, 혹시 질문이 너무 추상적이지는 않은지, 단순히 무엇을 대신 해달라는 부탁은 아니었는지 생각해보고 고쳐서 다시 올려주세요. 그리고 먼저 올린 질문에 댓글 형태로 새로운 질문을 계속 추가해주세요. 그래야 추가 답변을 쉽게 받으실 수 있고, 나중에 찾아보기도 좋습니다.
답변을 받으면, 감사의 표시로 꼭 답변 채택 버튼을 눌러 마무리해주세요. 나중에 같은 질문을 찾아보시는 다른 분들께도 도움이 됩니다.
마지막으로 당부드릴 말씀이 있습니다. 질문 답변 게시판에서 답글을 달아주시는 분은 본인의 귀한 시간을 쪼개어 지식을 공유해주시는 분입니다. 답글을 달아주시는 분, 그리고 커뮤니티에 참여하는 다른 모든 분들께 기본적인 예의를 지킬 수 있도록 해주세요.
이상의 내용을 숙지하여 모두가 즐겁게 참여할 수 있는 포럼을 만드는 데 힘을 보태어주세요.