솔직히 여태까지 컴퓨터에 대해서 공부를 해오고는 있었지만 본격적으로 뭔갈 만들어야겠다고 마음먹고 완성시킨건 없다. 이번 블로깅을 시작하면서 제대로 코딩공부를 하자는 마음을 먹었다.

일단 내 첫 코딩작품은 소켓프로그래밍으로 해볼까한다.

C에서의 소켓도 있지만 일단 Java를 공부하고 있었기 때문에 Java에서의 소켓 프로그래밍에 대해서 얘기하겠다. 자바는 C와는 다르게 라이브러리가 엄청 많다. 물론 C가 적은 편은 아니지만 C에 비해 더 많다는 뜻이다. 소켓프로그래밍을 하기위한 과정을 한번 살펴보자.

공통부분 import java.net.*;
자바에서 소켓 프로그래밍과 관련된 라이브러리는 java.net.*에 있다. 이미 만들어져있는 것을 사용하면 되므로 먼저 가져오도록하자.

클라이언트 사이드 필수요소
1. socket=new Socket("127.0.0.1",60000);
서버의 IP와 Port를 입력하면 연결을 시도한다.
2. 연결이 종료되었을 때 finally로 시스템 자원을 해제하는 것이 좋다.

서버 사이드 필수요소
1. server=new ServerSocket(60000);
ServerSocket은 클라이언트가 서버에 접속할 수 있게 소켓을 열어주는 역할을 한다. 
2. socket=server.accpet();
서버를 열어 두고 클라이언트가 접속 할 때까지 대기한다.
3. 
ip=socket.getInetAddress().getHostAddress()
사용자의 IP를 저장해 놓는 부분이다.
4. 클라이언트와 마찬가지로 연결이 종료되었을 때 finally문을 이용하여 시스템 자원을 해제한다.

참고로 소켓 프로그래밍을 할 때는 try-catch문을 사용해주는 것이 좋다.

소켓프로그래밍의 기본만 보면 위와 같이 정말로 단순하다. 나중에 이를 이용해서 메신저나 파일주고받는 프로그램을 짜보도록 하겠다.

신고

'코딩' 카테고리의 다른 글

(Algospot)Hamming Code  (0) 2015.05.20
Project Euler_ pro12  (0) 2015.01.04
Project Euler_ pro8  (0) 2014.12.29
[python] 기본문법  (0) 2013.05.08
[Matlab] Cow문제3  (0) 2013.04.16
[Java] 소켓프로그래밍  (0) 2013.03.22
Posted by MathGrammer

댓글을 달아 주세요

티스토리 툴바