Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要一种使用WPF应用程序与Unix计算机通信的方法_Wpf_Unix - Fatal编程技术网

需要一种使用WPF应用程序与Unix计算机通信的方法

需要一种使用WPF应用程序与Unix计算机通信的方法,wpf,unix,Wpf,Unix,我正在Windows操作系统中使用WPF(C#作为代码隐藏)创建一个应用程序,数据存储在同一网络中的Unix机器上。我的应用程序需要一种与Unix计算机通信的方式,以便从中获取数据并在windows UI(在WPF中创建)上显示 我的应用程序还需要知道通过广播在网络中连接的所有Unix计算机 根据上述要求,使用我的WPF应用程序连接到Unix计算机的最佳方式是什么?“使用存储在同一网络中的Unix计算机中的数据”假设您的意思是它位于数据库中,如果您要使用的数据是基于文件的,我建议使用某种ORM(

我正在Windows操作系统中使用WPF(C#作为代码隐藏)创建一个应用程序,数据存储在同一网络中的Unix机器上。我的应用程序需要一种与Unix计算机通信的方式,以便从中获取数据并在windows UI(在WPF中创建)上显示

我的应用程序还需要知道通过广播在网络中连接的所有Unix计算机


根据上述要求,使用我的WPF应用程序连接到Unix计算机的最佳方式是什么?

“使用存储在同一网络中的Unix计算机中的数据”假设您的意思是它位于数据库中,如果您要使用的数据是基于文件的,我建议使用某种ORM(如NHibernate)

,您可以在unix上使用ftp或samba服务器。samba服务器的优点之一是它能够广播,并允许通过netbios发现网络中的资源。这将符合您的广播要求

如果基于文件的存储是不够的,考虑Web服务。由于您是在.NET中编写应用程序,因此在Unix端使用Mono将是最简单的。您可以用Mono编写一个web服务来侦听来自WPF应用程序的请求

我承认这个解决方案在性能、可伸缩性和可移植性方面不是最好的,但对于.net开发人员来说,它是最快的

关于应用程序需要知道unix计算机列表的另一个要求更为复杂。蛮力方法将是拥有一个主服务器,当unix机器开始运行时,它将侦听来自unix机器的通知。它会将该列表提供给WPF客户机

如果您希望获得一个性能更高、更可移植的解决方案,并且拥有更多的开发资源,那么可以使用这些框架之一在unix端实现restful服务


就开发时间而言,最复杂的方法是使用裸TCP ip。这将需要在客户端和服务器端进行大量编码,并需要一个长期的稳定过程。同样,这取决于数据交互的复杂程度。

Basarat Ali-是的,它就像一个数据库(因为它存储数据),但并不完全如此。这就像通过FTP或套接字等方式从中获取数据……它是哪一个。它是telnet/straight up tcp(您称之为套接字)/ftp/http吗?它可以是ftp或任何其他通信方式。。我只是想知道什么是最好的沟通方式??输入数据的格式是什么?csv文件?Xml文件?excel文件?如何访问数据?它在数据库中吗?文件共享?FTP/HTTP?自定义TCP协议?或者,您是否在询问数据库/fileshare/ftp/http/custom中的哪一种是从UNIX设备获取数据的最佳方式?到目前为止,这个问题非常模糊。