GnuSmalltalkUsersGuide:AdditionalChapter6 18
- Sockets.ServerSocket
Sockets.ServerSocket
네임스페이스 Sockets에 정의됨
슈퍼클래스: Sockets.AbstractSocket
범주: 소켓-스트림
- 해당 클래스는 서버측 소켓을 모델링한다. 기본 모델은 서버 소켓이 생성되어 몇몇 잘 알려진 포트로 바인딩된다. 이후 연결을 듣고 허용한다. 그러면 클라이언트나 서버 소켓이 그들이 원하는 응용 계층 프로토콜을 이용하는 다른 클라이언트 클라이언트나 서버 소켓과 통신할 준비가 되었다.
다른 AbstractSocket 서브클래스와 마찬가지로 해당 클래스의 대부분 인스턴스 메서드는 그들의 호출을 구현 클래스로 다시 전송한다.
Sockets.ServerSocket 클래스: 접근하기
defaultImplementationClassFor: aSocketAddressClass
기본 구현 클래스를 응답하라.
Sockets.ServerSocket 클래스: 인스턴스 생성
defaultQueueSize
대기 중 연결(pending connection)에 대한 큐의 기본 길이를 응답하라. 큐가 채워지면, 큐로부터 연결을 수락하도록 서버로 #accept가 전송될 때까지는 연결을 시도하는 새 클라이언트는 연결을 실패할 것이다.
port: anInteger
주어진 포트 상의 어떤 로컬 주소에서든 기본 길이의 대기 중 연결 큐가 있는 새 ServerSocket을 응답하라.
port: anInteger bindTo: ipAddress
주어진 주소와 포트 상에서 기본 길이의 대기 중 연결 큐가 있는 ServerSocket을 응답하라.
port: anInteger queueSize: backlog
주어진 포트 상의 어떤 로컬 주소에서든 주어진 길이의 대기 중 연결 큐가 있는 새 ServerSocket을 응답하라.
port: anInteger queueSize: backlog bindTo: ipAddress
주어진 주소와 포트 상에서 주어진 길이의 대기 중 연결 큐가 있는 ServerSocket을 응답하라.
queueSize: backlog
주어진 포트 상의 어떤 로컬 주소와 포트에서든 주어진 길이의 대기 중 연결 큐가 있는 새 ServerSocket을 응답하라.
queueSize: backlog bindTo: ipAddress
주어진 포트 상의 주어진 로컬 주소에서 주어진 길이의 대기 중 연결 큐가 있는 새 ServerSocket을 응답하라.
Sockets.ServerSocket: 접근하기
accept
새 연결이 존재하는 경우 수락하고 Socket의 새 인스턴스를 생성하며, 존재하지 않은 경우 nil을 응답하라.
accept: socketClass
새 연결이 존재하는 경우 수락하고 Socket의 새 인스턴스를 생성하며, 존재하지 않은 경우 nil을 응답하라. 이는 주로 DatagramSockets를 생성하는 경우에만 필요로 한다.
address
로컬 주소를 응답하라.
port
로컬 포트를 응답하라 (수동 소켓이 듣고 있는 포트).
primAccept: socketClass
새 연결이 존재하는 경우 수락하고 Socket의 새 인스턴스를 생성하며, 존재하지 않은 경우 nil을 응답하라.
waitForConnection
이용 가능한 연결을 대기하고, 그 동안 현재 실행 중인 프로세스를 연기하라.
Sockets.ServerSocket: 초기화하기
port: anInteger queueSize: backlog bindTo: localAddr
ServerSocket가 주어진 주소와 포트에서 작동하고 주어진 길이의 대기 중 연결 큐를 갖도록 초기화하라.