By best I mean:
- Cheapest development cost (1.1 project is unlikely to live > 6 months)
- Easiest migration to WCF or similar
By communicate between I mean:
- Remote communication between computers
- Most likely no firewall restrictions
With .Net 1.1 the options appear to be: sockets, remoting, and various flavours of web service.
The option of using binary serialized DataTables over sockets has been proposed as a solution but I am wary of this.
UPDATE: The “Server” in this case is Windows Embedded Standard with .Net 1.1. At this stage we are unable to add any new components to the image such as IIS, ASP, or MSMQ etc. Take that into consideration
Since eventually you will be migrating to WCF, you may want to consider building a WCF service immediately, using the BasicHttpBinding, which supports the old ASMX style web-services, i.e. WS-BasicProfile 1.1. You would be able to easily consume this service from your .NET 1.1 application.
You can also consider using the MsmqIntegrationBinding in WCF, where your .NET 1.1 application would post/receive messages from the MSMQ.
You may want to check out the following related articles: