본문 바로가기
728x90

자바10

netty 초보 패킷을 받는법 전에 올렸던 자료에서 패킷을 검증하는방법은 올렸었다. 그럼 패킷을 검증하고 나서 패킷을 어떻게 해야할까? 보통은 헤더 바디 테일 부분으로 나눠져 있고 그 안에서도 여러가지 형태로 나눠져 있는데 이것은 약속되어있는 프로토콜마다 매우 다른형태이며, 그래서 이렇게 해라 저렇게 해라 라고 할수는 없지만 방법은 모두 같다. 맨 처음에 나는 패킷을 받아서 크기대로 나누라고 했을때 아니 패킷을 어떻게 크기대로 나누라는거야? 라고 생각했지만 프로토콜 문서에 보면 그 해당 패킷의 형태에 따라 몇바이트인지 모두 지정되어있다. 그럼 그 바이트 크기에 맞춰서 이것을 잘라주면 되는데 방법은 다음과 같다. 나는 패킷을 나눠줄때 이러한 방법으로 나눠줬고 처음에 있는 buffer.order는 byteordering이다 이것은 매우중.. 2021. 5. 7.
vo get set 배열 실수 처음 프로젝트를 맡았을때 일을 편하게 하기위해서 많은 변수들을 배열로 처리를 할려고 했다. 물론 이렇게 일을 처리하 면 편하겠지만, 나는 DB에 값을 넣는것까지는 생각을 하지못했다. DB에 넣을때도 배열로 잘 받을수 있을줄 알았지만 따 로 뾰족한 방법이 없는듯 했다. 그래서 나는 특이한 방법을 사용했다. 일단 변수들을 사용하고 그이름과 같은 이름을 갖 고있는 배열을 만든 이후에 그 배열을 getter setter에 return에만 값을 바꿔넣어놓은 것이다 그러니까 쉽께말해 프로그 램을 속인것이다. 놀랍게도 이방법은 잘 먹혀들어갔고, 나는 이러한 방법으로 다른 것도 똑같이 진행하였지만, 이것은 버 그성 방법이었는지, 되는것도 있고 안되는 것도 있었다, 그래서 다른곳에서는 getter 혹은 setter를 할.. 2021. 5. 7.
java사용 유용한 꿀 팁!!! - 초급 vo설정시 변수를 먼저 다 생성해 놓은뒤에 마우스 우클릭 그뒤에 source -> gnerate getters and setters로 들어가면 변수를 선택하고 getter와 setter를 선택해서 생성할수 있다. 초보자들에게는 매우 유용하고 시간들을 절약할수 있는 팁들이다. 한두개의 get과 set을 만드는것은 별로 어렵지 않지만 이것이 10개 20개가 넘어가면, 시간을 매우 많이 잡아먹는데 클릭 몇번으로 해결된다는 것은 정말 매우 큰 팁이다. - 중급(아닐수도 있음) toString vo에서 getter와 setter를 다 만들었다. 그 뒤에 그 모든 변수들을 출력해서 볼수있는 toString을 만들어 볼것이다. 나도 최근까지 이것을 모르고 있었지만, 이것을 알게된 뒤로 매우 유용하게 사용중이.. 2021. 5. 7.
서버 네트워크 어플리케이션을 네티로 작성 서버 네트워크 어플리케이션을 네티로 작성 부트스트랩으로 네트워크 애플리케이션의 필요한 설정들을 지정해줄수있다. 부트스트랩에 이벤트 핸들러를 사용하여 채널 파이프라인을 구성한다 이벤트 핸들러의 데이터 수신 이벤트 메서드에서 데이터를 읽어들인다. 이벤트 핸들러의 네트워크 끊김 이벤트 메서드에서 에러 처리를 한다. 네티는 소켓 채널에 채널 파이프 라인을 등록하고 이벤트 핸들러의 설정을 완료하기 위한 프로세스이다. - 네티는 클라이언트 연결에 대응하는 소켓 채널 객체를 생성하고 빈 채널 파이프 라인 객체를 생성하여 소켓 채널에 할 당한다. - 네티는 소켓 채널에 등록된 channelinitializer인터페이스의 구현체를 가져와서 initchannel메서드를 호출한다. - 네티는 소켓 채널 참조로부터 처음에 등.. 2021. 5. 7.
728x90