--- a/Socket.st Tue Feb 21 21:40:36 2017 +0100
+++ b/Socket.st Tue Feb 21 21:40:48 2017 +0100
@@ -837,24 +837,22 @@
If the millis arg is nonNil, stop trying to connect after that many milliseconds
and return nil."
- |socket addressInfoList|
+ |socket addressList lastDomainSymbol|
hostNameOrAddress isString ifFalse:[
^ self newTCPclientToAddress:hostNameOrAddress port:aPortOrServiceName withTimeout:millis.
].
- addressInfoList := SocketAddress
- getAddressInfo:hostNameOrAddress
- serviceName:aPortOrServiceName
- domain:aDomainSymbolOrNil
- type:#stream
- protocol:nil
- flags:0.
-
- addressInfoList do:[:eachAddressInfo|
- |domainSymbol lastDomainSymbol|
-
- domainSymbol := eachAddressInfo domain.
+ addressList := SocketAddress
+ allForHostName:hostNameOrAddress
+ serviceName:aPortOrServiceName
+ domain:aDomainSymbolOrNil
+ type:#stream.
+
+ addressList do:[:eachAddress|
+ |domainSymbol|
+
+ domainSymbol := eachAddress domain.
domainSymbol ~~ lastDomainSymbol ifTrue:[
socket notNil ifTrue:[
socket close.
@@ -862,7 +860,7 @@
socket := self new domain:domainSymbol type:#stream.
lastDomainSymbol := domainSymbol.
].
- (socket connectTo:eachAddressInfo socketAddress withTimeout:millis) ifTrue:[
+ (socket connectTo:eachAddress withTimeout:millis) ifTrue:[
^ socket.
].
].
@@ -878,7 +876,7 @@
Socket newTCPclientToHost:'localhost' port:'nntp' withTimeout:1000
"
- "Modified: / 16.1.1998 / 09:47:06 / stefan"
+ "Modified: / 21-02-2017 / 21:36:16 / stefan"
!
newTCPclientToHost:hostNameOrAddress port:aPortOrServiceName withTimeout:millis