GnuSmalltalkUsersGuide:AdditionalChapter6 20
- Sockets.SocketAddress
Sockets.SocketAddress
네임스페이스 Sockets에 정의됨
슈퍼클래스: Object
범주: 소켓-프로토콜
- 해당 클래스는 네트워크상의 기계 주소에 대한 추상적 클래스이다. 이는 C 스타일 함수 gethostname(), gethostbyname(), gethostbyaddr() 의 함수를 실행하고, 기계어를 상응하는 수치형 주소로, 그리고 그 반대로 분해하기도 한다.
Sockets.SocketAddress 클래스: 추상적
extractFromSockAddr: aByteArray port: portAdaptor
Private - C sockaddr 구조를 포함하는 새 SocketAddress를 ByteArray로부터 응답하라. portAdaptor의 값은 구조가 참조하는 포트를 포함하도록 변경된다.
fromSockAddr: aByteArray port: portAdaptor
Private - C sockaddr 구조를 포함하는 새 IPAddress를 ByteArray로부터 응답하라. portAdaptor의 값은 구조가 참조하는 포트를 포함하도록 변경된다. 주소 체계가 알려지지 않은 경우 오류를 발생시켜라.
Sockets.SocketAddress 클래스: 접근하기
anyLocalAddress
로컬 주소를 나타내는 IPAddress를 응답하라.
at: host cache: aBlock
Private - 캐시에 주어진 호스트와 연관된 주소의 목록을 응답하라. 호스트가 아직 캐시 저장되지 않은 경우 aBlock을 평가하고 캐시 저장하여 결과를 응답하라.
defaultDatagramSocketImplClass
Socket의 프로토콜과 저수준 C 인터페이스 간 매핑에 기본적으로 사용되는 클래스를 응답하라.
defaultDatagramSocketImplClass: aClass
수신자의 프로토콜과 저수준 C 인터페이스 간 매핑에 기본적으로 사용할 클래스를 설정하라.
defaultRawSocketImplClass
Socket의 프로토콜과 저수준 C 인터페이스 간 매핑에 기본적으로 사용되는 클래스를 응답하라.
defaultRawSocketImplClass: aClass
수신자의 프로토콜과 저수준 C 인터페이스 간 매핑에 기본적으로 사용할 클래스를 설정하라.
defaultStreamSocketImplClass
Socket의 프로토콜과 저수준 C 인터페이스 간 매핑에 기본적으로 사용되는 클래스를 응답하라.
defaultStreamSocketImplClass: aClass
수신자의 프로토콜과 저수준 C 인터페이스 간 매핑에 기본적으로 사용할 클래스를 설정하라.
isDigitAddress: aString
수신자가 변환기(resolver)를 살펴보지 않고 aString를 유효한 주소로 해석할 수 있는지 응답하라.
localHostName
로컬 머신의 이름을 응답하라.
loopbackHost
로컬 머신을 나타내는 수신자의 인스턴스를 응답하라 (IPv4 family에서 127.0.0.1).
unknownAddress
알려지지 않은 머신을 나타내는 수신자의 인스턴스를 응답하라 (IPv4 family에서 0.0.0.0).
Sockets.SocketAddress 클래스: C call-outs
primLocalName
해당 설명 없음.
primName: address len: len type: addressFamily
해당 설명 없음.
Sockets.SocketAddress 클래스: C 상수
addressFamily
해당 설명 없음.
aiAddrconfig
해당 설명 없음.
aiCanonname
해당 설명 없음.
protocolFamily
해당 설명 없음.
Sockets.SocketAddress 클래스: 소켓 생성하기
newRawSocket
새 raw socket을 생성하고 수신자에 의해 표현되는 프로토콜 family를 위한 인터페이스와 저수준 네트워크 프로토콜로 접근성을 제공하라 (예: IPAddress 클래스의 경우 C 프로토콜 family PF INET가 해당). 일반 사용자 프로그램은 주로 해당 메서드를 이용할 필요가 없다.
Sockets.SocketAddress 클래스: 호스트명 검색(lookup)
allByName: aString
주어진 호스트를 참조하는 모든 IP 주소를 응답하라. 숫자 주소(Digit address)가 aString 내에서 전달될 경우 결과는 하나의 전달된 주소를 포함하는 배열이 된다. 호스트가 IP 주소로 변환될 수 없는 경우 nil을 응답하라.
byName: aString
주어진 호스트를 참조하는 단일 IP 주소를 응답하라. 숫자 주소가 aString 내에서 전달될 경우 결과는 #fromString: 을 이용할 때의 결과와 같다. 호스트가 IP 주소로 변환될 수 없는 경우 nil을 응답하라.
Sockets.SocketAddress 클래스: 초기화
anyLocalAddress: anObject
Private - 수신자에 대한 주소 체계에서 로컬 주소를 나타내는 객체를 보관하라.
createLoopbackHost
수신자에 대한 주소 체계에서 루프백 호스트를 나타내는 객체를 응답하라.
createUnknownAddress
수신자에 대한 주소 체계에서 알려지지 않은 주소를 나타내는 객체를 응답하라.
flush
캐시 저장된 IP 주소를 비워라.
initLocalAddresses
Private - 전체 계층구조에 대한 anyLocalAddress 클래스-인스턴스 변수를 초기화하라.
update: aspect
IPAddress 서브클래스에 대한 모든 캐시를 비워라.
Sockets.SocketAddress: 접근하기
= aSocketAddress
수신자와 aSocketAddress가 동일한 머신을 나타내는지를 응답하라. 호스트명은 검사되지 않는데 DNS가 활성화되기 전에 생성된 IPAddress는 그 숫자-점 표기법에 따라 명명되는 반면 DNS가 활성화될 때 생성되는 IPAddress는 변환된 이름으로 명명되기 때문이다.
asByteArray
수신자를 운영체제의 소켓 함수로 전달된 ByteArray로 변환하라.
hash
수신자에 대한 해시값을 응답하라.
name
호스트명을 응답하라 (DNS가 주소를 변환할 수 없는 경우 숫자 표기법을 응답). DNS가 동일한 이름에 대해 다른 IP 주소를 응답할 경우, 두 번째 응답은 캐시 저장되지 않으며 숫지 표기법도 리턴된다 (누군가 당신의 DNS로 이상한 장난을 쳤을 가능성이 있다)).
Sockets.SocketAddress: 검사하기
isMulticast
주소가 멀티캐스트 연결에 예약되었는지 응답하라.