본문 바로가기

포트

[Java 소켓 프로그래밍 기초/실습] Server-Client 통신해보기 최근 Java Socket Programming을 이용하여 해야 하는 프로젝트에 참여하게 되어 기초부터 공부하기 위해 작성한 글입니다. 다른 블로거 분들의 코드와 글을 참고하였으니 포스트 제일 하단 부분의 참조(reference) 확인 부탁드립니다. Java Socket Programming을 시작하게 되면 제일 먼저 시작하는 것이 Server-Client 간의 통신 구축입니다. 이를 위해서는 Server와 Client, 2개의 Class를 만들어야 합니다. 기존에 좋은 코드가 있어서 참고를 하고 제가 이해 안가거나 모르는 부분은 주석으로 상세히 설명해놓았습니다. Java 소켓 프로그래밍을 공부하시는 분들께 도움이 되었으면 합니다. 실습에 앞서서... Java라는 언어에 대한 깨알 설명 몇가지를 첨부하였.. 더보기
[Socket/SDN 기초] Socket Programming과 Software Defined Network(SDN)에 대한 사전 지식 Openflow를 이용한 SDN(Software Defined Network) Controller를 GUI와 함께 구현하는 과제를 받았습니다. 이를 위하여 Java Socket Programming을 이용하려고 합니다. GUI(Graphic User Interface)와 더불어 Agent를 SDN Controller에서 Openflow를 이용해 조작하기 위해서는 Fox라는 단순화(Simplified)된 SDN Controller를 이용하여 구현합니다. FOX는 C언어 기반으로 구현되어 있기 때문에 GUI가 좋지 않습니다. C에서 그럴싸하게 GUI 구현하는 것은 매우 어렵다고 합니다. 하지만 Java에서는 AWT나 Swing이라는 GUI를 제공하기 때문에 편하게 구현이 가능합니다. SDN 컨트롤러 구현에 .. 더보기
[네트워크] 프로토콜과 TCP/IP 프로토콜이란? 서로 다른 시스템에 있는 개체 간에 성공정으로 데이터를 전송하는 통신 규약 (네트워크에 연결된 컴퓨터들끼리 데이터를 주고받을 수 있도록 미리 약속한 전송 규약 및 규칙) 프로토콜은 계층적 구조로 정의되어 있고, 계층별 역할이 구분됨 예를 들어서 인터넷을 이용한다고 하면 인터넷의 기본 프로토콜 - TCP/IP 원하는 웹사이트의 웹페이지를 볼 수 있는 - HTTP 메일을 주고 받을 시 - SMTP, POP3 인터넷으로 데이터나 파일의 업로드, 혹은 다운로드 시 - FTP 등의 프로토콜이 사용된다. 프로토콜이 필요한 이유는 무엇인가? 사용자 별로 환경이 다르고 통신의 규칙이 없으면 충돌, 지연 등 여러가지 문제가 발생할 수 있기 때문이다. 예를 들어 한쪽은 맥북(Linux 기반)을 사용하고, 다.. 더보기