I'm on the Ask The Experts stand here at TechEd (back tomorrow and Wednesday at 2pm) and the first person I spoke to today asked me how to solve a socket access permission when using a when using a tcp service with WSE 3.0 Tech Preview. Working through this also answered a second common question people have, which is 'what's the default port number that WSE uses when "soap.tcp://localhost/" is specified as the service address?'.
The exception in questions was:
An attempt was made to access a socket in a way forbidden by its access permissions.
This occurred when I was trying to run the TCPStockService sample application and here are the key lines:
Uri address = new Uri("soap.tcp://localhost/tcpstockservice");
// This starts a TCP-based listener if there isn't one already started.
SoapReceivers.Add(new EndpointReference(address), typeof(StockService));
Digging through reflector it turns out the the constructor of the Microsoft.Web.Services3.Messaging.SoapTcpTransportOptions options sets the defaultPort:

So, 0x1f91 in Hex turns out to be 8081 in decimal, so by default the WSE tcp transport listens on port 8081 if no port is specified. Now the exception message made more sense, since I had another application listening on port 8081. Changing the port number, or stopping the process that was listening on port 8081 solved the problem.
Thanks to the MSDN Product Feedback centre I can send a suggestion to improve this error reporting straight through to the product team.