기본 콘텐츠로 건너뛰기

(VB.NET) 1:1 Multiport connection

Basic MultiPort :
https://it-jerryfamily.tistory.com/entry/Program-C-multiple-port%EB%A1%9C-%EC%9E%91%EC%97%85%ED%95%98%EA%B8%B0?category=611730
Using socket with asynchronus method :
https://www.youtube.com/watch?v=cG5q4XdYIUI&t=1289s
AutoScroll : https://www.youtube.com/watch?v=NCBpd3CNRIU

위의 링크에 있는 것들을 조합해서 1:1 Multiport connection을 한 것입니다.
Server / Client side가 있는데 몇 가지 아직 몇 가지 문제점이 있어서 공부를 더 해야겠네요~ ㅠㅠ

문법이 생소하기도 하고 새로운 메쏘드도 너무 많아서 99%는 베껴쓰고 1% 정도만 되는데로 고쳐가면서 해결했어요 ~ 머리가 나쁘니 몸이 고생이네요~~

이제 이걸로 사내 장비에 이더넷 통신을 해서 데이터 기록이 되는지 확인하고, DataGridBox를 추가해서 엑셀로 기록할 수 있게 하면, 꽤나 편한 프로그램이 되겠네요~ ㅎㅎ 이렇게 하는게 맞는지 모르겠는데 일단 해봐야겠네요~  해놓고 매뉴얼을 보니 이게 멀티포트가 아닌가.. Modbus란 것과 헷갈린건가 .. 아직은 잘 모르겠네요~~
https://web-material3.yokogawa.com/IMMV1000-17E_020.pdf



https://drive.google.com/open?id=14aub3FWghQHV3mJt4f2aUAw2ySrAfLl6

(참고사항)                 
(ServerSocket.vb : 49-53, method : serverAccept() )

socket(i).BeginAccept(AddressOf AcceptedCallBack, socket(i))
다른 예제에서는 두번째 변수가 null로 되어 있는데, 그런 예제는 다른 object가 아니고 클래스 내에 있는 하나의 socket을 가지고 처리를 하기 때문인 것? 같네요.
제가 수정한 클래스 ServerSocket에는 ServerSocket내에 갯수를 동적할당을 해주는데, 이 경우 어떤 오브젝트를 가지고 BeginAccept를 실행할 것인지 지정이 필요하기 때문에 socket(i)로 해줘야 하는 듯 합니다. 정확히는 모르겠는데 이 부분이 문제가 되서 꽤나 많이 고생했네요 ~ 정확히 알게되면 수정필요

(MainForm.vb : 32-36, method : msg(~~~))
Textbox1이 계속 처음으로 Scroll 되길래 위 부분을 추가하니까 되더라고요~
그러면 추가된 행만큼 자동으로 Scroll이 됩니다.

(문제점)
1. Connect test가 2회 이상 실행됨 (이미 연결된 상태라면 Server 또는 Client 쪽을 막아야할 거 같음)
2. 다른 예제에서는 Thread를 사용하는 부분이 있는데 개념 이해를 못해서 그냥 빼 버렸습니다. 이 부분을 이해해야 1:n 통신이 가능해지는듯 하네요~

댓글

이 블로그의 인기 게시물

(VBA) 009 - 닫힌 파일에서 데이터 읽어오기 (ExecuteExcel4Macro)

#毎日育ちゃん可愛い大会 예시의 매크로 파일을 테스트 할 때는 저장된 폴더를 사용하실 폴더로 꼭 바꿔주세요! (pptx파일) pptx파일 (xlsx파일) 예제데이터파일   Macro파일 ★ 진행목적 : 왜 이걸 사용합니까 . 1) 행이나 열 , 또는 Sheet 과 같이 다른 특성을 가지는 1,2,3 차 데이터배열에 대한 처리 방법을 지금까지 설명드렸습니다 . 2) 그럼 이제 , 다른 파일에서 데이터를 읽어올 방법을 알아볼 필요가 있습니다 . 어째선가 회사의 데이터를 처리하다보면 , 주기적인 이름의 엑셀 파일 특정 Sheet, Cell 에 있는 경우가 많았습니다 . 3) 엑셀에서 이미 열려있는 파일의 참조는 ‘=‘ 을 사용하면 가능하지만 , 닫힌 파일은 데이터를 읽지 못합니다 . 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ 다른 파일의 참조는 어떻게 합니까 ? 1) 열려 있는 다른 파일의 데이터를 읽는 방식은 ‘=‘ 을 입력하고 해당 Cell 을 클릭하면 됩니다 ! 2) 그러면 아래와 같이 (=‘ 파일이 있는 폴더 [ 파일명 ]Sheet 명 ’!Cell 주소 ) 의 형태로 기록 이 됩니다 . ★ 닫힌 파일에 대해서는 INDIRECT 는 사용이 되질 않습니다 ! 1) INDIRECT 로는 처리가 되질 않습니다 . 2) 어째선가 전에 사용하던 INDIRECT 를 사용하고 싶지만 , 사용이 되질 않습니다 . 검색을 해봐도 안된다는 답변만 있네요 ! 3) 파일이 하나 두 개라면 , 이전과 같이 ‘=‘ 를 쓰면 되겠지만 , 그러면 자동화를 통한 효율화가 불가능해지겠죠 ! 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ ExecuteExcel4Macro 는 어떻게 사용합니까 ? 1) VBA 의 ExecuteExcel4Macro 란 매크로...

[Python] 크롤링 HTTP Forbidden 403 문제 해결

  코드에는 문제가 없는데 HTTP 403 Forbidden이 발생하길래.. 검색해보니까 서버사이드에서 저 같은 불법 크롤러를 거르는 메쏘드가 있는 모양입니다. 아래의 링크를 참고해서 해결했습니다 https://howtoworld.tistory.com/52 urllib에서 Request를 import 해줘야합니다. 1 2 3 4 def  hellenicshipping():     url  =  Request( "https://www.hellenicshippingnews.com/category/shipping-news/dry-bulk-market" ,headers = { 'User-Agent' :  'Mozilla/5.0' })     html  =  urlopen(url)     savefile  =   './hsn.txt' Colored by Color Scripter cs

(VBA) 004 - Object 이름으로 이미지 복사 붙여넣기

(VBA) 004- Object 이름으로 이미지 복사 붙여넣기 진행목적  :  왜 이걸 사용합니까 . → Object  이름을 사용해서 주기적 복사가 가능한 경우가 있습니다 .     ( 예  :  사진의 이름이  ‘ 사진  1’ ‘ 사진  2’…  로 되어있거나 , ‘Picture 1’, ‘Picture 2’…  로 됨 ) (설명자료는 여기) 설명자료 ( 예제파일은 여기 ) 예제파일 (VBA 진행에 대해) 이제 VBA 세션 자료를 필요할 때 보려고 이 블로그에 남기려고 해요. 앞선 001-003도 옮겨야겠습니다. 올해 내에 100가지 주제를 가지고 포스팅 할 수 있도록 할게요. ( 中谷 育 さんのイメージで に対して) 本当に可愛い中谷 育さんのイメージが 含まれています。 ありがとうございます。 何か問題があったら、教えてください。 直ちに処理します。