GnuSmalltalkUsersGuide:AdditionalChapter6 1

From 흡혈양파의 번역工房
Jump to navigation Jump to search
Sockets.AbstractSocket

Sockets.AbstractSocket

네임스페이스 Sockets에 정의됨

슈퍼클래스: Stream

범주: 소켓-스트림


해당 클래스는 클라이언트 현장의 소켓을 모델링한다. 소켓은 개념적으로 파일 처리와 비슷한 네트워크 통신을 위한 TCP/IP 종단점(endpoint)이다.
해당 클래스는 요청 시 버퍼링과 블로킹(blocking)만 책임진다. AbstractSocketImpl 의 서브클래스에 해당하는 기본 소켓 구현 객체를 사용한다. 이것은 FileDescriptor 내에서 소켓과 관계가 없는 메서드를 숨길 뿐만 아니라 여러 주소 체계(address families)에서 요구하는 구현의 미묘한 차이와 상관없이 버퍼링을 구현하기도 한다. 추소 체계 클래스(SocketAddress의 서브클래스)는 소켓 구현 객체의 공장 역할을 한다.


Sockets.AbstractSocket 클래스: 기본값

defaultAddressClass

사용될 기본 주소 체계를 응답하라. 라이브러리에서는 주소 체계가 SocketAddress의 서브클래스에 의해 표현되는데 기본적으로는 IPAddress에 해당한다.

defaultAddressClass: class

사용될 기본 주소 체계를 설정하라. 라이브러리에서는 주소 체계가 SocketAddress의 서브클래스에 의해 표현되는데 기본적으로는 IPAddress에 해당한다.

defaultImplementationClassFor: aSocketAddressClass

기본 구현 클래스를 응답하라. 서브클래스에 따라 이는 주어진 어드레스 클래스의 기본 스트림 소켓 구현 클래스가 되기도 하고, 기본 데이터그램 소켓 구현 클래스가 되기도 한다.


Sockets.AbstractSocket 클래스: 인스턴스 생성

new

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.

new: implementation

수신자의 새 인스턴스를 응답하되 객체가 'implementation' 매개변수로서 전달한 내용을 기본 레이어로 사용하라; 객체는 아마도 일종의 AbstractSocketImple가 될 것이다.

new: implClass addressClass: addressClass

수신자의 새 인스턴스를 응답하되 'implementationClass'의 새 인스턴스를 기본 레이어로 이용하고 'addressClass'의 프로토콜 체계를 이용하라.


Sockets.AbstractSocket 클래스: 시간 만료된(timed-out) 연산

checkPeriod

데이터가 준비되어 있지 않고 연결이 여전히 개방된 (밀리초) 경우 소켓 폴(socket poll) 사이에 흐르는 시간을 응답하라.

checkPeriod: anInteger

데이터가 준비되어 있지 않고 연결이 여전히 개방된 (밀리초) 경우 소켓 폴(socket poll) 사이에 흐르는 시간을 설정하라.

timeout

데이터(아직 이용 불가) 요청과 연결이 끊긴 것으로 간주되는 순간 (밀리초) 사이에 흐르는 시간을 응답하라.

timeout: anInteger

데이터(아직 이용 불가) 요청과 연결이 끊긴 것으로 간주되는 순간 (밀리초) 사이에 흐르는 시간을 응답하라.


Sockets.AbstractSocket 클래스: 잘 알려진 포트

defaultPortAt: protocol

주어진 서비스(고수준 프로토콜)에 (기본적으로) 사용되는 포트를 응답하라.

defaultPortAt: protocol ifAbsent: port

주어진 서비스(고수준 프로토콜)에 (기본적으로) 사용되는 포트를 응답하고, 어떤 것도 등록되지 않은 경우 명시된 포트를 응답하라.

defaultPortAt: protocol put: port

주어진 포트를 'protocol'이 명시한 서비스로 연관시켜라.

portCmdServer

rsh daemon이 듣는 포트를 응답하라.

portDNS

DNS가 듣는 포트를 응답하라.

portDayTime

TOD 서비스가 듣는 포트를 응답하라.

portDiscard

DISCARD 서비스가 듣는 포트를 응답하라.

portEcho

ECHO 서비스가 듣는 포트를 응답하라.

portExecServer

exec 서버가 듣는 포트를 응답하라.

portFTP

FTP daemon이 듣는 포트를 응답하라.

portFinger

finger daemon이 듣는 포트를 응답하라.

portGopher

Gopher daemon이 듣는 포트를 응답하라.

portHTTP

http daemon이 듣는 포트를 응답하라.

portLoginServer

rlogin daemon이 듣는 포트를 응답하라.

portNNTP

nntp daemon이 듣는 포트를 응답하라.

portNetStat

NETSTAT service가 듣는 포트를 응답하라.

portPOP3

pop3 daemon이 듣는 포트를 응답하라.

portReserved

중요(privileged) 프로세스로 예약(reserved)된 마지막 포트를 응답하라.

portSMTP

SMTP daemon이 듣는 포트를 응답하라.

portSSH

SSH daemon이 듣는 포트를 응답하라.

portSystat

SYSTAT service가 듣는 포트를 응답하라.

portTelnet

TELNET daemon이 듣는 포트를 응답하라.

portTimeServer

타임 서버가 듣는 포트를 응답하라.

portWhois

WHOIS daemon이 듣는 포트를 응답하라.


Sockets.AbstractSocket: 접근하기

address

이해관계가 같은 IP 주소를 응답하라 (서브클래스 내 정의에 따라 로컬 또는 원격 주소).

available

소켓에 이용 가능한 데이터가 존재하는지 응답하라. #canRead와 같이 이전 기종과의 호환성을 위해 존재한다.

canRead

소켓에 이용 가능한 데이터가 존재하는지 응답하라.

canWrite

소켓의 쓰기 버퍼에 여유 공간이 있는지 응답하라.

close

수신자가 표현하는 소켓을 닫아라.

flush

수신자가 사용하는 버퍼는 모두 비워라.

isOpen

수신자와 원격 종단점 간 연결이 아직 존재하는지(alive) 응답하라.

isPeerAlive

피어 원격 머신(peer remote machine)과 연결이 아직 유효한지 응답하라.

localAddress

소켓의 로컬 IP 주소를 응답하라.

localPort

소켓의 로컬 IP 포트를 응답하라.

port

이해관계가 같은 IP 포트를 응답하라 (서브클래스 내 정의에 따라 로컬 또는 원격 종단점)

remoteAddress

소켓의 원격 종단점에 대한 IP 주소를 응답하라.

remotePort

소켓의 원격 종단점에 대한 IP 포트를 응답하라.


Sockets.AbstractSocket: 인쇄하기

printOn: aStream

수신자의 표현을 aStream 상에 인쇄하라.


Sockets.AbstractSocket: 소켓 옵션

soLinger

소켓이 신뢰가 가는 전달을 약속하지만 닫힐 때 인정되지 않은/전송되지 않은 패킷이 있는 경우 소켓에게 허용되는 대기 시간을 초로 응답하고, 패킷이 정상적이거나 파기된 경우 nil을 응답하라.

soLinger: linger

소켓이 신뢰가 가는 전달을 약속하지만 닫힐 때 인정되지 않은/전송되지 않은 패킷이 있는 경우 소켓에게 허용되는 대기 시간을 초로 설정하라.

soLingerOff

소켓이 신뢰가 가는 전달을 약속할지라도 그것이 닫힐 때 인정되지 않은/전송되지 않은 패킷이 있는 경우 정상적으로 처리될 것인지 파기될 것인지를 명시하라.

species

'String'를 응답하라.


Sockets.AbstractSocket: 스트림 프로토콜

atEnd

기본값으로(by default) 연결이 여전히 개방되었는지 응답하라.

next

소켓으로부터 다른 문자를 읽고, 연결이 끊긴 (dead) 경우 실패한다.

next: n putAll: aCollection startingAt: pos

소켓에 'char'를 쓰고, 연결이 끊긴 경우 실패한다. SIGPIPE 신호는 시스템에 의해 자동으로 잡히고 간과된다.

nextPut: char

소켓에 'char'를 쓰고, 연결이 끊긴 경우 실패한다. SIGPIPE 신호는 시스템에 의해 자동으로 잡히고 간과된다.


Sockets.AbstractSocket: 검사하기

isExternalStream

수신자가 파일과 소켓 중 어느 것을 스트리밍하는지 응답하라.


Notes