Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.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
Sockets .NET互操作性问题_Sockets - Fatal编程技术网

Sockets .NET互操作性问题

Sockets .NET互操作性问题,sockets,Sockets,首先,这是一个后续问题。感谢所有回应的人,这对我帮助很大 最近,我的一些要求发生了变化。出现的主要障碍是,除了Windows之外,我现在还必须支持Linux客户机。我需要在服务器端使用.NET。我还需要保持与客户端或轮询的持久连接。我希望社区对以下选项提供反馈: 使用更简单版本的发布子模型。我在服务器上有一个web服务,客户端不断轮询它,我预先打包了需要在客户端运行的脚本/二进制文件,并通过该服务从服务器发出命令。服务器将客户机的任务放入队列中,客户机将其拾取。这个模型变得高度可互操作,因为我可

首先,这是一个后续问题。感谢所有回应的人,这对我帮助很大

最近,我的一些要求发生了变化。出现的主要障碍是,除了Windows之外,我现在还必须支持Linux客户机。我需要在服务器端使用.NET。我还需要保持与客户端或轮询的持久连接。我希望社区对以下选项提供反馈:

使用更简单版本的发布子模型。我在服务器上有一个web服务,客户端不断轮询它,我预先打包了需要在客户端运行的脚本/二进制文件,并通过该服务从服务器发出命令。服务器将客户机的任务放入队列中,客户机将其拾取。这个模型变得高度可互操作,因为我可以在任何平台上编写客户端。此外,由于http,我不必担心客户端的防火墙。然而,我担心的是,我可能不得不每隔几秒钟对1000个客户进行一次轮询。我读过有关Comet的文章,但不幸的是,在C中实现Comet似乎花费了很多精力

使用普通套接字,从客户端创建持久连接并使用这些管道。这里,我关心的是持久连接,我需要它们来控制客户端,它们在NAT后面。通常,我看到人们为每个连接创建一个线程,我认为这是不可伸缩的。我说得对吗?异步调用/套接字是否选择了更好的方式


如有任何意见,将不胜感激。

使用标准套接字进行通信将可在不同的操作系统之间移植。普通tcp套接字是一种非常成熟的技术。您还可以使用位于套接字之上的web服务http。Web服务在跨越internet防火墙等问题时更实用。

谢谢,我决定使用普通TCP套接字!