You could use System.Net and System.Net.Sockets to accomplish the same task as winsock. For minimal changes to your existing code, you could create some type of wrapper class that calls winsock functions, although I'm not exactly sure how to create such a class; it is possible, and you can find examples of wrapper classes in the VS.NET 2003 documentation.
And a third option is to use a web service, and have a process running on the unix box actually call the script. Web services on Unix are not as simple as just using [WebMethod] (ha!), but you can setup a web service that works with .NET using XML and SOAP libraries for unix. If you go this route you might also want to checkout Microsoft's Web Services Enhancements 2.0, which allow you to work with the SOAP messages and underlying protocols that [WebMethod] hides.
Sorry I couldn't be more help.