소켓통신 기본사항
클라이언트
* 기본사항
InetAddress
Socket : 소켓
InputStream : 입력 스트림 - 바이트 단위 입력 스트림
InputStreamReader : 바이트 스트림으로부터 문자 단위로 읽어들임. 지정한 문자 인코딩에 따라 변환
BufferedReader : 리더에 버퍼 기능을 추가한 입력 스트림 클래스
OutputStream : 출력용 스트림
OutputStreamWriter : 문자단위 출력
BufferedWriter : 버퍼 기능
PrinterWriter : 형식있는 텍스트를 스트림을 통해 출력(println 과 같은 메쏘드 지원)
* 초기화
// 서버에 연결할 소켓을 생성
InetAddress addr = InetAddress.getByName( "서버ip" );
Socket mClient = new Socket( addr, 서버port );
// 입출력 스트림을 얻음
InputStream mInStream = mClient.getInputStream();
OutputStream mOutStream = mClient.getOutputStream();
BufferedReader mReader = new BufferedReader( new InputStreamReader( mInputStream ) );
PrinterWriter mWriter = new PrinterWriter( new BufferedWriter( new OutputStreamWriter ( mOutStream )) ), true);
* 기본 루프
> 수신부
byte[] buffer = new byte[2048];
int bytesRead = mReader.read( buffer );
> 송신부
mWriter.println( "보낼 문자열" );
mWriter.flush();
* 서버의 경우
ServerSocket 이라는 클래스 제공.
ServerSocket server = new ServerSocket( port );
server.accept();