Windows服务通信,套接字,c#

时间:2013-04-19 07:43:28

标签: c# windows sockets service

我正在编写一个服务器端应用程序和一个需要安装在远程主机上的Windows服务 该服务将CPU使用率返回到服务器端应用程序 - 这不是问题所在 serverside应用程序在远程主机上部署服务。 - 也就是说,不是问题

问题: 但是,当我不想硬编码IP地址时,如何在两者之间设置套接字连接? (为了扩展性) - 我需要使用多播还是有一些狡猾的方法呢?有没有比使用套接字的解决方案? - 我是编写Windows服务的新手。

我需要帮助找出如何在服务器和服务之间进行通信,而无需对IP-addr进行硬编码。

提前谢谢。

我的解决方案: 我创建了一个Windows服务,它使用Server应用程序的IP和端口读取xml文件。因此,当我部署我的客户端应用程序时,我还会创建一个包含网络信息的xml文件。 关心亚历克斯

2 个答案:

答案 0 :(得分:1)

现在很多通信平台都在使用网络发现;有关于codeproject的文章详细介绍了如何使用网络发现。

  

问题是,我不知道服务器运行的是什么机器名,实际上我希望这是灵活的,并且可由用户选择。

似乎与http://www.codeproject.com/Articles/16113/Retreiving-a-list-of-network-computer-names-using

相关

您是否考虑过使用WCF?

http://msdn.microsoft.com/en-us/library/ms731082.aspx

关于多播,您可以让WCF服务器多播宣布它在网络上的可用性;见http://msdn.microsoft.com/en-us/library/dd456782.aspx

答案 1 :(得分:0)

另一种解决方案可能是将服务创建为带有参数的控制台应用程序(端点IP地址),然后只使用远程主机上的参数进行部署