--- a/Socket.st Mon May 27 14:10:30 2019 +0200
+++ b/Socket.st Mon May 27 14:12:58 2019 +0200
@@ -761,6 +761,55 @@
"
!
+newIPv6
+ "create an IPv6 socket - no binding or other setup is done,
+ neither connect nor connect-wait is done."
+
+ ^ self new domain:#'AF_INET6' type:#stream
+
+ "
+ Socket newIPv6
+ "
+
+ "Created: / 27-05-2019 / 14:06:23 / Claus Gittinger"
+!
+
+newIPv6:portNrOrServiceName
+ "create an IPv6 socket for a service -
+ neither connect nor connect-wait is done."
+
+ |newSock socketAddress socketAddressClass|
+
+ newSock := self newIPv6.
+ (newSock notNil and:[portNrOrServiceName notNil]) ifTrue:[
+ [
+ socketAddressClass := newSock socketAddressClass.
+ socketAddress := socketAddressClass hostName:nil serviceName:portNrOrServiceName type:#stream.
+ socketAddress hostAddress:socketAddressClass anyAddress.
+ newSock bindTo:socketAddress reuseAddress:true.
+ ] ifCurtailed:[
+ newSock close.
+ ]
+ ].
+ ^ newSock
+
+
+ "
+ (Socket newIPv6:9996).
+
+ test (eval the code below, then open a browser on
+ http://[2003:a:e4d:bb01:a17f:9312:54cb:fed7]:9997/
+
+ (Socket newIPv6:9997)
+ listenFor:1;
+ readWait;
+ accept.
+
+ "
+
+ "Created: / 27-05-2019 / 14:06:49 / Claus Gittinger"
+!
+
newTCP
"create a TCP socket - no binding or other setup is done,
neither connect nor connect-wait is done."