Socket.st
changeset 1260 9a8fb2391174
parent 1235 9b35e58bf392
child 1263 23161346a162
equal deleted inserted replaced
1259:0a557e59ea4a 1260:9a8fb2391174
  1881     "
  1881     "
  1882      Socket networkShortOrderIsMSB
  1882      Socket networkShortOrderIsMSB
  1883     "
  1883     "
  1884 !
  1884 !
  1885 
  1885 
  1886 peerFromDomain:domain name:peerName andPort:port
  1886 peerFromDomain:domain name:peerName port:port
  1887     domain == #unix ifTrue:[
  1887     |addrClass|
  1888         ^ UDSocketAddress name:peerName
  1888 
  1889     ].
  1889     addrClass := self socketAddressClassForDomain:domain.
  1890     domain == #inet ifTrue:[
  1890     ^ addrClass peerName:peerName port:port
  1891         ^ IPSocketAddress hostAddress:(self ipAddressOfHost:peerName) port:port
       
  1892     ].
       
  1893     domain == #inet6 ifTrue:[
       
  1894         ^ IPv6SocketAddress hostAddress:(self ipV6AddressOfHost:peerName) port:port
       
  1895     ].
       
  1896     domain == #appletalk ifTrue:[
       
  1897         ^ AppletalkSocketAddress hostAddress:(self appletalkAddressOfHost:peerName) port:port
       
  1898     ].
       
  1899     domain == #decnet ifTrue:[
       
  1900         ^ DecNetSocketAddress hostAddress:(self decnetAddressOfHost:peerName) port:port
       
  1901     ].
       
  1902     self error:'unsupported domain'.
       
  1903 !
  1891 !
  1904 
  1892 
  1905 peerNameFromDomain:domain peer:peer
  1893 peerNameFromDomain:domain peer:peer
  1906     ^ peer hostName
  1894     |addrClass|
       
  1895 
       
  1896     addrClass := self socketAddressClassForDomain:domain.
       
  1897     ^ addrClass peerNameFromPeer:peer
  1907 !
  1898 !
  1908 
  1899 
  1909 portOfService:aNameOrNumber
  1900 portOfService:aNameOrNumber
  1910     "returns the port-number for a given IP-service
  1901     "returns the port-number for a given IP-service
  1911      or nil if no such service exists;
  1902      or nil if no such service exists;
  2012 socketAddressClassForDomain:domain
  2003 socketAddressClassForDomain:domain
  2013     ^ SocketAddress knownClassFromCode:domain
  2004     ^ SocketAddress knownClassFromCode:domain
  2014 
  2005 
  2015     "
  2006     "
  2016      self socketAddressClassForDomain:#inet
  2007      self socketAddressClassForDomain:#inet
       
  2008      self socketAddressClassForDomain:#unix
  2017     "
  2009     "
  2018 !
  2010 !
  2019 
  2011 
  2020 supportedProtocolFamilies
  2012 supportedProtocolFamilies
  2021     "return a collection of supported protocol families.
  2013     "return a collection of supported protocol families.
  4087     "ST-80 compatibility: return an IPSocketAddress instance representing
  4079     "ST-80 compatibility: return an IPSocketAddress instance representing
  4088      my hostname/port combination.
  4080      my hostname/port combination.
  4089      If you are interested in the hostname, use getPeerName directly."
  4081      If you are interested in the hostname, use getPeerName directly."
  4090 
  4082 
  4091     peer isNil ifTrue:[
  4083     peer isNil ifTrue:[
  4092         peer := self class peerFromDomain:domain name:peerName andPort:port.
  4084         peer := self class peerFromDomain:domain name:peerName port:port.
  4093     ].
  4085     ].
  4094     ^ peer
  4086     ^ peer
  4095 !
  4087 !
  4096 
  4088 
  4097 getPeerName
  4089 getPeerName
  4787 ! !
  4779 ! !
  4788 
  4780 
  4789 !Socket class methodsFor:'documentation'!
  4781 !Socket class methodsFor:'documentation'!
  4790 
  4782 
  4791 version
  4783 version
  4792     ^ '$Header: /cvs/stx/stx/libbasic2/Socket.st,v 1.178 2003-06-02 20:29:52 stefan Exp $'
  4784     ^ '$Header: /cvs/stx/stx/libbasic2/Socket.st,v 1.179 2003-07-09 14:26:57 cg Exp $'
  4793 ! !
  4785 ! !