GnuSmalltalkUsersGuide:AdditionalChapter6 6
- Sockets.DatagramSocket
Sockets.DatagramSocket
네임스페이스 Sockets에 정의됨
슈퍼클래스: Sockets.AbstractSocket
범주: 소켓-스트림
- 해당 클래스는 네트워크에 걸쳐 데이터의 각 패킷을 전송하는 비연결형 데이터그램 소켓을 모델링한다. TCP/IP의 세계에서 이는 UDP를 의미한다. 데이터그램 패킷은 전달이 보장되지 않으며, 원격 호스트에서 데이터가 수신되는 순서에 관해서도 어떠한 보장도 할 수 없다.<BR<해당 클래스는 DatagramSocketImpl의 서브클래스인 기본 소켓 구현 객체를 사용한다. 이는 스트림 소켓에 비해 데이터그램 소켓에 덜 유용하지만 (FileDescriptor에서 소켓과 관련이 없는 메서드를 숨기는 경우는 제외), 간결함과 대칭을 위해 실행된다.
Sockets.DatagramSocket 클래스: 접근하기
defaultBufferSize
입력 데이터그램의 기본 최대 크기를 응답하라.
defaultBufferSize: size
입력 데이터그램의 기본 최대 크기를 설정하라.
defaultImplementationClassFor: aSocketAddressClass
기본 구현 클래스를 응답하라. 서브클래스에 따라 이는 주어진 어드레스 클래스의 기본 스트림 소켓 구현 클래스가 되거나 기본 데이터그램 소켓 구현 클래스가 되기도 한다.
Sockets.DatagramSocket 클래스: 초기화
initialize
크기가 128인 입력 데이터그램을 이용하도록 클래스를 초기화하라.
Sockets.DatagramSocket 클래스: 인스턴스 생성
local: ipAddressOrString port: remotePort
새 소켓을 생성하여 주어진 포트에서 주어진 호스트(변환되어야 할 String이나 IPAddress로서)로 바인딩하라.
new
명시된 로컬 주소와 포트 없이 새 데이터그램 소켓을 응답하라 (기본적으로 UDP 소켓).
port: localPort
새 소켓을 생성하여 주어진 포트에 있는 로컬 호스트로 바인딩하라.
remote: ipAddressOrString port: remotePort local: ipAddress port: localPort
새 소켓을 생성하여 주어진 호스트(변환되어야 할 String이나 SocketAddress로서 전달)로 바인딩하고 주어진 remotePort로 바인딩하라. 데이터그램의 기본 목적지는 remotePort 포트상의 (nil이 아닌 경우) ipAddressOrString이 될 것이다.
Sockets.DatagramSocket: 접근하기
address
로컬 주소를 응답하라.
bufferSize
데이터그램이 보관되는 버퍼의 크기를 응답하라.
bufferSize: size
데이터그램이 보관되는 버퍼의 크기를 설정하라.
next
소켓 상의 데이터그램을 읽고 응답하라.
nextPut: aDatagram
소켓 상의 주어진 데이터그램을 전송하라.
peek
소켓 상의 데이터그램을 살펴보고(peek) 응답하라.
peek: datagram
소켓 상의 데이터그램을 살펴보고 'datagram'에 저장한 후 데이터그램 자체를 응답하라.
port
로컬 포트를 응답하라.
receive: datagram
소켓으로부터 데이터그램을 읽어와 'datagram'에 보관한 후 데이터그램 자체를 응답하라.
Sockets.DatagramSocket: 직접 연산(direct operations)
nextFrom: ipAddress port: port
주어진 어드레스와 포트로부터 다음 데이터그램을 응답하라.