본문으로 바로가기

C# TCP/IP Client Part.3

category C# 2019. 3. 26. 21:07
반응형

 

드디어 모드버스 TCP/IP 클라이언트 프로그램을 만들었다.

비록 아직은 조금씩 수정해야 할 곳이 있고 우리가 흔히 쓰는 모드버스 프로그램 보다는 퀄리티가 훨씬 떨어진다..

C# 윈폼을 이용하여 TCP/IP 클라이언트 프로그램을 만들기까지 몇가지 어려움이 있었다.

 

1. 모드버스 TCP/IP 는 원하는 프로토콜 값을 요청해야 그 요청한 값을 받을 수 있다.

   그래서 Write Buff 를 1024 크기로 잡고 원하는 프로토콜 크기를 서버에 요청을 하였는데 서버가 계속 다운되는 것이었다.

   내가 요청한 프로토콜 크기는 12byte라고 생각하였지만 , 서버에게 1024byte 만큼 요청을 하고 있는 것이었다.

   아마도 너무 많은 크기를 요청을 한게 다운요인이지 싶다.

 

2.  받아온 값을 byte와 Hex 값으로 형변환 하는 부분이 어려웠다.

     Conversion 이란 함수를 써서 원하는 값으로 변환을 하였지만, 이부분에 대해서는 지속적으로 공부를 해야할 것 같다.

 

3. 모드버스 TCP/IP 프로토콜 을 이해하고 사용하는 방법.. 

   지금도 많이 모르는 부분이 많고 다양하게 사용은 못한다...

   하지만 조금씩 활용해보고 프로토콜에 대해 찾아보면 이 프로토콜은 이렇게 이루어 졌구나 라는 걸 느낄 수 있다.

 

 

개발 실력이 많이 부족하여 5일정도 걸렸는데 앞으로 성장해서 좀 더 나은 개발실력을 가지도록 노력해야겠다.

Class 정리.. 메소드 정리.. 등등 많은 것을 보완해야한다..

 

MYwrite.BaseStream.Write(wb, 0, 12) 매개변수 wb 값을 0번째부터 12개를 요청한다는 것인데 

요청하는 부분에 wb.length 써버리니(1024 크기의 배열) 서버가 다운되는 현상 발생..

다행히 12개로 개수를 지정해서 요청하니 해결이 되었다는..

 

쓰레드 타이머 생성 후 보내는 함수에 적용

 

 

방문자 분들 모두 즐거운 하루, 행복한 하루 보내세요! 

 

[C#] - C# TCP/IP Client 테스트 소스

 

C# TCP/IP Client 테스트 소스

C# WinForm으로 작성하였습니다. Test 소스로 작성한거라서 조금 복잡하고 지저분해보일 수 있으실수도 ㅠ 궁금한 점이나 부족한 점은 꼭 댓글남겨주세요^^ 소스는 올리도록하겠습니다. using System; u

dodo1054.tistory.com

 

반응형

'C#' 카테고리의 다른 글

C# Byte 배열로 형변환 하기  (0) 2019.07.15
C# Postgresql 연동하기  (0) 2019.04.23
C# 폼에서 폼으로 파라미터 인수 넘기기  (0) 2019.04.17
C# TCP/IP Client Part.2  (0) 2019.03.22
C# TCP/IP Client Part.1 [기본소스]  (2) 2019.03.21