8월 15일
p.386
-NIO Buffer Class
위치변경 method
- flip: limit 값을 현재 position으로 지정한 후, postion을 0(가장 앞으로) 이동 (limit 값 변경, rewind는 limit 값 변경x)
- mark: 현재 포지션을 mark
- reset: 버퍼의 position을 mark 한 곳으로 이동
- rewind: 현재 버퍼의 position을 0으로 이동
- remaining : limit-position 계산 결과를 리턴
- hasRemaining : postion과 limit 값에 차이가 있을 경우 true 리턴
- clear: 버퍼를 지우고 현재 position을 0으로 이동하며 , limit값을 버퍼의 크기로 변경.
p.394
*TCP: 데이터 전송은 보장, 느리다, 비싸다
*UDP: 데이터 유실이 있음, 빠르다, 싸다.
-ServerSocket
* ServerSocket(): 서버 소켓 객체만 생성
* ServerSocket(int port) : 지정된 포트를 사용하는 서버 소켓을 생성
* ServerSocket(int port, int backlog) : 지정된 포트와 backlog 개수를 가지는 소켓을 생성
* ServerSocket : 지정된 포트와 backlog 개수를 가지는 소켓을 생성하며, bindAddr에 있는 주소에서의 접근만을 허용.
*backlog 개수를 지정하지 않을시 50개가 default
* server.Accept새로운 소켓 연결을 기다리고, 연결이되면 Sockect 객체를 리턴
* server.close : 소켓연결을 종료.
- Socket
* Socket: 소켓 객체 생성
* Socket(Proxy proxy) : 프록시 관련 설정과 함께 소켓 객체만 생성
* Socket(SocketImpl impl) : 사용자가 지정한 SocketImpl 객체를 사용하여 소켓 객체만 생성
* Socket(IntetAddress address, int port): 소켓 객체 생성 후 address와 port를 사용하는 서버에 연결
* Socket(InetAddress address, int port, InetAddress localAddr, int localPort) : 소켓 객체 생성 후 address와 port를 사용하는 서버에 연결하며, 지정한 localAddr와 localPort에 접속.
* Socket(String host, int port) : 소켓 객체 생성 후 host와 port를 사용하는 서버에 연결
* Socekt(String host, int port, InetAddress localAddr, int localPort): 소켓에 객체 생성 후 host와 port를 사용하는 서버에 연결하며, 지정된 localAddr와 localPort에 접속
- Socket 관련 에러
*java.net.BindException : Address alreay in use
- 서버를 띄워놓고 또 띄웠을때 발생, 이미 지정된 port 번호를 사용하고 있기 때문에 동일한 port 번호를 사용할 수 없기 때문. 이미 띄워놓은 프로세스가 있는지 jps라는 명령으로확인.
* jps - 자바 가상머신 프로세스 상태 도구(Java Virtual Machine Process Status Tool)
*java.net.ConnectException : Connection refused
- 서버를 뛰워놓지 않고 클라이언트 프로그램만 수행했을때 발생한다. 받을 서버가 없어 던질 곳도 없기 때문임. 서버재시작
'JAVA > Java의 신API' 카테고리의 다른 글
자바의 신 마지막(부록~) (0) | 2018.10.22 |
---|---|
다시보는 자바의신API(9)2011년판. (0) | 2018.09.12 |
다시보는 자바의신API(7)/2011년판. (0) | 2018.08.14 |
다시 보는 자바의신 API(4) / 2011년판. (0) | 2018.08.09 |
다시 보는 자바의신 API(3) / 2011년판. (0) | 2018.08.07 |