如何将WCF服务配置为正常的TCP服务器?
如何配置我的WCF服务作为普通的TCP服务器工作?是否可以禁用所有绑定特定的东西,以保持您的服务URL像http://example.com:4444/service,并能够使用纯HTTP/TCP流?如何将WCF服务配置为正常的TCP服务器?
我需要能够与TCP流一起使用WCF服务...所以我必须从我的一个WCF服务或(我不知道如何)使自我托管的WCF服务与我的独立TCP服务器配合使用。然而,我只是无法找到如何让他们共享相同的端口,以便能够呼叫http://example.com:4444/WCFservice/http://example.com:4444/TCPserver/(我必须让他们分享;取2个端口不是一个选项。)
将TCP端点添加到服务的最简单方法是修改web.config文件,使其与“WCF服务配置编辑器”相关。你可以在web.config的上下文菜单的Visual Studio的“工具”菜单中找到它(同样在VS中)。您需要使用netTcpBinding添加新的端点。这个新端点的地址将以“net.tcp://”开头。欲了解更多信息,你可以阅读http://msdn.microsoft.com/en-us/library/cc949080.aspx。
对于net.tcp端口共享读取http://msdn.microsoft.com/en-us/library/aa395195.aspx或谷歌for:wcf tcp端点端口共享。
的WCF 4的新特性好好检讨,你可以在http://msdn.microsoft.com/en-us/library/ee354381.aspx
找到并把它容易,如果有人不明白的优势WCF与Winsocket的编程进行比较。 15年前,我用插座,发现它很酷。然后,我使用了RPC,DCOM等。现在,如果考虑对端点进行身份验证,WCF是最好的方法。所以采取一些以前的评论容易。
我的网址不应该以net.tcp开头......我需要能够通过adobe flash来访问它......因此,Flash Java等客户端用于使用套接字向我写入数据流 - 我给它们他们开始写实时相机视频流的URL ......我的TCP服务器读取它......我想让tham保持这样或类似的方式...是否有可能与net.tcp?我可以不在其中串行化消息 - 只需制作简单的寻址系统,如http://example.com:4444/WCFservice.svc?id=666? – Rella 2010-04-18 00:09:12
@Ole Jak:WCF中的netTcpBinding只能通过'net.tcp:// ....'URL来使用 - 就是这样,如果这不适合你,那么你需要使用其他的东西比WCF。 – 2010-04-18 09:34:28
对不起,但像example.com:4444/WCFservice.svc?id=666这样的字符串不是URL。您必须至少像“http:// ...”或“net.tcp://”一样定义数据交换协议。真正的协议不止是http或tcp。你应该有一个客户端和服务器之间的真实合同。如果您需要实现由Flash定义的协议,则应搜索相应的示例或直接查看文档。在我看来,Donal Fellow拥有的问题就是另外一个问题,它问这个问题。 – Oleg 2010-04-18 18:49:57
如果你想要使用纯TCP流,您可能会直接使用套接字而不是WCF。
当你希望在传输层为你自动实现东西时使用WCF。
我需要能够与WCF服务配对使用TCP流......所以我必须从我的WCF服务之一制作TCP服务器或(并且我不知道如何)使自己托管的WCF服务能够在对中工作与我独立的TCP服务器,我只是不能找到如何让他们共享相同的端口(我必须让他们分享 - 取2个端口不是一个选项)你能给我任何帮助吗?请。 – Rella 2010-04-17 22:50:31
如果你不想要“绑定特定的垃圾”,那么为什么使用WCF呢?使用WCF作为实时流协议的这种注意事项是什么? – Aaronaught 2010-04-17 22:49:24