I have a windows dll and some associated executables that need to integrate closely with native libs and code on a Red Hat Linux machine. The obvious solution for me is to keep the windows stuff on a windows machine and use sockets to exchange data with the Linux machine. However, I am wondering if this could be made simpler by using Wine (I am newbie). How difficult/easy is it to write programs that essentially sit over the Wine-Host boundary, without the need for virtual sockets etc? Thanks in advance!!!
On Tue, 2010-10-26 at 10:54 -0500, kevavic wrote:> I have a windows dll and some associated executables that need to > integrate closely with native libs and code on a Red Hat Linux > machine. The obvious solution for me is to keep the windows stuff on a > windows machine and use sockets to exchange data with the Linux > machine. However, I am wondering if this could be made simpler by > using Wine (I am newbie). How difficult/easy is it to write programs > that essentially sit over the Wine-Host boundary, without the need for > virtual sockets etc? >Why virtual sockets? You should be able to run this without any code changes using the built-in localnet (127.0.0.x). When your code is running successfully over a local network between your RH and Windows boxes, try this: - Install the Windows code under Wine - Configure the client to look for the server on localhost - Run it. If that works, you're done. If it doesn't, you've got a little work to do. Martin
It's not too bad, but I would suggest still keeping the programs separate, and using file descriptors to talk between the windows and linux parts. (Yes, you can use winelib and make unix calls from a windows program, but you can't just link windows code into a unix program.)
kevavic wrote:> How difficult/easy is it to write programs that essentially sit over the Wine-Host boundary, without the need for virtual sockets etc?As simple as compiling your program with winegcc (make sure it compiles first under mingw). Of course you still have problem of mixing both worlds (POSIX and win32) like synchronization, memory management, etc.